{"version":3,"mappings":"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AAC,EAClD,gDAAkC,MAClC,wFAAiB,MACjB,6CAAS,MACT,aAAW,MACX,uBAAe,iBAEL+e,GAAY,UAAW,gBAAgB,oBACpCA,GAAY,UAAW,gBAAgB,EAGpCL,8DAAW,kBAAkB,+BAG3BA,EAAW,uBAAuB,EAAC,IAE1D,EC5JD,SAASijD,GAAaC,EAAM,CAC1B,MAAMhZ,EAAQgZ,EAAK,MACbC,EAAW,2BACXC,EAAclZ,EAAM,OACxBiZ,EACAjZ,EAAM,OAAO,OAAQiZ,EAAU,IAAI,CACvC,EACQE,EAA4B,iCAE5BC,EAAoB,CACxB,UAAW,WACX,MAAO,SACP,IAAKH,EACL,UAAW,EACf,EA6DE,MAAO,CACL,KAAM,eACN,QAAS,CAAE,IAAM,EACjB,SAAU,CACR,QA/Da,CACf,KACA,QACA,OACA,QACA,QACA,QACA,WACA,UACA,SACA,KACA,UACA,OACA,OACA,UACA,QACA,UACA,MACA,WACA,MACA,KACA,aACA,SACA,KACA,UACA,aACA,YACA,WACA,KACA,YACA,SACA,MACA,WACA,UACA,UACA,YACA,SACA,SACA,MACA,SACA,QACA,SACA,OACA,QACA,MACA,SACA,MACA,MACA,OACA,QACA,MACJ,EAaM,QAZa,CACf,OACA,QACA,OACA,WACJ,CAQK,EACD,SAAU,CACRD,EAAK,iBACLA,EAAK,kBACLA,EAAK,oBACLA,EAAK,qBACLA,EAAK,cACL,CACE,MAAO,CACL,YACA,MACAE,CACD,EACD,UAAW,CACT,EAAG,UACH,EAAG,aACJ,CACF,EACD,CACE,MAAO,CACL,2CACA,MACAD,CACD,EACD,UAAW,CACT,EAAG,UACH,EAAG,aACJ,CACF,EACD,CACE,UAAW,OACX,cAAe,iBACf,IAAK,IACL,SAAU,CAAE,QAAS,gBAAkB,CACxC,EACD,CACE,cAAe,WACf,IAAK,OACL,WAAY,GACZ,QAAS,KACT,SAAU,CACRD,EAAK,QAAQA,EAAK,WAAY,CAAE,UAAW,iBAAkB,EAC7D,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAU,CACRA,EAAK,iBACLA,EAAK,kBACLA,EAAK,oBACLA,EAAK,qBACLI,CACD,CACF,EACD,CAAE,MAAOpZ,EAAM,OAAO,OAAQmZ,CAAyB,CAAG,CAC3D,CACF,EACDH,EAAK,YACN,EACD,QAAS,GACb,CACA,CC7IA,SAASK,GAAKL,EAAM,CAClB,MAAMhZ,EAAQgZ,EAAK,MACbM,EAAM,GACNC,EAAa,CACjB,MAAO,OACP,IAAK,KACL,SAAU,CACR,OACA,CACE,MAAO,KACP,SAAU,CAAED,CAAK,CAClB,CACF,CACL,EACE,OAAO,OAAOA,EAAK,CACjB,UAAW,WACX,SAAU,CACR,CAAE,MAAOtZ,EAAM,OAAO,qBAGpB,qBAAqB,CAAG,EAC1BuZ,CACD,CACL,CAAG,EAED,MAAMC,EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAER,EAAK,gBAAkB,CACvC,EACQS,EAAUT,EAAK,QACnBA,EAAK,QAAS,EACd,CACE,MAAO,CACL,SACA,MACD,EACD,MAAO,CACL,EAAG,SACJ,CACF,CACL,EACQU,EAAW,CACf,MAAO,iBACP,OAAQ,CAAE,SAAU,CAClBV,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,UAAW,QACnB,CAAO,CACP,CAAO,CACP,EACQW,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRX,EAAK,iBACLM,EACAE,CACD,CACL,EACEA,EAAM,SAAS,KAAKG,CAAY,EAChC,MAAMC,EAAgB,CACpB,MAAO,KACX,EACQC,EAAc,CAClB,UAAW,SACX,MAAO,IACP,IAAK,GACT,EACQC,EAAe,CACnB,MAAO,KACX,EACQC,EAAa,CACjB,MAAO,UACP,IAAK,OACL,SAAU,CACR,CACE,MAAO,gBACP,UAAW,QACZ,EACDf,EAAK,YACLM,CACD,CACL,EACQU,EAAiB,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,MACJ,EACQC,EAAgBjB,EAAK,QAAQ,CACjC,OAAQ,IAAIgB,EAAe,KAAK,GAAG,CAAC,IACpC,UAAW,EACf,CAAG,EACKE,EAAW,CACf,UAAW,WACX,MAAO,4BACP,YAAa,GACb,SAAU,CAAElB,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,YAAY,CAAE,CAAG,EACpE,UAAW,CACf,EAEQmB,EAAW,CACf,KACA,OACA,OACA,OACA,KACA,MACA,QACA,QACA,KACA,KACA,OACA,OACA,OACA,WACA,QACJ,EAEQC,EAAW,CACf,OACA,OACJ,EAGQC,EAAY,CAAE,MAAO,kBAGrBC,EAAkB,CACtB,QACA,KACA,WACA,OACA,OACA,OACA,SACA,UACA,OACA,MACA,WACA,SACA,QACA,OACA,QACA,OACA,QACA,OACJ,EAEQC,EAAiB,CACrB,QACA,OACA,UACA,SACA,UACA,UACA,OACA,SACA,OACA,MACA,QACA,SACA,UACA,SACA,OACA,YACA,SACA,OACA,OACA,UACA,SACA,SACJ,EAEQC,EAAgB,CACpB,WACA,KACA,UACA,MACA,MACA,QACA,QACA,gBACA,WACA,UACA,eACA,YACA,aACA,YACA,WACA,UACA,aACA,OACA,UACA,SACA,SACA,SACA,UACA,KACA,KACA,QACA,YACA,SACA,QACA,UACA,UACA,OACA,OACA,QACA,MACA,SACA,OACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,SACA,aACA,SACA,UACA,WACA,QACA,OACA,SACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,aACA,QACA,OACA,cACA,UACA,SACA,MACJ,EAEQC,EAAiB,CACrB,QACA,QACA,QACA,QACA,KACA,KACA,KACA,MACA,YACA,KACA,KACA,QACA,SACA,QACA,SACA,KACA,WACA,KACA,QACA,QACA,OACA,QACA,WACA,OACA,QACA,SACA,SACA,MACA,QACA,OACA,SACA,MACA,SACA,MACA,OACA,OACA,OACA,SACA,KACA,SACA,KACA,QACA,MACA,KACA,UACA,YACA,YACA,YACA,YACA,OACA,OACA,QACA,MACA,MACA,OACA,KACA,QACA,WACA,OACA,KACA,OACA,WACA,SACA,OACA,UACA,KACA,OACA,MACA,OACA,SAEA,SACA,SACA,KACA,OACA,UACA,OACA,QACA,QACA,UACA,QACA,WACA,SACA,MACA,WACA,SACA,MACA,QACA,OACA,SACA,OACA,MACA,OACA,UAEA,MACA,QACA,SACA,SACA,QACA,MACA,SACA,KACJ,EAEE,MAAO,CACL,KAAM,OACN,QAAS,CACP,KACA,KACD,EACD,SAAU,CACR,SAAU,wBACV,QAASN,EACT,QAASC,EACT,SAAU,CACR,GAAGE,EACH,GAAGC,EAEH,MACA,QACA,GAAGC,EACH,GAAGC,CACJ,CACF,EACD,SAAU,CACRR,EACAjB,EAAK,QAAS,EACdkB,EACAH,EACAN,EACAC,EACAW,EACAV,EACAC,EACAC,EACAC,EACAR,CACD,CACL,CACA,CC7YA,SAASxsD,GAAEksD,EAAM,CACf,MAAMhZ,EAAQgZ,EAAK,MAIb0B,EAAsB1B,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAQ,EAAI,GACjF2B,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,IACrBF,EAAmB,IACnB3a,EAAM,SAAS4a,CAAY,EAC3B,gBAAkB5a,EAAM,SAJC,UAI4B,EACvD,IAGI8a,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,oBAAsB,EAC/B,CAAE,MAAO,uBAAyB,CACnC,CAEL,EAKQC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAE/B,EAAK,gBAAkB,CACpC,EACD,CACE,MAAO,eAXa,uDAWyB,MAC7C,IAAK,IACL,QAAS,GACV,EACDA,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACb,CAAO,CACF,CACL,EAEQgC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAkB,EAC3B,CAAE,MAAO,uFAA4F,EACrG,CAAE,MAAO,qFAA4F,CACtG,EACD,UAAW,CACf,EAEQC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,yGAC0D,EAC9D,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACZ,EACDjC,EAAK,QAAQ+B,EAAS,CAAE,UAAW,QAAQ,CAAE,EAC7C,CACE,UAAW,SACX,MAAO,OACR,EACDL,EACA1B,EAAK,oBACN,CACL,EAEQkC,EAAa,CACjB,UAAW,QACX,MAAOlb,EAAM,SAAS4a,CAAY,EAAI5B,EAAK,SAC3C,UAAW,CACf,EAEQmC,EAAiBnb,EAAM,SAAS4a,CAAY,EAAI5B,EAAK,SAAW,UAoFhEmB,EAAW,CACf,QAnFiB,CACjB,MACA,OACA,QACA,OACA,WACA,UACA,KACA,OACA,OACA,SACA,MACA,UACA,OACA,KACA,SACA,WACA,WACA,SACA,SACA,SACA,gBACA,SACA,SACA,UACA,QACA,WACA,QACA,WACA,WACA,UACA,WACA,YACA,iBACA,gBAEA,UACA,UACA,WACA,gBACA,eAEA,SACJ,EAyCI,KAvCc,CACd,QACA,SACA,SACA,WACA,MACA,QACA,OACA,OACA,OACA,QACA,UACA,WACA,aACA,aACA,aACA,aACA,cACA,cACA,eACA,WACA,WACA,WACA,YACA,YACA,YACA,aAEA,QACA,SACA,YAEA,UACA,OACA,WACJ,EAKI,QAAS,kBAET,SAAU,kzBASd,EAEQiB,EAAsB,CAC1BH,EACAH,EACAJ,EACA1B,EAAK,qBACLgC,EACAD,CACJ,EAEQM,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACN,EACD,CACE,MAAO,KACP,IAAK,IACN,EACD,CACE,cAAe,wBACf,IAAK,GACN,CACF,EACD,SAAUlB,EACV,SAAUiB,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUjB,EACV,SAAUiB,EAAoB,OAAO,CAAE,MAAM,CAAE,EAC/C,UAAW,CACZ,CACP,CAAK,EACD,UAAW,CACf,EAEQE,EAAuB,CAC3B,MAAO,IAAMT,EAAmB,eAAiBM,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUhB,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOQ,EACP,SAAUR,EACV,UAAW,CACZ,EACD,CACE,MAAOgB,EACP,YAAa,GACb,SAAU,CAAEnC,EAAK,QAAQkC,EAAY,CAAE,UAAW,gBAAgB,CAAE,CAAG,EACvE,UAAW,CACZ,EAGD,CACE,UAAW,EACX,MAAO,GACR,EACD,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUf,EACV,UAAW,EACX,SAAU,CACRO,EACA1B,EAAK,qBACL+B,EACAC,EACAF,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUX,EACV,UAAW,EACX,SAAU,CACR,OACAO,EACA1B,EAAK,qBACL+B,EACAC,EACAF,CACD,CACF,CACF,CACF,EACDA,EACAJ,EACA1B,EAAK,qBACLiC,CACD,CACL,EAEE,MAAO,CACL,KAAM,IACN,QAAS,CAAE,GAAK,EAChB,SAAUd,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,CAAE,EAAC,OACXkB,EACAC,EACAF,EACA,CACEH,EACA,CACE,MAAOjC,EAAK,SAAW,KACvB,SAAUmB,CACX,EACD,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,oBAAsB,EACvCnB,EAAK,UACN,CACF,CACT,CAAO,EACH,QAAS,CACP,aAAciC,EACd,QAASF,EACT,SAAUZ,CACX,CACL,CACA,CClUA,SAASoB,GAAIvC,EAAM,CACjB,MAAMhZ,EAAQgZ,EAAK,MAIb0B,EAAsB1B,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAQ,EAAI,GACjF2B,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,cACrBF,EAAmB,IACnB3a,EAAM,SAAS4a,CAAY,EAC3B,gBAAkB5a,EAAM,SAJC,UAI4B,EACvD,IAEIwb,EAAsB,CAC1B,UAAW,OACX,MAAO,oBACX,EAKQT,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAE/B,EAAK,gBAAkB,CACpC,EACD,CACE,MAAO,eAXa,uDAWyB,MAC7C,IAAK,IACL,QAAS,GACV,EACDA,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACb,CAAO,CACF,CACL,EAEQgC,EAAU,CACd,UAAW,SACX,SAAU,CAER,CAAE,MACA,8UAkBD,EAED,CAAE,MACA,6JAcD,CACF,EACD,UAAW,CACf,EAEQC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACyC,EAC7C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACZ,EACDjC,EAAK,QAAQ+B,EAAS,CAAE,UAAW,QAAQ,CAAE,EAC7C,CACE,UAAW,SACX,MAAO,OACR,EACDL,EACA1B,EAAK,oBACN,CACL,EAEQkC,EAAa,CACjB,UAAW,QACX,MAAOlb,EAAM,SAAS4a,CAAY,EAAI5B,EAAK,SAC3C,UAAW,CACf,EAEQmC,EAAiBnb,EAAM,SAAS4a,CAAY,EAAI5B,EAAK,SAAW,UAGhEyC,EAAoB,CACxB,UACA,UACA,MACA,SACA,MACA,gBACA,gBACA,kBACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,YACA,WACA,QACA,UACA,gBACA,YACA,YACA,YACA,WACA,WACA,UACA,SACA,KACA,kBACA,OACA,OACA,WACA,SACA,SACA,QACA,QACA,MACA,SACA,OACA,KACA,SACA,SACA,SACA,UACA,YACA,MACA,WACA,MACA,SACA,UACA,WACA,KACA,QACA,WACA,UACA,YACA,SACA,WACA,WACA,sBACA,WACA,SACA,SACA,gBACA,iBACA,SACA,SACA,eACA,WACA,OACA,eACA,QACA,mBACA,2BACA,OACA,MACA,UACA,SACA,WACA,QACA,QACA,UACA,WACA,QACA,MACA,QACJ,EAGQC,EAAiB,CACrB,OACA,OACA,WACA,WACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,UACA,WACA,SACA,QACA,QACJ,EAEQC,EAAa,CACjB,MACA,WACA,UACA,mBACA,SACA,UACA,qBACA,yBACA,qBACA,QACA,aACA,SACA,YACA,mBACA,gBACA,UACA,QACA,aACA,WACA,WACA,QACA,WACA,gBACA,gBACA,OACA,UACA,iBACA,QACA,kBACA,wBACA,cACA,MACA,gBACA,cACA,eACA,qBACA,aACA,QACA,cACA,eACA,cACA,SACA,YACA,QACA,cACA,aACA,gBACA,qBACA,qBACA,gBACA,UACA,SACA,WACA,UACA,cACJ,EAEQC,EAAiB,CACrB,QACA,MACA,OACA,QACA,WACA,OACA,OACA,QACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,OACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,OACA,UACA,QACA,MACA,QACA,YACA,cACA,4BACA,aACA,cACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,MACA,SACA,UACA,OACA,UACA,QACA,MACA,OACA,WACA,UACA,OACA,SACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,OACA,YACA,gBACA,UACA,UACA,WACA,QACA,UACA,UACJ,EAaQC,EAAe,CACnB,KAAMH,EACN,QAASD,EACT,QAde,CACf,OACA,QACA,UACA,UACA,MACJ,EASI,SANe,CAAE,WAOjB,YAAaE,CACjB,EAEQG,EAAoB,CACxB,UAAW,oBACX,UAAW,EACX,SAAU,CAER,MAAOF,CAAgB,EACzB,MAAO5b,EAAM,OACX,KACA,eACA,SACA,UACA,aACA,YACAgZ,EAAK,SACLhZ,EAAM,UAAU,kBAAkB,CAAC,CACzC,EAEQob,EAAsB,CAC1BU,EACAb,EACAO,EACAd,EACA1B,EAAK,qBACLgC,EACAD,CACJ,EAEQM,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACN,EACD,CACE,MAAO,KACP,IAAK,IACN,EACD,CACE,cAAe,wBACf,IAAK,GACN,CACF,EACD,SAAUQ,EACV,SAAUT,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUS,EACV,SAAUT,EAAoB,OAAO,CAAE,MAAM,CAAE,EAC/C,UAAW,CACZ,CACP,CAAK,EACD,UAAW,CACf,EAEQE,EAAuB,CAC3B,UAAW,WACX,MAAO,IAAMT,EAAmB,eAAiBM,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUU,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOlB,EACP,SAAUkB,EACV,UAAW,CACZ,EACD,CACE,MAAOV,EACP,YAAa,GACb,SAAU,CAAED,CAAY,EACxB,UAAW,CACZ,EAGD,CACE,MAAO,KACP,UAAW,CACZ,EAED,CACE,MAAO,IACP,eAAgB,GAChB,SAAU,CACRH,EACAC,CACD,CACF,EAGD,CACE,UAAW,EACX,MAAO,GACR,EACD,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUa,EACV,UAAW,EACX,SAAU,CACRnB,EACA1B,EAAK,qBACL+B,EACAC,EACAQ,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUK,EACV,UAAW,EACX,SAAU,CACR,OACAnB,EACA1B,EAAK,qBACL+B,EACAC,EACAQ,CACD,CACF,CACF,CACF,EACDA,EACAd,EACA1B,EAAK,qBACLiC,CACD,CACL,EAEE,MAAO,CACL,KAAM,MACN,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,KACD,EACD,SAAUY,EACV,QAAS,KACT,iBAAkB,CAAE,oBAAqB,UAAY,EACrD,SAAU,CAAE,EAAC,OACXR,EACAC,EACAQ,EACAV,EACA,CACEH,EACA,CACE,MAAO,4MACP,IAAK,IACL,SAAUY,EACV,SAAU,CACR,OACAL,CACD,CACF,EACD,CACE,MAAOxC,EAAK,SAAW,KACvB,SAAU6C,CACX,EACD,CACE,MAAO,CAEL,wDACA,MACA,KACD,EACD,UAAW,CACT,EAAG,UACH,EAAG,aACJ,CACF,CACT,CAAO,CACP,CACA,CC/kBA,SAASE,GAAO/C,EAAM,CACpB,MAAMgD,EAAoB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,QACJ,EACQC,EAAqB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,SACJ,EACQC,EAAmB,CACvB,UACA,QACA,OACA,MACJ,EACQC,EAAkB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,OACJ,EACQC,EAAsB,CAC1B,MACA,QACA,MACA,YACA,QACA,QACA,KACA,aACA,SACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,OACJ,EAEQjC,EAAW,CACf,QAASgC,EAAgB,OAAOC,CAAmB,EACnD,SAAUJ,EACV,QAASE,CACb,EACQhB,EAAalC,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,oBAAoB,CAAE,EAC1EgC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAkB,EAC3B,CAAE,MAAO,iEAAsE,EAC/E,CAAE,MAAO,qFAA4F,CACtG,EACD,UAAW,CACf,EACQqB,EAAa,CACjB,UAAW,SACX,MAAO,4BACP,UAAW,CACf,EACQC,EAAkB,CACtB,UAAW,SACX,MAAO,KACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAQ,CACjC,EACQC,EAAwBvD,EAAK,QAAQsD,EAAiB,CAAE,QAAS,IAAI,CAAE,EACvE9C,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUW,CACd,EACQqC,EAAcxD,EAAK,QAAQQ,EAAO,CAAE,QAAS,IAAI,CAAE,EACnDiD,EAAsB,CAC1B,UAAW,SACX,MAAO,MACP,IAAK,IACL,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAQ,EACjB,CAAE,MAAO,MAAQ,EACjBzD,EAAK,iBACLwD,CACD,CACL,EACQE,EAA+B,CACnC,UAAW,SACX,MAAO,OACP,IAAK,IACL,SAAU,CACR,CAAE,MAAO,MAAQ,EACjB,CAAE,MAAO,MAAQ,EACjB,CAAE,MAAO,IAAM,EACflD,CACD,CACL,EACQmD,EAAqC3D,EAAK,QAAQ0D,EAA8B,CACpF,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAQ,EACjB,CAAE,MAAO,MAAQ,EACjB,CAAE,MAAO,IAAM,EACfF,CACD,CACL,CAAG,EACDhD,EAAM,SAAW,CACfkD,EACAD,EACAH,EACAtD,EAAK,iBACLA,EAAK,kBACLgC,EACAhC,EAAK,oBACT,EACEwD,EAAY,SAAW,CACrBG,EACAF,EACAF,EACAvD,EAAK,iBACLA,EAAK,kBACLgC,EACAhC,EAAK,QAAQA,EAAK,qBAAsB,CAAE,QAAS,KAAM,CAC7D,EACE,MAAM4D,EAAS,CAAE,SAAU,CACzBP,EACAK,EACAD,EACAH,EACAtD,EAAK,iBACLA,EAAK,iBACT,GAEQ6D,EAAmB,CACvB,MAAO,IACP,IAAK,IACL,SAAU,CACR,CAAE,cAAe,QAAU,EAC3B3B,CACD,CACL,EACQ4B,EAAgB9D,EAAK,SAAW,KAAOA,EAAK,SAAW,aAAeA,EAAK,SAAW,iBACtF+D,EAAgB,CAGpB,MAAO,IAAM/D,EAAK,SAClB,UAAW,CACf,EAEE,MAAO,CACL,KAAM,KACN,QAAS,CACP,KACA,IACD,EACD,SAAUmB,EACV,QAAS,KACT,SAAU,CACRnB,EAAK,QACH,MACA,IACA,CACE,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,UAAW,CACZ,EACD,CAAE,MAAO,UAAY,EACrB,CACE,MAAO,MACP,IAAK,GACN,CACF,CACF,CACF,CACF,CACF,EACDA,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,CAAE,QAAS,qFAAuF,CAC7G,EACD4D,EACA5B,EACA,CACE,cAAe,kBACf,UAAW,EACX,IAAK,QACL,QAAS,UACT,SAAU,CACR,CAAE,cAAe,aAAe,EAChCE,EACA2B,EACA7D,EAAK,oBACLA,EAAK,oBACN,CACF,EACD,CACE,cAAe,YACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRkC,EACAlC,EAAK,oBACLA,EAAK,oBACN,CACF,EACD,CACE,cAAe,SACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRkC,EACA2B,EACA7D,EAAK,oBACLA,EAAK,oBACN,CACF,EACD,CAEE,UAAW,OACX,MAAO,oBACP,aAAc,GACd,IAAK,MACL,WAAY,GACZ,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACN,CACF,CACF,EACD,CAGE,cAAe,8BACf,UAAW,CACZ,EACD,CACE,UAAW,WACX,MAAO,IAAM8D,EAAgB,SAAW9D,EAAK,SAAW,wBACxD,YAAa,GACb,IAAK,WACL,WAAY,GACZ,SAAUmB,EACV,SAAU,CAER,CACE,cAAe8B,EAAmB,KAAK,GAAG,EAC1C,UAAW,CACZ,EACD,CACE,MAAOjD,EAAK,SAAW,wBACvB,YAAa,GACb,SAAU,CACRA,EAAK,WACL6D,CACD,EACD,UAAW,CACZ,EACD,CAAE,MAAO,MAAQ,EACjB,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAU1C,EACV,UAAW,EACX,SAAU,CACRyC,EACA5B,EACAhC,EAAK,oBACN,CACF,EACDA,EAAK,oBACLA,EAAK,oBACN,CACF,EACD+D,CACD,CACL,CACA,CCnZA,MAAMC,GAAShE,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACR,EACD,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACR,EACD,kBAAmB,CACjB,UAAW,WACX,MAAO,cACR,EACD,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACN,CACF,EACD,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACZ,EACD,aAAc,CACZ,UAAW,OACX,MAAO,2BACR,CACL,GAGMiE,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAI,EAAG,UAGHC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAI,EAAG,UAGHC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAI,EAAG,UAEHC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,aACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,wBACA,0BACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,KACA,KACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,oBACA,cACA,oBACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,cACA,gBACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,QACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,UACA,kBACA,gBACA,eACA,OACA,iBACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,aACA,aACA,eACA,OACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,QACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,QACA,WACA,MACA,WACA,eACA,cACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,wBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,gBACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,SACF,EAAE,KAAI,EAAG,UAUT,SAASx4C,GAAIi0C,EAAM,CACjB,MAAMhZ,EAAQgZ,EAAK,MACbwE,EAAQR,GAAMhE,CAAI,EAClByE,EAAgB,CAAE,MAAO,gCACzBC,EAAe,kBACfC,EAAiB,oBACjB1E,EAAW,0BACX8B,EAAU,CACd/B,EAAK,iBACLA,EAAK,iBACT,EAEE,MAAO,CACL,KAAM,MACN,iBAAkB,GAClB,QAAS,UACT,SAAU,CAAE,iBAAkB,SAAW,EACzC,iBAAkB,CAGhB,iBAAkB,cAAgB,EACpC,SAAU,CACRwE,EAAM,cACNC,EAGAD,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACZ,EACD,CACE,UAAW,iBACX,MAAO,MAAQvE,EACf,UAAW,CACZ,EACDuE,EAAM,wBACN,CACE,UAAW,kBACX,SAAU,CACR,CAAE,MAAO,KAAOH,GAAe,KAAK,GAAG,EAAI,GAAK,EAChD,CAAE,MAAO,SAAWC,GAAgB,KAAK,GAAG,EAAI,GAAK,CACtD,CACF,EAODE,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASD,GAAW,KAAK,GAAG,EAAI,MACxC,EAED,CACE,MAAO,IACP,IAAK,QACL,SAAU,CACRC,EAAM,cACNA,EAAM,SACNA,EAAM,UACNA,EAAM,gBACN,GAAGzC,EAIH,CACE,MAAO,mBACP,IAAK,KACL,UAAW,EACX,SAAU,CAAE,SAAU,cAAgB,EACtC,SAAU,CACR,GAAGA,EACH,CACE,UAAW,SAGX,MAAO,OACP,eAAgB,GAChB,WAAY,EACb,CACF,CACF,EACDyC,EAAM,iBACP,CACF,EACD,CACE,MAAOxd,EAAM,UAAU,GAAG,EAC1B,IAAK,OACL,UAAW,EACX,QAAS,IACT,SAAU,CACR,CACE,UAAW,UACX,MAAO2d,CACR,EACD,CACE,MAAO,KACP,eAAgB,GAChB,WAAY,GACZ,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAASD,EACT,UAAWN,GAAe,KAAK,GAAG,CACnC,EACD,SAAU,CACR,CACE,MAAO,eACP,UAAW,WACZ,EACD,GAAGrC,EACHyC,EAAM,eACP,CACF,CACF,CACF,EACD,CACE,UAAW,eACX,MAAO,OAASL,GAAK,KAAK,GAAG,EAAI,MAClC,CACF,CACL,CACA,CCz0BA,SAASS,GAAK5E,EAAM,CAClB,MAAMQ,EAAQ,CACZ,UAAW,QACX,SAAU,CAAE,CAAE,MAAO,mBAAsB,CAC/C,EAEQqE,EAAe,CACnB,UAAW,QACX,SAAU,CACR,CACE,MAAO,OACP,IAAK,IACN,CACF,EACD,SAAU,mCACd,EAEQjB,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAO,OACP,IAAK,KACN,EACD,CACE,MAAO,OACP,IAAK,KACN,EACD,CACE,MAAO,KACP,IAAK,IACL,QAAS,KACV,EACD,CACE,MAAO,KACP,IAAK,IACL,QAAS,KACV,EACD,CACE,MAAO,MACP,IAAK,MACL,SAAU,CACR5D,EAAK,iBACLQ,EACAqE,CACD,CACF,EACD,CACE,MAAO,MACP,IAAK,MACL,SAAU,CACR7E,EAAK,iBACLQ,EACAqE,CACD,CACF,EACD,CACE,MAAO,IACP,IAAK,IACL,QAAS,MACT,SAAU,CACR7E,EAAK,iBACLQ,EACAqE,CACD,CACF,EACD,CACE,MAAO,IACP,IAAK,IACL,QAAS,MACT,SAAU,CACR7E,EAAK,iBACLQ,EACAqE,CACD,CACF,CACF,CACL,EACEA,EAAa,SAAW,CACtB7E,EAAK,cACL4D,CACJ,EAEE,MAAMkB,EAAiB,CAErB,aACA,WACA,WACA,WACA,WACA,WACA,OACA,MACA,QACA,SACA,UACA,SACA,MACA,YACA,SACA,eACA,aACA,SACA,OACA,MACA,OACA,SACA,MACA,MAEA,UACA,aACJ,EACQC,EAA0BD,EAAe,IAAKnhE,GAAM,GAAGA,CAAC,GAAG,EA2FjE,MAAO,CACL,KAAM,OACN,SAtBe,CACf,QAtEqB,CACrB,WACA,KACA,SACA,QACA,QACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,YACA,UACA,WACA,KACA,UACA,OACA,OACA,SACA,UACA,YACA,WACA,UACA,QACA,QACA,UACA,MACA,WACA,MACA,OACA,KACA,aACA,SACA,KACA,YACA,KACA,OACA,UACA,QACA,MACA,OACA,KACA,WACA,OACA,WACA,UACA,SACA,SACA,MACA,OACA,SACA,QACA,SACA,OACA,OACA,QACA,OACA,MACA,UACA,MACA,OACA,OACA,QACA,OACA,OACJ,EAII,SACEmhE,EACG,OAAOC,CAAuB,EAC9B,OAAO,CAEN,QACA,OACA,UACA,QAEA,WACA,gBACA,mBACA,QACV,CAAS,EACL,SAAU,0BACd,EAKI,SAAU,CACRnB,EACA5D,EAAK,QACH,eACA,OACA,CACE,YAAa,WACb,UAAW,CACZ,CACF,EACDA,EAAK,QACH,WACA,IAAK,CAAE,SAAU,CACf,CACE,YAAa,WACb,MAAO,IACP,IAAK,IACL,UAAW,CACZ,CACX,CAAW,CACJ,EACDA,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,QACX,cAAe,kBACf,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,oBAAsB,EACvCA,EAAK,qBACN,CACF,EACDA,EAAK,cACL,CACE,UAAW,OACX,MAAO,YACR,EACD,CAAE,MAAO,IACR,CACF,CACL,CACA,CCzPA,SAASgF,GAAWhF,EAAM,CAWxB,MAAO,CACL,KAAM,aACN,QAAS,CAAE,QAAU,EACrB,iBAAkB,GAClB,SAde,CACf,OACA,aACA,SACA,MACA,MACA,OACA,UACA,YACJ,EAMI,SAAU,CACRA,EAAK,kBACLA,EAAK,iBACLA,EAAK,kBACLA,EAAK,YACL,CACE,cAAe,qEACf,OAAQ,CACN,IAAK,SACL,YAAa,MACd,CACF,CACF,EACD,QAAS,IACb,CACA,CChCA,SAASiF,GAAGjF,EAAM,CAyEhB,MAAMmB,EAAW,CACf,QA5BU,CACV,QACA,OACA,OACA,QACA,WACA,UACA,QACA,OACA,cACA,MACA,OACA,KACA,OACA,KACA,SACA,YACA,MACA,UACA,QACA,SACA,SACA,SACA,SACA,OACA,KACJ,EAGI,KAnDY,CACZ,OACA,OACA,YACA,aACA,QACA,UACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,SACA,MACA,OACA,UACA,MACJ,EA+BI,QA3Ee,CACf,OACA,QACA,OACA,KACJ,EAuEI,SAtEgB,CAChB,SACA,MACA,QACA,UACA,OACA,OACA,MACA,OACA,MACA,QACA,QACA,UACA,OACA,UACA,QACJ,CAuDA,EACE,MAAO,CACL,KAAM,KACN,QAAS,CAAE,QAAU,EACrB,SAAUA,EACV,QAAS,KACT,SAAU,CACRnB,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,SACX,SAAU,CACRA,EAAK,kBACLA,EAAK,iBACL,CACE,MAAO,IACP,IAAK,GACN,CACF,CACF,EACD,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,6DACP,UAAW,CACZ,EACD,CACE,MAAO,sFACP,UAAW,CACZ,EACD,CACE,MAAO,wBACP,UAAW,CACZ,EACD,CACE,MAAO,uCACP,UAAW,CACZ,EACD,CACE,MAAO,wDACP,UAAW,CACZ,CACF,CACF,EACD,CAAE,MAAO,IACR,EACD,CACE,UAAW,WACX,cAAe,OACf,IAAK,cACL,WAAY,GACZ,SAAU,CACRA,EAAK,WACL,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUmB,EACV,QAAS,MACV,CACF,CACF,CACF,CACL,CACA,CCjJA,SAAS+D,GAAOlF,EAAM,CAqKpB,MAAO,CACL,KAAM,SACN,iBAAkB,GAClB,SAvKe,CACf,OACA,UACA,cACA,cACA,YACA,cACA,iBACA,eACA,eACA,aACA,cACA,SACA,OACA,OACA,UACA,UACA,SACA,YACA,iBACA,WACA,UACA,sBACA,sBACA,QACA,UACA,SACA,UACA,UACA,QACA,UACA,MACA,MACA,WACA,QACA,OACA,QACA,WACA,UACA,KACA,OACA,UACA,QACA,UACA,MACA,KACA,aACA,aACA,SACA,MACA,UACA,YACA,SACA,SACA,SACA,SACA,eACA,QACA,SACA,YACA,MACA,WACA,QACA,WACA,UACA,SACA,QACA,OACA,QACA,OACA,OACA,YACA,aACA,WACA,OACA,UACA,OACA,OACA,QACA,SACA,QACA,MACA,YACA,OACA,QACA,OACA,UACA,UACA,OACA,WACA,MACA,MACA,SACA,SACA,aACA,OACA,UACA,YACA,QACA,MACA,OACA,OACA,WACA,WACA,WACA,QACA,OACA,UACA,UACA,QACA,SACA,QACA,SACA,UACA,OACA,YACA,SACA,UACA,YACA,gBACA,SACA,OACA,YACA,QACA,WACA,iBACA,kBACA,iBACA,YACA,YACA,OACA,OACA,MACA,QACA,WACA,QACA,UACA,OACA,QACA,OACA,YACA,YACA,UACA,cACA,QACA,OACA,OACA,gBACA,OACA,SACA,QACA,YACA,SACA,WACA,OACA,gBACA,kBACA,aACA,aACA,aACA,mBACA,QACA,WACJ,EAKI,SAAU,CACRA,EAAK,oBACLA,EAAK,qBACLA,EAAK,iBACLA,EAAK,kBACLA,EAAK,YACLA,EAAK,WAEN,CACL,CACA,CC1LA,IAAImF,GAAgB,kBAChBC,GAAO,OAAOD,EAAa,IAC3BE,GAAY,8BACZC,GAAU,CACZ,UAAW,SACX,SAAU,CAGR,CAAE,MAAO,QAAQH,EAAa,MAAMC,EAAI,YAAYA,EAAI,eACzCD,EAAa,aAAe,EAE3C,CAAE,MAAO,OAAOA,EAAa,MAAMC,EAAI,8BAAgC,EACvE,CAAE,MAAO,IAAIA,EAAI,aAAe,EAChC,CAAE,MAAO,OAAOD,EAAa,YAAc,EAG3C,CAAE,MAAO,aAAaE,EAAS,UAAUA,EAAS,SAASA,EAAS,eACrDF,EAAa,aAAe,EAG3C,CAAE,MAAO,gCAAkC,EAG3C,CAAE,MAAO,YAAYE,EAAS,WAAa,EAG3C,CAAE,MAAO,wBAA0B,EAGnC,CAAE,MAAO,+BAAiC,CAC3C,EACD,UAAW,CACb,EAqBA,SAASE,GAAW7pC,EAAI8pC,EAAczH,EAAO,CAC3C,OAAIA,IAAU,GAAW,GAElBriC,EAAG,QAAQ8pC,EAAc11D,GACvBy1D,GAAW7pC,EAAI8pC,EAAczH,EAAQ,CAAC,CAC9C,CACH,CAGA,SAAS0H,GAAKzF,EAAM,CAClB,MAAMhZ,EAAQgZ,EAAK,MACb0F,EAAgB,iCAChBC,EAAmBD,EACrBH,GAAW,OAASG,EAAgB,kBAAoBA,EAAgB,WAAY,OAAQ,CAAC,EAqE3FvE,EAAW,CACf,QArEoB,CACpB,eACA,WACA,UACA,MACA,SACA,KACA,SACA,MACA,QACA,WACA,UACA,YACA,SACA,SACA,QACA,OACA,OACA,OACA,QACA,YACA,QACA,aACA,WACA,OACA,SACA,UACA,UACA,SACA,MACA,SACA,WACA,SACA,YACA,SACA,UACA,SACA,WACA,UACA,KACA,SACA,QACA,UACA,MACJ,EA0BI,QAnBe,CACf,QACA,OACA,MACJ,EAgBI,KAdY,CACZ,OACA,UACA,OACA,QACA,MACA,OACA,QACA,QACJ,EAMI,SA1BgB,CAChB,QACA,MACJ,CAwBA,EAEQyE,EAAa,CACjB,UAAW,OACX,MAAO,IAAMF,EACb,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAE,MAAQ,CACrB,CACF,CACL,EACQG,EAAS,CACb,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAU1E,EACV,UAAW,EACX,SAAU,CAAEnB,EAAK,oBAAsB,EACvC,WAAY,EAChB,EAEE,MAAO,CACL,KAAM,OACN,QAAS,CAAE,KAAO,EAClB,SAAUmB,EACV,QAAS,QACT,SAAU,CACRnB,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CAEE,MAAO,OACP,UAAW,CACZ,EACD,CACE,UAAW,SACX,MAAO,YACR,CACF,CACF,CACF,EAED,CACE,MAAO,wBACP,SAAU,SACV,UAAW,CACZ,EACDA,EAAK,oBACLA,EAAK,qBACL,CACE,MAAO,MACP,IAAK,MACL,UAAW,SACX,SAAU,CAAEA,EAAK,gBAAkB,CACpC,EACDA,EAAK,iBACLA,EAAK,kBACL,CACE,MAAO,CACL,oDACA,MACA0F,CACD,EACD,UAAW,CACT,EAAG,UACH,EAAG,aACJ,CACF,EACD,CAEE,MAAO,aACP,MAAO,SACR,EACD,CACE,MAAO,CACL1e,EAAM,OAAO,WAAY0e,CAAa,EACtC,MACAA,EACA,MACA,QACD,EACD,UAAW,CACT,EAAG,OACH,EAAG,WACH,EAAG,UACJ,CACF,EACD,CACE,MAAO,CACL,SACA,MACAA,CACD,EACD,UAAW,CACT,EAAG,UACH,EAAG,aACJ,EACD,SAAU,CACRG,EACA7F,EAAK,oBACLA,EAAK,oBACN,CACF,EACD,CAGE,cAAe,wBACf,UAAW,CACZ,EACD,CACE,MAAO,CACL,MAAQ2F,EAAmB,QAC3B3F,EAAK,oBACL,WACD,EACD,UAAW,CAAE,EAAG,gBAAkB,EAClC,SAAUmB,EACV,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUA,EACV,UAAW,EACX,SAAU,CACRyE,EACA5F,EAAK,iBACLA,EAAK,kBACLsF,GACAtF,EAAK,oBACN,CACF,EACDA,EAAK,oBACLA,EAAK,oBACN,CACF,EACDsF,GACAM,CACD,CACL,CACA,CC/RA,MAAM3F,GAAW,2BACXkB,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,SACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMU,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMgE,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,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,OACX,MAAO,UACP,IAAK,eACL,aAAc,GACd,UAAW,EACZ,EACDyI,EACA7C,CACD,CACF,EACDhC,EACA,CACE,UAAW,OACX,MAAO,kBACP,IAAK,IACL,QAAS;AAAA,CACV,EACD8E,CACD,CACL,CACA,CCnRA,SAASI,GAAW9I,EAAM,CACxB,MAAM+I,EAAY,CAChB,UAAW,WACX,MAAO,sEACX,EACQC,EAAgB,yBAuJhB7H,EAAW,CACf,oBAAqB,CACnB,OACA,OACD,EACD,SAAU6H,EACV,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,eACJ,EAyBI,QAxBe,CACf,QACA,OACA,QACA,OACA,MACA,MACA,KACA,MACJ,EAgBI,SAfgB,CAChB,kBACA,mBACA,gBACA,iBACA,eACJ,EAUI,KA/JY,CACZ,MACA,QACA,OACA,WACA,SACA,QACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,OACJ,CAgJA,EACQC,EAAiB,CACrB,SAAUD,EACV,QAAS,CACP,aACA,SACA,YACA,iBACD,CACL,EACE,MAAO,CACL,KAAM,cACN,QAAS,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ACA,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,OACJ,EAEQtE,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,UACJ,EAsBQ9E,EAAW,CACf,QAASoJ,EACT,SAhBgBC,GAAU,CAE1B,MAAM1yE,EAAS,GACf,OAAA0yE,EAAM,QAAQ9sD,GAAQ,CACpB5lB,EAAO,KAAK4lB,CAAI,EACZA,EAAK,YAAa,IAAKA,EACzB5lB,EAAO,KAAK4lB,EAAK,YAAa,GAE9B5lB,EAAO,KAAK4lB,EAAK,YAAa,EAEtC,CAAK,EACM5lB,CACX,GAIsBspE,CAAQ,EAC1B,SAAU6E,CACd,EAIQwE,EAAqBD,GAClBA,EAAM,IAAI9sD,GACRA,EAAK,QAAQ,SAAU,EAAE,CACjC,EAGGgtD,EAAmB,CAAE,SAAU,CACnC,CACE,MAAO,CACL,MACA1jB,EAAM,OAAOsjB,EAAY,GAAG,EAE5BtjB,EAAM,OAAO,MAAOyjB,EAAkBxE,CAAS,EAAE,KAAK,MAAM,EAAG,MAAM,EACrE+D,CACD,EACD,MAAO,CACL,EAAG,UACH,EAAG,aACJ,CACF,CACL,GAEQW,EAAqB3jB,EAAM,OAAOiZ,EAAU,YAAY,EAExD2K,EAAsC,CAAE,SAAU,CACtD,CACE,MAAO,CACL5jB,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC9B,EACD2jB,CACD,EACD,MAAO,CAAE,EAAG,mBAAsB,CACnC,EACD,CACE,MAAO,CACL,KACA,OACD,EACD,MAAO,CAAE,EAAG,mBAAsB,CACnC,EACD,CACE,MAAO,CACLX,EACAhjB,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC9B,EACD2jB,CACD,EACD,MAAO,CACL,EAAG,cACH,EAAG,mBACJ,CACF,EACD,CACE,MAAO,CACLX,EACAhjB,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC9B,CACF,EACD,MAAO,CAAE,EAAG,aAAgB,CAC7B,EACD,CACE,MAAO,CACLgjB,EACA,KACA,OACD,EACD,MAAO,CACL,EAAG,cACH,EAAG,mBACJ,CACF,CACL,GAEQa,EAAiB,CACrB,MAAO,OACP,MAAO7jB,EAAM,OAAOiZ,EAAUjZ,EAAM,UAAU,GAAG,EAAGA,EAAM,UAAU,QAAQ,CAAC,CACjF,EACQ8jB,EAAc,CAClB,UAAW,EACX,MAAO,KACP,IAAK,KACL,SAAU3J,EACV,SAAU,CACR0J,EACArC,EACAoC,EACA5K,EAAK,qBACL4D,EACAkD,EACA4D,CACD,CACL,EACQK,EAAkB,CACtB,UAAW,EACX,MAAO,CACL,KAEA/jB,EAAM,OAAO,wBAAyByjB,EAAkBF,CAAG,EAAE,KAAK,MAAM,EAAG,IAAKE,EAAkBxE,CAAS,EAAE,KAAK,MAAM,EAAG,MAAM,EACjIhG,EACAjZ,EAAM,OAAOsjB,EAAY,GAAG,EAC5BtjB,EAAM,UAAU,QAAQ,CACzB,EACD,MAAO,CAAE,EAAG,uBAA0B,EACtC,SAAU,CAAE8jB,CAAa,CAC7B,EACEA,EAAY,SAAS,KAAKC,CAAe,EAEzC,MAAMC,EAAqB,CACzBH,EACAD,EACA5K,EAAK,qBACL4D,EACAkD,EACA4D,CACJ,EAEQnG,EAAa,CACjB,MAAOvd,EAAM,OAAO,SAAUgjB,CAAyB,EACvD,WAAY,OACZ,IAAK,IACL,SAAU,OACV,SAAU,CACR,QAAS5I,EACT,QAAS,CACP,MACA,OACD,CACF,EACD,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,SAAU,CACR,QAASA,EACT,QAAS,CACP,MACA,OACD,CACF,EACD,SAAU,CACR,OACA,GAAG4J,CACJ,CACF,EACD,GAAGA,EACH,CACE,MAAO,OACP,MAAOhB,CACR,CACF,CACL,EAEE,MAAO,CACL,iBAAkB,GAClB,SAAU7I,EACV,SAAU,CACRoD,EACAvE,EAAK,kBACLA,EAAK,QAAQ,KAAM,GAAG,EACtBA,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,YACR,CACX,CAAW,CACJ,EACD,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAKA,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,EACb,CACF,CACF,CACF,EACDiC,EACA,CACE,MAAO,oBACP,MAAO,UACR,EACDuG,EACAuC,EACAH,EACA,CACE,MAAO,CACL,QACA,KACA3K,CACD,EACD,MAAO,CACL,EAAG,UACH,EAAG,mBACJ,CACF,EACDyK,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,KAAQ,EACzB1K,EAAK,sBACL,CACE,MAAO,KACP,WAAY,EACb,EACD,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAUmB,EACV,SAAU,CACR,OACAqH,EACAoC,EACA5K,EAAK,qBACL4D,EACAkD,CACD,CACF,CACF,CACF,EACD,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,OACV,EACD,CACE,cAAe,wBACf,QAAS,QACV,CACF,EACD,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,oBAAsB,EACvC9G,EAAK,qBACN,CACF,EAID,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAEA,EAAK,QAAQA,EAAK,sBAAuB,CAAE,MAAO,aAAa,CAAE,CAAG,CACjF,EACD,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,SACR,EAEDA,EAAK,qBACN,CACF,EACD4D,EACAkD,CACD,CACL,CACA,CC3lBA,SAASmE,GAAUjL,EAAM,CACvB,MAAO,CACL,KAAM,aACN,QAAS,CACP,OACA,KACD,EACD,kBAAmB,EACvB,CACA,CCPA,SAASkL,GAAWlL,EAAM,CACxB,MAAM8B,EAAQ,CACZ,SACA,OACA,OACA,MACA,OACA,OACA,UACA,SACA,SACA,WACA,MACA,QACA,YACA,MACJ,EAGQqJ,EACJ,2rBAYIC,EACJ,+bAQIjK,EAAW,CACf,SAAU,iBACV,QACE,uLAIF,SACE,iqBASN,EAEQkK,EAAgB,yBAEhBC,EAAkB,CACtB,MAAO,YACP,UAAW,CACf,EAEQhL,EAAM,CACV,UAAW,WACX,SAAU,CACR,CAAE,MAAO,MAAQ,EACjB,CACE,UAAW,UACX,MAAO,QACR,EACD,CAAE,MAAO,mBAAqB,CAC/B,CACL,EAEQiL,EAAU,CACd,UAAW,UACX,MAAO,uBACX,EAEQ5K,EAAe,CACnB,UAAW,SACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACN,EACD,CACE,MAAO,KACP,IAAK,KACN,CACF,EACD,SAAU,CACR2K,EACAhL,EACA,CACE,UAAW,WACX,MAAO,UACP,IAAK,QACN,CACF,CACL,EAEQO,EAAc,CAClB,UAAW,SACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACN,EACD,CACE,MAAO,KACP,IAAK,KACN,CACF,CACL,EAEQ2K,EAAc,CAClB,UAAW,SACX,SAAU,CAER,CAAE,MAAO,yFAA2F,EAEpG,CAAE,M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,MACA,QACA,OACA,OACJ,EAsGQzL,EAAW,CACf,SAAU,sBACV,QAASyL,EACT,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,KACJ,EAkCI,QAhCe,CACf,YACA,WACA,QACA,OACA,iBACA,MACJ,EA0BI,KArBY,CACZ,MACA,WACA,YACA,OACA,OACA,UACA,UACA,WACA,WACA,MACA,QACA,OACA,OACJ,CAQA,EAEQC,EAAS,CACb,UAAW,OACX,MAAO,gBACX,EAEQrM,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUW,EACV,QAAS,GACb,EAEQ2L,EAAkB,CACtB,MAAO,OACP,UAAW,CACf,EAEQlJ,EAAS,CACb,UAAW,SACX,SAAU,CAAE5D,EAAK,gBAAkB,EACnC,SAAU,CACR,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRA,EAAK,iBACL6M,CACD,EACD,UAAW,EACZ,EACD,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACR7M,EAAK,iBACL6M,CACD,EACD,UAAW,EACZ,EACD,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACR7M,EAAK,iBACL6M,EACAC,EACAtM,CACD,CACF,EACD,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRR,EAAK,iBACL6M,EACAC,EACAtM,CACD,CACF,EACD,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACZ,EACD,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACZ,EACD,CACE,MAAO,4BACP,IAAK,GACN,EACD,CACE,MAAO,4BACP,IAAK,GACN,EACD,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRR,EAAK,iBACL8M,EACAtM,CACD,CACF,EACD,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRR,EAAK,iBACL8M,EACAtM,CACD,CACF,EACDR,EAAK,iBACLA,EAAK,iBACN,CACL,EAGQ+M,EAAY,kBACZC,EAAa,QAAQD,CAAS,UAAUA,CAAS,SAASA,CAAS,OAMnEE,EAAY,OAAOL,EAAe,KAAK,GAAG,CAAC,GAC3C9F,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAWR,CACE,MAAO,QAAQiG,CAAS,MAAMC,CAAU,eAAeD,CAAS,YAAYE,CAAS,GACtF,EACD,CACE,MAAO,IAAID,CAAU,QACtB,EAQD,CACE,MAAO,0CAA0CC,CAAS,GAC3D,EACD,CACE,MAAO,4BAA4BA,CAAS,GAC7C,EACD,CACE,MAAO,6BAA6BA,CAAS,GAC9C,EACD,CACE,MAAO,mCAAmCA,CAAS,GACpD,EAID,CACE,MAAO,OAAOF,CAAS,WAAWE,CAAS,GAC5C,CACF,CACL,EACQC,EAAe,CACnB,UAAW,UACX,MAAOlmB,EAAM,UAAU,SAAS,EAChC,IAAK,IACL,SAAUma,EACV,SAAU,CACR,CACE,MAAO,SACR,EAED,CACE,MAAO,IACP,IAAK,OACL,eAAgB,EACjB,CACF,CACL,EACQ0E,EAAS,CACb,UAAW,SACX,SAAU,CAER,CACE,UAAW,GACX,MAAO,UACP,KAAM,EACP,EACD,CACE,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAU1E,EACV,SAAU,CACR,OACA0L,EACA/F,EACAlD,EACA5D,EAAK,iBACN,CACF,CACF,CACL,EACE,OAAAQ,EAAM,SAAW,CACfoD,EACAkD,EACA+F,CACJ,EAES,CACL,KAAM,SACN,QAAS,CACP,KACA,MACA,SACD,EACD,aAAc,GACd,SAAU1L,EACV,QAAS,cACT,SAAU,CACR0L,EACA/F,EACA,CAEE,MAAO,oBACP,MAAO,UACR,EACD,CAGE,cAAe,KACf,UAAW,CACZ,EACD,CAAE,MAAO,SAAU,MAAO,SAAW,EACrClD,EACAsJ,EACAlN,EAAK,kBACL,CACE,MAAO,CACL,QAAS,MACTC,CACD,EACD,MAAO,CACL,EAAG,UACH,EAAG,gBACJ,EACD,SAAU,CAAE4F,CAAQ,CACrB,EACD,CACE,SAAU,CACR,CACE,MAAO,CACL,UAAW,MACX5F,EAAU,MACV,QAASA,EAAS,OACnB,CACF,EACD,CACE,MAAO,CACL,UAAW,MACXA,CACD,CACF,CACF,EACD,MAAO,CACL,EAAG,UACH,EAAG,cACH,EAAG,uBACJ,CACF,EACD,CACE,UAAW,OACX,MAAO,WACP,IAAK,UACL,SAAU,CACR6G,EACAjB,EACAjC,CACD,CACF,CACF,CACL,CACA,CCxaA,SAASuJ,GAAKnN,EAAM,CAClB,MAAMhZ,EAAQgZ,EAAK,MACboN,EAAiB,qFAEjBC,EAAgBrmB,EAAM,OAC1B,uBAEA,4BACD,EAEKsmB,EAA+BtmB,EAAM,OAAOqmB,EAAe,UAAU,EAarEE,EAAgB,CACpB,oBAAqB,CACnB,WACA,WACA,cACD,EACD,oBAAqB,CACnB,OACA,OACD,EACD,QAAS,CACP,QACA,MACA,QACA,QACA,QACA,OACA,QACA,UACA,KACA,OACA,QACA,MACA,MACA,SACA,MACA,KACA,KACA,SACA,OACA,MACA,KACA,OACA,UACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,QACA,QACA,GAtDe,CACjB,UACA,SACA,UACA,SACA,UACA,YACA,QACA,OACJ,CA8CK,EACD,SAAU,CACR,OACA,SACA,gBACA,cACA,cACA,gBACA,mBACA,iBACD,EACD,QAAS,CACP,OACA,QACA,KACD,CACL,EACQC,EAAY,CAChB,UAAW,SACX,MAAO,YACX,EACQC,EAAa,CACjB,MAAO,KACP,IAAK,GACT,EACQC,EAAgB,CACpB1N,EAAK,QACH,IACA,IACA,CAAE,SAAU,CAAEwN,EAAa,CAC5B,EACDxN,EAAK,QACH,UACA,QACA,CACE,SAAU,CAAEwN,CAAW,EACvB,UAAW,EACZ,CACF,EACDxN,EAAK,QAAQ,WAAYA,EAAK,gBAAgB,CAClD,EACQQ,EAAQ,CACZ,UAAW,QACX,MAAO,MACP,IAAK,KACL,SAAU+M,CACd,EACQ3J,EAAS,CACb,UAAW,SACX,SAAU,CACR5D,EAAK,iBACLQ,CACD,EACD,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACN,EACD,CACE,MAAO,IACP,IAAK,GACN,EACD,CACE,MAAO,IACP,IAAK,GACN,EACD,CACE,MAAO,cACP,IAAK,IACN,EACD,CACE,MAAO,cACP,IAAK,IACN,EACD,CACE,MAAO,cACP,IAAK,IACN,EACD,CACE,MAAO,aACP,IAAK,GACN,EACD,CACE,MAAO,cACP,IAAK,IACN,EACD,CACE,MAAO,aACP,IAAK,GACN,EACD,CACE,MAAO,aACP,IAAK,GACN,EACD,CACE,MAAO,cACP,IAAK,IACN,EAGD,CAAE,MAAO,iBAAmB,EAC5B,CAAE,MAAO,2BAA6B,EACtC,CAAE,MAAO,iCAAmC,EAC5C,CAAE,MAAO,yDAA2D,EACpE,CAAE,MAAO,yBAA2B,EACpC,CAAE,MAAO,WAAa,EAEtB,CAGE,MAAOxZ,EAAM,OACX,YACAA,EAAM,UAAU,0CAA0C,CAC3D,EACD,SAAU,CACRgZ,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,SAAU,CACRA,EAAK,iBACLQ,CACD,CACb,CAAW,CACF,CACF,CACF,CACL,EAKQ3jC,EAAU,oBACV8wC,EAAS,kBACT7G,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOjqC,CAAO,SAAS8wC,CAAM,iBAAiBA,CAAM,YAAc,EAI3E,CAAE,MAAO,gCAAkC,EAC3C,CAAE,MAAO,gCAAkC,EAC3C,CAAE,MAAO,gCAAkC,EAC3C,CAAE,MAAO,4CAA8C,EAGvD,CAAE,MAAO,uBAAyB,CACnC,CACL,EAEQ9H,EAAS,CACb,SAAU,CACR,CACE,MAAO,MACR,EACD,CACE,UAAW,SACX,MAAO,KACP,IAAK,SACL,aAAc,GACd,WAAY,GACZ,SAAU0H,CACX,CACF,CACL,EA2EQK,EAAwB,CAC5BhK,EA/DuB,CACvB,SAAU,CACR,CACE,MAAO,CACL,WACA0J,EACA,UACAA,CACD,CACF,EACD,CACE,MAAO,CACL,sBACAA,CACD,CACF,CACF,EACD,MAAO,CACL,EAAG,cACH,EAAG,uBACJ,EACD,SAAUC,CACd,EAjCyB,CACrB,MAAO,CACL,sBACAD,CACD,EACD,MAAO,CACL,EAAG,aACJ,EACD,SAAUC,CACd,EA8C0B,CACtB,UAAW,EACX,MAAO,CACLD,EACA,YACD,EACD,MAAO,CACL,EAAG,aACJ,CACL,EA7B8B,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACf,EA4B0B,CACtB,UAAW,EACX,MAAOD,EACP,MAAO,aACX,EA9B4B,CACxB,MAAO,CACL,MAAO,MACPD,CACD,EACD,MAAO,CACL,EAAG,UACH,EAAG,gBACJ,EACD,SAAU,CACRvH,CACD,CACL,EA4BI,CAEE,MAAO7F,EAAK,SAAW,IAAM,EAC/B,CACE,UAAW,SACX,MAAOA,EAAK,oBAAsB,YAClC,UAAW,CACZ,EACD,CACE,UAAW,SACX,MAAO,WACP,SAAU,CACR4D,EACA,CAAE,MAAOwJ,CAAgB,CAC1B,EACD,UAAW,CACZ,EACDtG,EACA,CAGE,UAAW,WACX,MAAO,4DACR,EACD,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,UAAW,EACX,SAAUyG,CACX,EACD,CACE,MAAO,IAAMvN,EAAK,eAAiB,eACnC,SAAU,SACV,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACRA,EAAK,iBACLQ,CACD,EACD,QAAS,KACT,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACN,EACD,CACE,MAAO,OACP,IAAK,UACN,EACD,CACE,MAAO,QACP,IAAK,WACN,EACD,CACE,MAAO,MACP,IAAK,SACN,EACD,CACE,MAAO,QACP,IAAK,WACN,CACF,CACF,CACT,EAAQ,OAAOiN,EAAYC,CAAa,EAClC,UAAW,CACZ,CACL,EAAI,OAAOD,EAAYC,CAAa,EAElClN,EAAM,SAAWoN,EACjB/H,EAAO,SAAW+H,EASlB,MAAMC,EAAc,CAClB,CACE,MAAO,SACP,OAAQ,CACN,IAAK,IACL,SAAUD,CACX,CACF,EACD,CACE,UAAW,cACX,MAAO,KAfW,QAeY,IAbX,kCAakC,IAZtC,iDAYyD,WACxE,OAAQ,CACN,IAAK,IACL,SAAUL,EACV,SAAUK,CACX,CACF,CACL,EAEE,OAAAF,EAAc,QAAQD,CAAU,EAEzB,CACL,KAAM,OACN,QAAS,CACP,KACA,UACA,UACA,OACA,KACD,EACD,SAAUF,EACV,QAAS,OACT,SAAU,CAAEvN,EAAK,QAAQ,CAAE,OAAQ,MAAM,CAAE,CAAG,EAC3C,OAAO6N,CAAW,EAClB,OAAOH,CAAa,EACpB,OAAOE,CAAqB,CACnC,CACA,CCrbA,SAASE,GAAM9N,EAAM,CACnB,MAAMhZ,EAAQgZ,EAAK,MACb4F,EAAa,CACjB,UAAW,OACX,MAAO,YACX,EAGQpF,EAAQ,CACZ,UAAW,QACX,SAAU,CACR,CAAE,MAAO,kBAAoB,EAC7B,CACE,MAAO,OACP,IAAK,IACN,CACF,CACL,EAEQoD,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,IAAK,KACN,EACD,CACE,MAAO,IACP,IAAK,IACL,QAAS,MACT,SAAU,CAAE5D,EAAK,gBAAkB,CACpC,EACD,CACE,MAAO,UACP,IAAK,IACL,QAAS,MACT,SAAU,CACRA,EAAK,iBACLQ,CACD,CACF,EACD,CACE,UAAW,SACX,MAAO,YACP,IAAK,MACL,SAAU,CAAEA,CAAO,EACnB,UAAW,EACZ,CACF,CAEL,EAEQuN,EAAO,CACX,UAAW,OACX,MAAO,wBACP,UAAW,CACf,EAEQC,EAAO,CACX,UAAW,QACX,MAAO,iFACP,UAAW,CACf,EAEQC,EAAQ,CACZ,UAAW,QACX,cAAe,0BACf,IAAK,aACL,WAAY,GACZ,SAAU,CACRjO,EAAK,oBACLA,EAAK,qBACL,CACE,cAAe,eACf,UAAW,EACZ,EACD,CACE,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,UAAW,EACX,SAAU,CACR+N,EACA/N,EAAK,oBACLA,EAAK,oBACN,CACF,EACD,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,UAAW,EACX,SAAU,CACR+N,EACA/N,EAAK,oBACLA,EAAK,oBACN,CACF,EACDgO,CACD,CACL,EAEQE,EAAS,CACb,UAAW,WACX,cAAe,MACf,IAAKlnB,EAAM,UAAU,aAAa,EAClC,SAAU,CAAEgnB,CAAM,CACtB,EAEQG,EAAY,CAChB,MAAO,CACL,OACA,YACA,aACD,EACD,WAAY,CAAE,EAAG,SAAY,CACjC,EAEQC,EAAM,CACV,MAAO,CACL,OACA,MACA,MACA,gBACD,EACD,WAAY,CACV,EAAG,UACH,EAAG,SACJ,CACL,EAIQC,EAAe,CACnB,CAAE,MAAO,YAAc,EACvB,CACE,MAAO,iBACP,SAAU,QACX,CACL,EAEQC,EAAqB,CACzB,MAAO,CACL,QACA,QACA,WACD,EACD,WAAY,CAAE,EAAG,SAAY,CACjC,EA8BE,MAAO,CACL,KAAM,QACN,SAAU,CACR,QAAS,kBACT,QAAS,6RACV,EACD,SAAU,CAzBY,CACtB,MAAO,CACL,MACA,MACA,QACA,MACA,KACD,EACD,WAAY,CACV,EAAG,UACH,EAAG,UACH,EAAG,MACJ,EACD,IAAK,IACL,SAAU,CArBY,CACtB,UAAW,SACX,MAAO,KACX,CAoBK,CACL,EAUMtO,EAAK,oBACLA,EAAK,qBACL4D,EACAmK,EACAG,EACAD,EACAjO,EAAK,cACLmO,EACAC,EACA,GAAGC,EACHC,EACA1I,CACD,CACL,CACA,CC1MA,SAAS2I,GAAMvO,EAAM,CACnB,MAAO,CACL,KAAM,gBACN,QAAS,CACP,UACA,cACD,EACD,SAAU,CACR,CACE,UAAW,cAIX,MAAO,qCACP,OAAQ,CACN,IAAK,gBACL,YAAa,MACd,CACF,CACF,CACL,CACA,CCRA,SAASwO,GAAIxO,EAAM,CACjB,MAAMhZ,EAAQgZ,EAAK,MACbmJ,EAAenJ,EAAK,QAAQ,KAAM,GAAG,EACrC4D,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAQ,CAC9B,CACF,CACL,EACQ6K,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAQ,CACjC,EAEQrN,EAAW,CACf,OACA,QAGA,SACJ,EAEQsN,EAAmB,CACvB,mBACA,eACA,gBACA,kBACJ,EAEQ5M,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,WACJ,EAEQ6M,EAAqB,CACzB,MACA,MACA,YACA,OACA,QACA,QACA,OACA,MACJ,EAGQ/B,EAAiB,CACrB,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,MACJ,EAKQgC,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MACA,OACA,YACA,kBACA,QACA,OACA,aACA,SACA,QACA,WACA,UACA,WACA,cACJ,EAGQC,EAA0B,CAC9B,kBACA,eACA,kCACA,eACA,eACA,iBACA,mCACA,eACA,eACA,cACA,cACA,eACA,YACA,oBACA,gBACJ,EAIQC,EAAS,CACb,eACA,cACA,cACA,cACA,WACA,cACA,iBACA,gBACA,cACA,gBACA,gBACA,eACA,cACA,aACA,cACA,eACJ,EAEQC,EAAYH,EAEZzN,EAAW,CACf,GAAGyL,EACH,GAAG+B,CACP,EAAI,OAAQK,GACD,CAACJ,EAAmB,SAASI,CAAO,CAC5C,EAEKxG,EAAW,CACf,UAAW,WACX,MAAO,qBACX,EAEQyG,EAAW,CACf,UAAW,WACX,MAAO,gDACP,UAAW,CACf,EAEQrH,EAAgB,CACpB,MAAO5gB,EAAM,OAAO,KAAMA,EAAM,OAAO,GAAG+nB,CAAS,EAAG,OAAO,EAC7D,UAAW,EACX,SAAU,CAAE,SAAUA,CAAW,CACrC,EAGE,SAASG,EAAgB98B,EAAM,CAC7B,WAAA+8B,EAAY,KAAAC,CACb,EAAG,GAAI,CACN,MAAMC,EAAYD,EAClB,OAAAD,EAAaA,GAAc,GACpB/8B,EAAK,IAAK10B,GACXA,EAAK,MAAM,QAAQ,GAAKyxD,EAAW,SAASzxD,CAAI,EAC3CA,EACE2xD,EAAU3xD,CAAI,EAChB,GAAGA,CAAI,KAEPA,CAEV,CACF,CAED,MAAO,CACL,KAAM,MACN,iBAAkB,GAElB,QAAS,WACT,SAAU,CACR,SAAU,YACV,QACEwxD,EAAgB/N,EAAU,CAAE,KAAOxjD,GAAMA,EAAE,OAAS,EAAG,EACzD,QAASyjD,EACT,KAAMU,EACN,SAAU+M,CACX,EACD,SAAU,CACR,CACE,MAAO7nB,EAAM,OAAO,GAAG8nB,CAAM,EAC7B,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAAS3N,EAAS,OAAO2N,CAAM,EAC/B,QAAS1N,EACT,KAAMU,CACP,CACF,EACD,CACE,UAAW,OACX,MAAO9a,EAAM,OAAO,GAAG0nB,CAAgB,CACxC,EACD9G,EACAY,EACA5E,EACA6K,EACAzO,EAAK,cACLA,EAAK,qBACLmJ,EACA8F,CACD,CACL,CACA,CC9pBA,SAAS9wE,GAAOu9B,EAAI,CAClB,OAAKA,EACD,OAAOA,GAAO,SAAiBA,EAE5BA,EAAG,OAHM,IAIlB,CAMA,SAASuxC,GAAUvxC,EAAI,CACrB,OAAO4zC,GAAO,MAAO5zC,EAAI,GAAG,CAC9B,CAMA,SAAS4zC,MAAUlmE,EAAM,CAEvB,OADeA,EAAK,IAAKuU,GAAMxf,GAAOwf,CAAC,CAAC,EAAE,KAAK,EAAE,CAEnD,CAMA,SAAS4xD,GAAqBnmE,EAAM,CAClC,MAAM+I,EAAO/I,EAAKA,EAAK,OAAS,CAAC,EAEjC,OAAI,OAAO+I,GAAS,UAAYA,EAAK,cAAgB,QACnD/I,EAAK,OAAOA,EAAK,OAAS,EAAG,CAAC,EACvB+I,GAEA,EAEX,CAWA,SAASq9D,MAAUpmE,EAAM,CAMvB,MAHe,KADFmmE,GAAqBnmE,CAAI,EAE5B,QAAU,GAAK,MACrBA,EAAK,IAAKuU,GAAMxf,GAAOwf,CAAC,CAAC,EAAE,KAAK,GAAG,EAAI,GAE7C,CAEA,MAAM8xD,GAAiBT,GAAWM,GAChC,KACAN,EACA,MAAM,KAAKA,CAAO,EAAI,KAAO,IAC/B,EAGMU,GAAc,CAClB,WACA,MACF,EAAE,IAAID,EAAc,EAGdE,GAAsB,CAC1B,OACA,MACF,EAAE,IAAIF,EAAc,EAGdG,GAAe,CACnB,MACA,MACF,EAGMC,GAAW,CAIf,QACA,MACA,iBACA,QACA,QACA,OACA,MACA,KACA,YACA,QACA,OACA,QACA,QACA,UACA,YACA,WACA,cACA,OACA,UACA,QACA,SACA,SACA,cACA,KACA,UACA,OACA,OACA,OACA,YACA,cACA,qBACA,cACA,QACA,MACA,OACA,MACA,QACA,KACA,SACA,WACA,QACA,SACA,QACA,QACA,kBACA,WACA,KACA,KACA,WACA,cACA,OACA,MACA,QACA,WACA,cACA,cACA,OACA,WACA,WACA,WACA,UACA,UACA,kBACA,SACA,iBACA,UACA,WACA,gBACA,SACA,SACA,WACA,WACA,SACA,MACA,OACA,SACA,SACA,YACA,QACA,SACA,SACA,QACA,QACA,OACA,MACA,YACA,kBACA,oBACA,UACA,MACA,OACA,QACA,QACA,SACF,EAMMC,GAAW,CACf,QACA,MACA,MACF,EAGMC,GAA0B,CAC9B,aACA,gBACA,aACA,OACA,YACA,OACA,OACF,EAIMC,GAAqB,CACzB,gBACA,UACA,aACA,QACA,UACA,SACA,SACA,QACA,UACA,eACA,YACA,YACA,MACA,gBACA,WACA,QACA,YACA,kBACA,UACF,EAGMC,GAAW,CACf,MACA,MACA,MACA,SACA,mBACA,aACA,OACA,aACA,YACA,4BACA,MACA,MACA,cACA,eACA,eACA,eACA,sBACA,QACA,WACA,gBACA,WACA,SACA,OACA,oCACA,YACA,OACA,gBACA,iBACA,uBACA,2BACA,oBACA,aACA,0BACA,KACF,EAGMC,GAAeV,GACnB,oBACA,kBACA,iBACA,iBACA,iBACA,mCACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,UACF,EAGMW,GAAoBX,GACxBU,GACA,kBACA,kBACA,kBACA,kBACA,iBAGF,EAGME,GAAWd,GAAOY,GAAcC,GAAmB,GAAG,EAGtDE,GAAiBb,GACrB,YACA,uDACA,yDACA,yDACA,kBACA,+DACA,yDACA,+BACA,yDACA,yDACA,8BAMF,EAGMc,GAAsBd,GAC1Ba,GACA,KACA,wDACF,EAGME,GAAajB,GAAOe,GAAgBC,GAAqB,GAAG,EAG5DE,GAAiBlB,GAAO,QAASgB,GAAqB,GAAG,EAKzDG,GAAoB,CACxB,WACA,cACAnB,GAAO,eAAgBE,GAAO,QAAS,QAAS,GAAG,EAAG,IAAI,EAC1D,oBACA,kBACA,sBACA,WACA,eACA,SACA,gBAC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QAAS,MACb,EAEQ4I,GAAuB,CAC3B,MAAO,CACL,WACA,MACA9C,EACD,EACD,UAAW,CACT,EAAG,UACH,EAAG,OACJ,CACL,EAGQ+C,GAAkB,CACtB,MAAO,CACL,kBACA,MACA3C,EACD,EACD,UAAW,CACT,EAAG,UACH,EAAG,OACJ,EACD,SAAU,CAAEzC,CAAM,EAClB,SAAU,CACR,GAAGgC,GACH,GAAGD,EACJ,EACD,IAAK,GACT,EAEQsD,GAAmB,CACvB,MAAO,CACL,+CACA,MACA7C,GACA,KACD,EACD,WAAY,CACV,EAAG,UACH,EAAG,aACJ,EACD,SAAUpP,EACV,SAAU,CACR0R,EACA,GAAGzB,EACH,CACE,MAAO,IACP,IAAK,KACL,SAAUjQ,EACV,SAAU,CACR,CACE,MAAO,wBACP,MAAOqP,EACR,EACD,GAAGY,CACJ,EACD,UAAW,CACZ,CACF,CACL,EAGE,UAAWvkD,MAAW+2C,EAAO,SAAU,CACrC,MAAMyP,GAAgBxmD,GAAQ,SAAS,KAAKymD,IAAQA,GAAK,QAAU,UAAU,EAE7ED,GAAc,SAAWlS,EACzB,MAAMoS,GAAW,CACf,GAAGnC,EACH,GAAGnL,EACH,GAAGuL,EACH1K,EACAlD,EACA,GAAG0O,CACT,EACIe,GAAc,SAAW,CACvB,GAAGE,GACH,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACR,OACA,GAAGA,EACJ,CACF,CACP,CACG,CAED,MAAO,CACL,KAAM,QACN,SAAUpS,EACV,SAAU,CACR,GAAG0P,EACHmC,GACAC,GACAG,GACAF,GACAC,GACA,CACE,cAAe,SACf,IAAK,IACL,SAAU,CAAE,GAAGtC,CAAU,EACzB,UAAW,CACZ,EACDsB,EACA,GAAGf,EACH,GAAGnL,EACH,GAAGuL,EACH1K,EACAlD,EACA,GAAG0O,EACH,GAAG/N,EACHwJ,EACA6E,CACD,CACL,CACA,CC56BA,MAAM3S,GAAW,2BACXkB,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,SACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMU,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMgE,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAE,EAAC,OACnBF,GACAjE,GACAgE,EACF,EAWA,SAASI,GAAWlG,EAAM,CACxB,MAAMhZ,EAAQgZ,EAAK,MAQbmG,EAAgB,CAAChlE,EAAO,CAAE,MAAAilE,EAAK,IAAO,CAC1C,MAAMrxD,GAAM,KAAO5T,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQ4T,GAAKqxD,EAAK,IAC3B,EACnB,EAEQC,EAAapG,GACbqG,EAAW,CACf,MAAO,KACP,IAAK,KACT,EAEQC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACrlE,EAAO7B,KAAa,CACtC,MAAMmnE,GAAkBtlE,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CulE,EAAWvlE,EAAM,MAAMslE,EAAe,EAC5C,GAIEC,IAAa,KAGbA,IAAa,IACX,CACFpnE,GAAS,YAAW,EACpB,MACD,CAIGonE,IAAa,MAGVP,EAAchlE,EAAO,CAAE,MAAOslE,EAAiB,IAClDnnE,GAAS,YAAW,GAOxB,IAAIlD,EACJ,MAA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ACP,IAAK,KACL,SAAU,CACR,CACE,UAAW,OACX,MAAO,UACP,IAAK,IACL,SAAU,CACRD,EACAC,EACAE,EACAD,CACD,CACF,CACF,CACF,CACF,CACF,EACD/U,EAAK,QACH,OACA,MACA,CAAE,UAAW,EAAI,CAClB,EACD,CACE,MAAO,cACP,IAAK,QACL,UAAW,EACZ,EACD4U,EAEA,CACE,UAAW,OACX,IAAK,MACL,SAAU,CACR,CACE,MAAO,SACP,UAAW,GACX,SAAU,CACRI,CACD,CACF,EACD,CACE,MAAO,mBACR,CACF,CAEF,EACD,CACE,UAAW,MAMX,MAAO,iBACP,IAAK,IACL,SAAU,CAAE,KAAM,OAAS,EAC3B,SAAU,CAAEC,CAAe,EAC3B,OAAQ,CACN,IAAK,YACL,UAAW,GACX,YAAa,CACX,MACA,KACD,CACF,CACF,EACD,CACE,UAAW,MAEX,MAAO,kBACP,IAAK,IACL,SAAU,CAAE,KAAM,QAAU,EAC5B,SAAU,CAAEA,CAAe,EAC3B,OAAQ,CACN,IAAK,aACL,UAAW,GACX,YAAa,CACX,aACA,aACA,KACD,CACF,CACF,EAED,CACE,UAAW,MACX,MAAO,SACR,EAED,CACE,UAAW,MACX,MAAOjuB,EAAM,OACX,IACAA,EAAM,UAAUA,EAAM,OACpB0tB,EAIA1tB,EAAM,OAAO,MAAO,IAAK,IAAI,CACzC,CAAW,CACF,EACD,IAAK,OACL,SAAU,CACR,CACE,UAAW,OACX,MAAO0tB,EACP,UAAW,EACX,OAAQO,CACT,CACF,CACF,EAED,CACE,UAAW,MACX,MAAOjuB,EAAM,OACX,MACAA,EAAM,UAAUA,EAAM,OACpB0tB,EAAa,GACzB,CAAW,CACF,EACD,SAAU,CACR,CACE,UAAW,OACX,MAAOA,EACP,UAAW,CACZ,EACD,CACE,MAAO,IACP,UAAW,EACX,WAAY,EACb,CACF,CACF,CACF,CACL,CACA,CCrOA,SAASQ,GAAKlV,EAAM,CAClB,MAAMoB,EAAW,yBAGX+T,EAAiB,8BAMjB1I,EAAM,CACV,UAAW,OACX,SAAU,CAER,CAAE,MAAO,6BAA+B,EACxC,CACE,MAAO,+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AEF,mDAAoD,oBAEpD,uDAAwD,sCACxD,iDAAkD,4CAClD,kDAAmD,yCACnD,mDACE,oEACF,0DACE,oKACF,0DACE,oKACF,kDAAmD,4BAEnD,gCAAiC,+BACjC,sCACE,wPACF,gDACE,kJACF,6DAA8D,kBAC9D,qCAAsC,SACtC,wCAAyC,YACzC,oCAAqC,eACrC,qCAAsC,SACtC,sCACE,uJACF,uDACE,uIACF,8CACE,8TACF,+CAAgD,iBAChD,sCACE,sGACF,0CACE,mGACF,+CACE,yGACF,uCACE,gGACF,uCACE,gGACF,iCAAkC,uBAClC,yCACE,gEACF,8CAA+C,qBAC/C,8CAA+C,sBAC/C,gDAAiD,4BACjD,6CAA8C,2BAC9C,+CAAgD,6BAChD,iDAAkD,yBAClD,8CAA+C,sBAC/C,gDACE,uDACF,6CAA8C,yCAC9C,wCAAyC,uBACzC,yCACE,0DACF,sCACE,4DACF,yCACE,6EACF,kDACE,yGACF,6CAA8C,yBAC9C,2CAA4C,yBAC5C,0CAA2C,qBAC3C,+CACE,8JACF,wDACE,6CACF,8CAA+C,qBAC/C,mDACE,kKACF,mDAAoD,qBACpD,wDACE,wKACF,2CAA4C,qBAC5C,gDACE,0JACF,2CAA4C,qBAC5C,gDACE,+JACF,wDAAyD,eACzD,8DACE,uFACF,6DACE,iEACF,6DACE,sKACF,gEACE,yKACF,yCAA0C,mBAC1C,+CACE,4DACF,+CACE,gEACF,6CAA8C,uBAC9C,kDACE,qDACF,0CAA2C,iBAC3C,gDAAiD,iCACjD,gDAAiD,uBACjD,8DACE,kGACF,0CAA2C,iBAC3C,+CAAgD,2CAChD,+CACE,iGACF,sCAAuC,gBACvC,gDAAiD,YACjD,qDACE,oDACF,oDAAqD,gBACrD,yDACE,wDACF,wDAAyD,YACzD,4DAA6D,eAC7D,2CAA4C,cAC5C,uDACE,kKACF,qDAAsD,iBACtD,0DACE,sHACF,qDAAsD,wBACtD,gEACE,wQACF,oEAAqE,wBACrE,iEACE,2QACF,qEAAsE,wBACtE,oEACE,gRACF,wEAAyE,wBACzE,oCAAqC,qBACrC,sCAAuC,SACvC,4CAA6C,6CAC7C,mDAAoD,qBACpD,qDAAsD,mBACtD,kDAAmD,2CACnD,yDAA0D,gCAC1D,kEACE,sGACF,8EACE,0HACF,kEACE,uGACF,yDAA0D,WAC1D,qEACE,4CACF,0EAA2E,oBAC3E,wDACE,gDACF,8DACE,qFACF,2DAA4D,WAC5D,kEACE,wEACF,oDACE,+GAGF,gCAAiC,iBACjC,qDACE,qKACF,0DAA2D,UAC3D,sCACE,iJACF,+BACE,qEACF,6CACE,8KACF,oCAAqC,gBACrC,sCAAuC,uBACvC,oCAAqC,OACrC,sCAAuC,SACvC,8CACE,yDACF,uCAAwC,wBACxC,sCAAuC,uBACvC,uCAAwC,wBACxC,+CACE,0JACF,4CAA6C,eAC7C,qDACE,qDACF,0DACE,8HACF,qDAAsD,+BACtD,2DACE,2CACF,iEACE,gHACF,iEACE,kHACF,6DAA8D,kCAC9D,mEAAoE,iBACpE,+DACE,gDACF,8DACE,qEACF,8DAA+D,4BAC/D,6DACE,qCAGF,6CAA8C,2BAC9C,2CAA4C,4BAC5C,yCAA0C,0BAC1C,2DAA4D,mCAC5D,6CAA8C,sCAC9C,kDAAmD,qCACnD,uEACE,qQACF,yDACE,kNACF,qEAAsE,iBACtE,qEACE,kNACF,+CAAgD,uBAChD,qDAAsD,+BACtD,wDACE,iWACF,6DACE,4DACF,8CACE,kEACF,gEAAiE,gBACjE,uEACE,oNACF,kDAAmD,qCACnD,yDACE,6IACF,yDAA0D,SAC1D,gEACE,0GACF,oDAAqD,YACrD,2DACE,iEACF,wDAAyD,gBACzD,+DACE,uEACF,sDAAuD,cACvD,6DACE,kKACF,6DAA8D,8BAC9D,oEACE,4NACF,kDAAmD,qCACnD,yDACE,mIACF,0EACE,8EACF,+DACE,qDACF,sFACE,yBACF,yEACE,4BACF,2EACE,qRACF,sDAAuD,yCACvD,wEACE,6FACF,4DACE,gHACF,8DAA+D,yBAC/D,qEACE,yHACF,6DAA8D,+BAC9D,oEACE,yRACF,iDAAkD,kBAClD,wDAAyD,2BACzD,kEAAmE,eACnE,sEAAuE,0BACvE,gEACE,oEACF,oEACE,qEACF,kEACE,gCACF,sEAC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D,uCACnD,gDACE,4KACF,sDACE,2HACF,+CACE,sJACF,yCACE,uJACF,sCAAuC,wBACvC,2DAA4D,eAC5D,2DAA4D,qBAC5D,gDAAiD,8CACjD,oDACE,8CACF,0DACE,2CACF,iDACE,kHACF,qDACE,gFACF,6DACE,4EAEF,wDACE,8GACF,6DAA8D,mBAE9D,yDACE,yIACF,8DAA+D,mBAE/D,yDACE,4CACF,8DAA+D,6BAE/D,wEACE,oJACF,6EACE,sBAEF,mEACE,uNACF,wEAAyE,qBAEzE,6DACE,iFACF,kEACE,iFAEF,0DACE,2EACF,gEAAiE,WAEjE,4CACE,oGACF,yCACE,6FACF,8CAA+C,oCAC/C,gDAAiD,qCACjD,uDACE,sIACF,mCAAoC,mBAEpC,0CAA2C,sBAC3C,mCAAoC,SACpC,yDAA0D,oBAC1D,wCAAyC,2BACzC,2CAA4C,kDAC5C,yDACE,0EACF,8CACE,gGACF,+DAAgE,2BAChE,kDACE,+FACF,6CAA8C,2CAC9C,iDAAkD,qCAClD,oDACE,8DACF,kEACE,sFACF,uDACE,6FACF,gDAAiD,mBACjD,yCAA0C,4BAC1C,4CACE,6DACF,0DACE,oFACF,uDAAwD,yBACxD,qDAAsD,wBACtD,mDACE,gGACF,yDACE,qJACF,8DACE,uCACF,2CACE,8EACF,iDACE,oKACF,+CACE,+EACF,yCAA0C,4BAC1C,4CAA6C,iDAC7C,0DACE,yEACF,+CACE,0FACF,wCAAyC,gBACzC,4CAA6C,sCAC7C,+CACE,+DACF,6DACE,uFACF,oDACE,0EACF,iDACE,uJACF,8CACE,+EACF,+CACE,oGAEF,2CAA4C,wCAC5C,8CACE,8GACF,8CAA+C,mDAC/C,wEACE,6CACF,wDAAyD,oCACzD,yDAA0D,0BAC1D,qEAAsE,wBACtE,uDAAwD,wBACxD,mEAAoE,uBACpE,iFACE,4DACF,uFACE,iGACF,6CACE,8EACF,mDACE,wKACF,iDACE,+EACF,mDAAoD,sBACpD,iDAAkD,kBAClD,oDAAqD,iBACrD,qDACE,oGACF,2DACE,yJACF,gEACE,uCAEF,sDAAuD,uCACvD,wDACE,iFACF,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ACF,6DACE,wEACF,4DACE,wEACF,8DACE,wEACF,2DACE,wEACF,kEACE,wEAEF,qDAAsD,4BACtD,gEAAiE,+BACjE,6DACE,uDACF,mEACE,wGACF,kEACE,+CACF,qDAAsD,sBAEtD,qDAAsD,gCACtD,2DAA4D,mBAC5D,6DAA8D,8BAC9D,mEAAoE,gBACpE,8DACE,qDACF,oEACE,qFACF,8DACE,wCACF,gDAAiD,0CACjD,sDACE,oEACF,mDAAoD,iBACpD,qDACE,6KACF,mDACE,4HACF,kDACE,iLAEF,yCAA0C,oCAC1C,uDAAwD,8BACxD,iDAAkD,gBAClD,0DACE,yGACF,oEAAqE,YACrE,qEAAsE,aACtE,2EACE,oEACF,gFACE,oEACF,wEACE,mEACF,wEACE,mEACF,iEACE,sDACF,iEACE,mEACF,8DACE,wHACF,mEAAoE,yBACpE,yEACE,wHACF,gDAAiD,qBACjD,+DACE,oCACF,+DACE,uGACF,wEACE,iEACF,iFAAkF,WAClF,6EACE,2BAEF,kFACE,0EACF,sFACE,iBACF,yFACE,YACF,sFAAuF,SACvF,uFACE,kEACF,qFACE,cACF,sFACE,2CACF,qFAAsF,QACtF,sFACE,0BACF,oFAAqF,aACrF,qFACE,6CAEF,uFACE,0EACF,2FACE,iBACF,8FACE,YACF,2FACE,SACF,4FACE,8CACF,0FACE,cACF,2FACE,0CACF,0FACE,QACF,2FACE,2BACF,yFACE,aACF,0FACE,6CAEF,+EACE,0EACF,mFACE,iBACF,sFAAuF,SACvF,kFAAmF,cACnF,mFACE,yCACF,qFACE,uBACF,sFACE,6BAEF,+EACE,0EACF,mFACE,iBACF,sFACE,iBACF,kFACE,uBACF,mFACE,yCACF,kFAAmF,QACnF,mFACE,6CACF,iFAAkF,WAClF,kFACE,uBAEF,+EAAgF,YAEhF,6FACE,+CACF,4FACE,oBACF,6FACE,+CACF,4FACE,oBAEF,6FACE,qCACF,4FACE,qCACF,6FACE,sCACF,4FACE,sCAEF,yFACE,oBACF,0GACE,+IACF,8GACE,MACF,mHACE,oBACF,6GACE,gOACF,sHACE,WACF,6GACE,iOACF,sHACE,WAEF,8EACE,kEAEF,wEACE,6EACF,4EACE,sBACF,0EAA2E,OAC3E,2EAA4E,iBAC5E,iFAAkF,cAClF,kFAAmF,cAEnF,wEAAyE,gBACzE,6EAA8E,OAE9E,kDAAmD,wBACnD,kDACE,oEACF,2DACE,iEACF,oEAAqE,WACrE,gEAAiE,eAEjE,2DACE,oFACF,+DAAgE,iBAChE,kEAAmE,0BAEnE,0EACE,8HACF,8EAA+E,iBAC/E,iFACE,0CACF,gFACE,+CACF,yFACE,0BACF,4FACE,cACF,iFACE,sBACF,0FACE,cACF,+EACE,qJACF,4FACE,eACF,wFACE,WAEF,2DACE,4DACF,+DAAgE,WAChE,mEAAoE,aACpE,oEAAqE,2BACrE,+DACE,mKACF,qEAAsE,OACtE,iFACE,oBACF,oEAAqE,cACrE,qEAAsE,cAEtE,2DAA4D,gBAC5D,gEAAiE,OAEjE,2DAA4D,oCAC5D,gEACE,mCACF,wDAAyD,0BACzD,wDAAyD,0BACzD,0DACE,2IACF,0DACE,wDACF,gEACE,6DACF,qEACE,4DACF,6DACE,mDACF,6DACE,mDACF,4DAA6D,OAC7D,6DAA8D,sBAC9D,qEAAsE,MACtE,sEACE,uEACF,uEACE,0IACF,kEAAmE,MACnE,mEACE,uEACF,gFAAiF,MACjF,iFACE,uEACF,8EAA+E,MAC/E,+EACE,qDACF,2EAA4E,eAC5E,4EACE,iEACF,oEACE,+DACF,2EAA4E,SAC5E,yEACE,qFACF,kFAAmF,WACnF,gFACE,sCACF,iEACE,0DACF,wEACE,uDACF,wEACE,kCACF,iEACE,uCACF,yEAA0E,UAC1E,sEAAuE,aACvE,uEAAwE,OACxE,oEAAqE,eACrE,qEAAsE,SACtE,2EAA4E,aAC5E,4EAA6E,OAC7E,yEAA0E,eAC1E,0EAA2E,UAC3E,6DAA8D,SAC9D,2DAA4D,gBAC5D,6DAA8D,cAC9D,2DAA4D,uBAC5D,iEAAkE,uBAClE,6EAA8E,cAC9E,yEAA0E,gBAC1E,8EAA+E,OAC/E,oEAAqE,kBACrE,2EAA4E,SAC5E,iEAAkE,uBAClE,6EAA8E,cAC9E,qDAAsD,uBACtD,yEACE,wEACF,4EACE,yFACF,oFACE,gBACF,uFACE,aACF,0EACE,qEACF,+EACE,6CACF,0EACE,qEACF,+EACE,8BACF,+EAAgF,OAChF,qEACE,uDACF,kEAAmE,2BAEnE,yEACE,8CACF,yFACE,UACF,+DACE,4DACF,yEACE,yDACF,iFACE,iBACF,yEAA0E,sBAC1E,8EACE,6CACF,yEACE,uKACF,iFAAkF,UAClF,wFACE,iBACF,qFACE,cACF,8EAA+E,OAE/E,yEACE,8CACF,yFACE,wBACF,+DACE,uGACF,yEACE,kCACF,8EACE,6CACF,yEACE,8DACF,yFACE,wBACF,iGACE,4BACF,yEACE,sDACF,8EAA+E,OAC/E,yEAA0E,uBAC1E,sFACE,wBACF,yEACE,4FACF,sFACE,sBACF,sFACE,wBAEF,4EACE,yGACF,oFACE,eACF,uFACE,aACF,0EACE,qFACF,+EACE,6CACF,0EACE,qEACF,+EACE,8DACF,+EAAgF,OAChF,oEACE,6EAEF,8CAA+C,2BAC/C,wDAAyD,mCACzD,iDACE,mDACF,uEACE,mDACF,0EACE,qIACF,+EACE,0BACF,iFAAkF,cAClF,iEACE,2DACF,0EACE,iCACF,+EACE,yCACF,0EACE,+CACF,+EAAgF,gBAChF,0EACE,sDACF,0EACE,oDACF,0EACE,qCACF,0EACE,iCACF,gEAAiE,qBACjE,+DACE,kIACF,wEACE,gCAEF,sFACE,yGACF,6FACE,wIACF,+FACE,oBACF,+FACE,cACF,iGACE,SACF,iGACE,SACF,gFACE,kDACF,kFACE,qFACF,6FACE,wBACF,2FACE,WACF,8EACE,uKACF,mFACE,eACF,qFACE,qNACF,mGACE,gBACF,4EACE,mMACF,2EACE,yGACF,oFAAqF,WACrF,gFACE,iCACF,kFAAmF,SACnF,oFACE,+CACF,6FACE,gCACF,+EACE,gDACF,uFACE,qCACF,6FACE,yBACF,4FACE,iCACF,6FACE,iCACF,0FACE,yBACF,iGACE,yBACF,4FACE,yBACF,0EACE,0BACF,+EACE,iCACF,uEACE,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","names":["bind","fn","thisArg","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","type","typeOfTest","isArray","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isArrayBufferView","result","isString","isNumber","isObject","isBoolean","isPlainObject","prototype","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","trim","forEach","obj","allOwnKeys","l","keys","len","key","findKey","_key","_global","isContextDefined","context","merge","caseless","assignValue","targetKey","extend","a","b","stripBOM","content","inherits","constructor","superConstructor","props","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","i","prop","merged","endsWith","searchString","position","lastIndex","toArray","arr","isTypedArray","TypedArray","forEachEntry","iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","m","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","name","ret","freezeMethods","value","toObjectSet","arrayOrString","delimiter","define","noop","toFiniteNumber","defaultValue","ALPHA","DIGIT","ALPHABET","generateString","size","alphabet","length","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","token","callbacks","data","cb","asap","utils$1","AxiosError","message","code","config","request","response","utils","error","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","path","dots","isFlatArray","predicates","toFormData","formData","options","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","id","h","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","Blob","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","origin","platform","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","e","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","ignoreDuplicateOf","parseHeaders","rawHeaders","parsed","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","self","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","first","computed","accessors","defineAccessor","mapped","headerValue","transformData","fns","isCancel","CanceledError","settle","resolve","reject","validateStatus","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","throttle","freq","timestamp","threshold","lastArgs","timer","invoke","args","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","href","requestURL","cookies","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","xsrfValue","isXHRAdapterSupported","xhrAdapter","_config","requestData","requestHeaders","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","done","onloadend","responseHeaders","err","timeoutErrorMessage","cancel","protocol","composeSignals","signals","timeout","controller","aborted","onabort","reason","unsubscribe","signal","streamChunk","chunk","chunkSize","pos","end","readBytes","iterable","readStream","stream","reader","trackStream","onProgress","onFinish","_onFinish","loadedBytes","isFetchSupported","isReadableStreamSupported","encodeText","test","supportsRequestStream","duplexAccessed","hasContentType","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","res","_","getBodyLength","body","resolveBodyLength","fetchAdapter","cancelToken","withCredentials","fetchOptions","composedSignal","requestContentLength","_request","contentTypeHeader","flush","isCredentialsSupported","isStreamResponse","responseContentLength","responseData","knownAdapters","renderReason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","state","s","throwIfCancellationRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","assertOptions","schema","allowUnknown","Axios","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","fullPath","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","onfulfilled","_resolve","abort","c","spread","callback","isAxiosError","payload","HttpStatusCode","createInstance","defaultConfig","instance","axios","promises","reactPropsRegex","isPropValid","memoize","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","tag","composeShouldForwardProps","isReal","shouldForwardProp","optionsShouldForwardProp","propName","isDevelopment","Insertion","_ref","serialized","isStringTag","registerStyles","useInsertionEffectAlwaysWithSyncFallback","insertStyles","createStyled","baseTag","identifierName","targetClassName","defaultShouldForwardProp","shouldUseAs","styles","Styled","withEmotionCache","ref","FinalTag","className","classInterpolations","mergedProps","React.useContext","ThemeContext","getRegisteredStyles","serializeStyles","finalShouldForwardProp","newProps","React.createElement","React.Fragment","nextTag","nextOptions","_extends","hasOwn","classNames","classes","arg","appendClass","parseValue","newClass","module","isDarkColor","color","substring","rgb","parseInt","r","g","getTextColor","background","dark","light","getRGBAString","undefined","REACT_DOM_CONTAINER","THROTTLE_SCROLL_DELAY","DEBOUNCE_DELAY","INPUT_SIZES","small","theme","medium","large","full","auto","LAYOUT_VIEWPORT_MIN_WIDTH","LAYOUT_VIEWPORT_MAX_WIDTH","LAYOUT_VIEWPORT_MAX_WIDTH_LARGE","LAYOUT_BANNER_HEIGHT","LAYOUT_GLOBAL_NAV_HEIGHT","LAYOUT_PROJECT_NAV_HEIGHT","LAYOUT_LOGO_MARGIN_RIGHT","LAYOUT_LOGO_MAX_HEIGHT","LAYOUT_LOGO_MAX_WIDTH","LAYOUT_FOOTER_HEIGHT","OPACITY_20_PERCENT","OPACITY_75_PERCENT","GLOBAL_POPUP_Z_INDEX","TOAST_AUTOCLOSE_DELAY","Key","PopupPlacement","PopupZLevel","PLACEMENT_FLIP_MAP","Left","Right","LeftBottom","RightBottom","LeftTop","RightTop","Top","Bottom","TopLeft","BottomLeft","TopRight","BottomRight","MARGIN_TO_EDGE","popupPositioning","toggleNode","popupNode","placement","toggleRect","getBoundingClientRect","popupRect","left","top","width","height","inBoundariesLeft","Math","max","getMinLeftPlacement","getMaxLeftPlacement","inBoundariesTop","getMinTopPlacement","getMaxTopPlacement","leftFix","topFix","document","documentElement","clientWidth","clientHeight","getProp","themeColor","opacity","getColor","themeContrast","getContrast","themeBorder","style","rgba","borders","themeShadow","shadows","map","item","x","y","blur","join","themeAvatarColor","contrast","hash","charCodeAt","slice","avatar","colorOverride","opacityOverride","startsWith","colors","contrasts","BareButton","MILLISECONDS_IN_A_SECOND","isMeasured","Tooltip","_jsx","TooltipInner","children","React","Component","mounted","mouseIn","onUpdatePlacement","visibleHasChanged","setState","isVisible","positionTooltip","addEventListeners","onUpdateVisible","clearPosition","removeEventListeners","addEventListener","throttledPositionTooltip","removeEventListener","clearTimeouts","clearTimeout","mouseEnterTimeout","mouseLeaveTimeout","hasVisibleChanged","prevStateVisible","prevPropsVisible","visible","getPlacement","tooltipNodeRef","node","tooltipNode","adjustArrowPosition","marginTop","ARROW_WIDTH","marginLeft","findDOMNode","Element","window","scrollX","scrollY","flipped","handlePointerEnter","setTimeout","mouseEnterDelay","onShow","handlePointerLeave","mouseLeaveDelay","onHide","handleFocus","handleBlur","handleOverlayPointerEnter","handleOverlayPointerLeave","handleChildPointerEnter","onPointerEnter","handleChildPointerLeave","onPointerLeave","needsFlipping","Boolean","abs","repositioningThreshold","uniqueId","componentDidMount","componentDidUpdate","prevProps","prevState","componentWillUnmount","render","_Fragment","cloneElement","onFocus","onBlur","TooltipPortal","TooltipWrapper","role","TooltipWrapperInner","TooltipWrapperArrow","__publicField","defaultProps","contextType","createElement","appendChild","removeChild","createPortal","fadeIn","keyframes","ARROW_HEIGHT","ARROW_MARGIN","tw","process","_styled","sizeMap","createIconComponent","defaultClassName","getSVGData","svgDataByHeight","heights","Icon","forwardedRef","ariaLabel","arialabelledby","tabIndex","_ref$className","_ref$fill","fill","_ref$size","_ref$verticalAlign","verticalAlign","title","naturalHeight","closestNaturalHeight","naturalWidth","labelled","naturalHeights","acc","CalendarIcon","ClockIcon","CommentIcon","CopyIcon","DotFillIcon","FileIcon","FileDirectoryIcon","FilterIcon","FoldDownIcon","FoldUpIcon","GitBranchIcon","GitPullRequestIcon","HomeIcon","KebabHorizontalIcon","LinkIcon","LinkExternalIcon","LockIcon","PencilIcon","PeopleIcon","PinIcon","ProjectIcon","SortAscIcon","SortDescIcon","StarIcon","StarFillIcon","TrashIcon","TriangleDownIcon","TriangleLeftIcon","TriangleRightIcon","TriangleUpIcon","UnfoldIcon","VerifiedIcon","XIcon","PIXELS_IN_ONE_REM","convertRemToPixel","remString","Number","replace","CustomIcon","ariaHidden","description","iconProps","clipRule","display","fillRule","userSelect","strokeLinejoin","strokeMiterlimit","viewBox","xmlSpace","xmlnsXlink","OcticonHoc","WrappedOcticon","displayName","IconWrapper","useTheme","OpenNewTabIcon","BaseLinkWithRef","blurAfterClick","disabled","icon","isExternal","isExternalProp","onClick","preventDefault","showExternalIcon","stopPropagation","to","rest","toAsString","pathname","search","handleClick","useCallback","event","currentTarget","rel","ExternalIcon","RouterLink","BaseLink","forwardRef","StyledBaseLink","twTheme","DrilldownLink","HoverLink","LinkBox","DiscreetLink","ContentLink","StandoutLink","Button","htmlProps","buttonProps","BaseButtonLink","BaseButton","buttonStyle","css","ButtonSecondary","ChevronDownIcon","d","ChevronRightIcon","OpenCloseIndicator","open","variantList","default","new","counter","counterFailed","variantInfo","Badge","variant","commonProps","includes","StyledCounter","StyledBadge","isDefined","InteractiveIconBase","propsForInteractiveWrapper","IconButton","buttonIconStyle","InteractiveIcon","currentColor","DiscreetInteractiveIcon","DestructiveIcon","BranchIcon","Octicon","CheckIcon","OcticonClockIcon","CloseIcon","UnfoldDownIcon","OcticonUnfoldIcon","UnfoldUpIcon","OcticonCommentIcon","OcticonCopyIcon","DirectoryIcon","OcticonDotFillIcon","OcticonFileIcon","FlagErrorIcon","FlagInfoIcon","FlagSuccessIcon","FlagWarningIcon","OcticonHomeIcon","InProgressVisual","xmlns","Wheel","WheelInverted","cx","cy","rotateKeyFrame","rotateKeyFrameInverse","OcticonLockIcon","PencilOcticonIcon","OcticonPinIcon","OcticonProjectIcon","PullRequestIcon","SortAscendIcon","SortDescendIcon","OcticonStarFillIcon","OcticonStarIcon","BaseTrashIcon","UserGroupIcon","InternMap","entries","keyof","intern_get","intern_set","intern_delete","_intern","values","valueof","ascending","descending","bisector","f","compare1","compare2","delta","zero","lo","hi","mid","right","center","number","ascendingBisect","bisectRight","e10","e5","e2","ticks","start","stop","count","reverse","n","step","tickIncrement","r0","r1","power","tickStep","step0","step1","range","initRange","implicit","ordinal","unknown","scale","band","ordinalRange","bandwidth","round","paddingInner","paddingOuter","align","rescale","sequence","pointish","copy","point","factory","parent","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","channels","color_formatHex","color_formatHex8","color_formatHsl","color_formatRgb","hslConvert","rgbn","Rgb","hsla","rgbConvert","o","k","clampi","clampa","rgb_formatHex","rgb_formatHex8","rgb_formatRgb","hex","Hsl","hsl","m2","m1","hsl2rgb","clamph","clampt","constant$1","linear","t","exponential","gamma","nogamma","constant","interpolateRgb","rgbGamma","colorRgb","numberArray","isNumberArray","genericArray","nb","na","date","interpolateNumber","object","reA","reB","one","interpolateString","bi","am","bm","bs","q","interpolate$1","string","interpolateRound","degrees","identity","decompose","scaleX","scaleY","skewX","svgNode","parseCss","parseSvg","interpolateTransform","parse","pxComma","pxParen","degParen","pop","translate","xa","ya","xb","yb","rotate","interpolateTransformCss","interpolateTransformSvg","constants","unit","normalize","clamper","bimap","interpolate","d0","d1","polymap","j","bisect","transformer","interpolateValue","transform","untransform","clamp","piecewise","output","input","u","continuous","formatDecimal","formatDecimalParts","p","coefficient","exponent","formatGroup","grouping","thousands","formatNumerals","numerals","re","formatSpecifier","specifier","FormatSpecifier","formatTrim","out","i0","i1","prefixExponent","formatPrefixAuto","formatRounded","formatTypes","identity$1","prefixes","formatLocale","locale","group","currencyPrefix","currencySuffix","decimal","percent","minus","nan","newFormat","sign","symbol","comma","precision","prefix","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","padding","formatPrefix","defaultLocale","precisionFixed","precisionPrefix","precisionRound","tickFormat","linearish","prestep","maxIter","NavLinkWithRef","otherProps","RouterNavLink","NavLink","root","this","__webpack_modules__","__unused_webpack_module","__webpack_exports__","__webpack_require__","clipboard","tiny_emitter","tiny_emitter_default","listen","listen_default","src_select","select_default","command","ClipboardActionCut","selectedText","actions_cut","createFakeElement","isRTL","fakeElement","yPosition","fakeCopyAction","ClipboardActionCopy","actions_copy","_typeof","ClipboardActionDefault","_options$action","action","container","text","actions_default","clipboard_typeof","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","call","_assertThisInitialized","getAttributeValue","element","attribute","Clipboard","_Emitter","_super","trigger","_this","_this2","selector","actions","support","DOCUMENT_NODE_TYPE","proto","closest","__unused_webpack_exports","_delegate","useCapture","listenerFn","delegate","elements","exports","is","listenNode","listenNodeList","listenSelector","nodeList","select","isReadOnly","selection","E","ctx","evtArr","evts","liveEvents","__webpack_module_cache__","moduleId","getter","COPY_SUCCESS_NOTIFICATION_LIFESPAN","ClipboardButton","IconCopy","copyValue","copiedLabel","copyLabel","copySuccess","handleCopy","useCopyClipboardEffect","TooltipProvider","isOpen","ClipboardIconButton","discreet","ButtonSize","Medium","ButtonIcon","tooltipContent","tooltipOptions","variety","ButtonVariety","DefaultGhost","Default","setCopySuccess","useState","isSuccess","focus","Spinner","intl","useIntl","customSpinner","placeholder","loading","_jsxs","it__loading","StyledSpinner","Placeholder","spinAnimation","Checkbox","checked","label","onCheck","thirdState","handleChange","CheckboxContainer","AccessibleCheckbox","onChange","StyledCheckbox","CheckboxIcon","rx","DropdownMenu","innerRef","maxHeight","menuProps","DropdownMenuWrapper","ItemLink","selected","liProps","ItemLinkStyled","ItemButton","ItemButtonStyled","ItemDangerButton","ItemCheckbox","ItemCheckboxStyled","ItemCopy","tooltipOverlay","ItemDownload","download","ItemDownloadStyled","ItemHeader","UnstyledItemHeader","ItemDivider","UnstyledItemDivider","itemStyle","EscKeydownHandler","handleKeyDown","Escape","onKeydown","FocusOutHandler","nodeRef","handleFocusOut","_a","querySelector","onFocusOut","OutsideClickHandler","addClickHandler","listenerType","handleWindowClick","removeClickHandler","contains","onClickOutside","ClickEventBoundary","PopupBase","zLevel","ariaProps","PopupWrapper","createRef","PopupWithRef","Popup","PureComponent","Global","positionPopup","Absolute","current","isGlobal","overlay","allowResizing","popupProps","Content","DropdownToggler","onRequestClose","withClickOutHandler","withFocusOutHandler","finalOverlay","Dropdown","handleClose","onClose","handleToggleClick","onOpen","openDropdown","closeOnClick","a11yAttrs","isValidElement","closeDropdown","onToggleClick","xhtml","namespaces","namespace","creatorInherit","uri","creatorFixed","fullname","creator","none","selection_select","groups","subgroups","subgroup","subnode","Selection","array","empty","selectorAll","arrayAll","selection_selectAll","parents","childMatcher","find","childFind","childFirst","selection_selectChild","childrenFilter","selection_selectChildren","selection_filter","sparse","update","selection_enter","EnterNode","datum","child","next","bindIndex","enter","exit","groupLength","dataLength","bindKey","nodeByKeyValue","keyValues","keyValue","selection_data","arraylike","enterGroup","updateGroup","exitGroup","previous","selection_exit","selection_join","onenter","onupdate","onexit","selection_merge","groups0","groups1","m0","merges","group0","group1","selection_order","selection_sort","compare","compareNode","sortgroups","sortgroup","selection_call","selection_nodes","selection_node","selection_size","selection_empty","selection_each","attrRemove","attrRemoveNS","attrConstant","attrConstantNS","attrFunction","v","attrFunctionNS","selection_attr","defaultView","styleRemove","styleConstant","priority","styleFunction","selection_style","styleValue","propertyRemove","propertyConstant","propertyFunction","selection_property","classArray","classList","ClassList","classedAdd","names","list","classedRemove","classedTrue","classedFalse","classedFunction","selection_classed","textRemove","textConstant","textFunction","selection_text","htmlRemove","htmlConstant","htmlFunction","selection_html","raise","selection_raise","lower","selection_lower","selection_append","create","constantNull","selection_insert","before","remove","selection_remove","selection_cloneShallow","clone","selection_cloneDeep","selection_clone","deep","selection_datum","contextListener","parseTypenames","typenames","onRemove","typename","on","onAdd","selection_on","dispatchEvent","dispatchConstant","dispatchFunction","selection_dispatch","selection_iterator","selection_selection","dispatch","Dispatch","types","T","get","set","that","frame","interval","pokeDelay","taskHead","taskTail","clockLast","clockNow","clockSkew","clock","setFrame","clearNow","Timer","delay","time","sleep","timerFlush","wake","nap","poke","t0","t1","t2","elapsed","emptyOn","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","schedule","timing","schedules","init","tween","tick","interrupt","active","selection_interrupt","tweenRemove","tween0","tween1","tweenFunction","transition_tween","tweenValue","transition","value1","string00","string1","interpolate0","string0","string10","transition_attr","attrInterpolate","attrInterpolateNS","attrTweenNS","attrTween","transition_attrTween","delayFunction","delayConstant","transition_delay","durationFunction","durationConstant","transition_duration","easeConstant","transition_ease","easeVarying","transition_easeVarying","transition_filter","Transition","transition_merge","onFunction","on0","on1","sit","transition_on","removeFunction","transition_remove","transition_select","transition_selectAll","inherit","transition_selection","styleNull","styleMaybeRemove","listener0","transition_style","styleInterpolate","styleTween","transition_styleTween","transition_text","textInterpolate","textTween","transition_textTween","transition_transition","id0","id1","newId","transition_end","selection_prototype","cubicInOut","defaultTiming","easeCubicInOut","selection_transition","Transform","location","_interopRequireDefault","require$$0","_getRequireWildcardCache","_interopRequireWildcard","toPrimitive","require$$1","toPropertyKey","assertThisInitialized","setPrototypeOf","_defineProperty","createDetectElementResize","nonce","hostWindow","_window","global","attachEvent","requestFrame","raf","cancelFrame","resetTriggers","triggers","expand","contract","expandChild","checkTriggers","scrollListener","animation","keyframeprefix","animationstartevent","domPrefixes","startEvents","pfx","elm","animationName","animationKeyframes","animationStyle","createStyles","doc","addResizeListener","elementStyle","resizeTriggersHtml","staticPolicy","removeResizeListener","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","componentName","propFullName","secret","getShim","ReactPropTypes","propTypesModule","_classCallCheck2","require$$2","_createClass2","require$$3","_possibleConstructorReturn2","require$$4","_getPrototypeOf3","require$$5","_assertThisInitialized2","require$$6","_inherits2","require$$7","_defineProperty2","require$$8","require$$9","_detectElementResize","require$$10","require$$11","_class","_temp","ownKeys","enumerableOnly","symbols","sym","_objectSpread","AutoSizer","_React$Component","_getPrototypeOf2","_len","_this$props","disableHeight","disableWidth","onResize","win","paddingLeft","paddingRight","paddingTop","paddingBottom","newHeight","newWidth","autoSizer","_this$props2","_this$state","outerStyle","childParams","_AutoSizer","getVariantInfo","borderColor","backGroundColor","warning","success","info","FlagMessage","domProps","StyledFlag","DismissableFlagMessage","onDismiss","flagMessageProps","DismissIcon","modules","installedModules","_Highlighter","_Highlighter2","Highlighter","_objectWithoutProperties","_highlightWordsCore","_propTypes","_propTypes2","_react","_memoizeOne","_memoizeOne2","_ref$activeClassName","activeClassName","_ref$activeIndex","activeIndex","activeStyle","autoEscape","_ref$caseSensitive","caseSensitive","findChunks","_ref$highlightClassName","highlightClassName","_ref$highlightStyle","highlightStyle","_ref$highlightTag","highlightTag","sanitize","searchWords","textToHighlight","_ref$unhighlightTag","unhighlightTag","_ref$unhighlightClassName","unhighlightClassName","unhighlightStyle","chunks","HighlightTag","highlightIndex","highlightClassNames","highlightStyles","lowercaseProps","memoizedLowercaseProps","highlightClass","isActive","_utils","_ref$findChunks","defaultFindChunks","fillInChunks","combineChunks","_ref2","second","processedChunks","nextChunk","prevChunk","endIndex","_ref3","_ref3$sanitize","searchWord","escapeRegExpFn","regex","_ref4","chunksToHighlight","totalLength","allChunks","append","highlight","REACT_ELEMENT_TYPE","throwOnDirectAccess","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","queue","draining","currentQueue","queueIndex","cleanUpNextTick","drainQueue","Item","dir","invariant","assign","checkPropTypes","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","iteratorFn","ANONYMOUS","createPrimitiveTypeChecker","createAnyTypeChecker","createArrayOfTypeChecker","createElementTypeChecker","createInstanceTypeChecker","createNodeChecker","createObjectOfTypeChecker","createEnumTypeChecker","createUnionTypeChecker","createShapeTypeChecker","createStrictShapeTypeChecker","PropTypeError","createChainableTypeChecker","validate","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","isRequired","cacheKey","chainedCheckType","expectedType","propValue","propType","getPropType","preciseType","getPreciseType","typeChecker","expectedClass","expectedClassName","actualClassName","getClassName","expectedValues","valuesString","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","isNode","shapeTypes","allKeys","entry","isSymbol","makeEmptyFunction","validateFormat","condition","argIndex","printWarning","_len2","_key2","getOwnPropertySymbols","propIsEnumerable","toObject","shouldUseNative","test1","test2","order2","test3","letter","from","loggedTypeFailures","typeSpecs","getStack","typeSpecName","ex","simpleIsEqual","resultFn","isEqual","lastThis","lastResult","calledOnce","isNewArgEqualToLast","newArg","newArgs","SearchHighlighterContext","createContext","SearchHighlighter","term","query","searchTerm","StyledHighlighter","deburr","SIZE_MAPPING","xs","sm","md","lg","xl","MetricsRatingBadge","rating","ariaAttrs","MetricsRatingBadgeStyled","StyledNoRatingBadge","getFontSize","isFrozen","getOwnPropertyDescriptor","freeze","seal","apply","construct","thisValue","Func","arrayForEach","unapply","arrayPop","arrayPush","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","objectHasOwnProperty","regExpTest","typeErrorCreate","unconstruct","func","addToSet","transformCaseFunc","lcElement","cleanArray","newObject","property","lookupGetter","fallbackValue","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","html","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","EXPRESSIONS","NODE_TYPE","getGlobal","_createTrustedTypesPolicy","trustedTypes","purifyHostElement","ATTR_NAME","policyName","scriptUrl","_createHooksMap","createDOMPurify","DOMPurify","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","NamedNodeMap","HTMLFormElement","DOMParser","ElementPrototype","cloneNode","getNextSibling","getChildNodes","getParentNode","template","trustedTypesPolicy","emptyHTML","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","cfg","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkValidNamespace","tagName","parentTagName","_forceRemove","_removeAttribute","_initDocument","dirty","leadingWhitespace","dirtyPayload","_createNodeIterator","_isClobbered","_isNode","_executeHooks","currentNode","hook","_sanitizeElements","_isBasicCustomElement","parentNode","childNodes","childCount","childClone","expr","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","attributes","hookEvent","attr","namespaceURI","attrValue","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","importedNode","returnNode","nodeIterator","serializedHTML","entryPoint","hookFunction","purify","dompurify","SanitizeLevel","sanitizeFunctionByLevel","sanitizeLevel","FORBID_STYLE","sanitizeHTMLToPreventCSSInjection","FORBID_SVG_MATHML","sanitizeHTMLNoSVGNoMathML","USER_INPUT","sanitizeHTMLUserInput","RESTRICTED","sanitizeHTMLRestricted","htmlAsString","SafeHTMLInjection","dangerouslySetInnerHTML","__html","BREAK_LINE_REGEXP","HljsIssueIndicatorPlugin","addIssuesToLines","sourceLines","issues","lineIndex","issuesByLine","issueKeys","lineIssueIndicatorElement","issueKey","extractIssue","Object","addIssueIndicator","getLines","split","inputHtml","lines","issueKeysPattern","removeIssueKeysPattern","wrappedLines","lineNumber","exec","push","referenceIssueKey","LINE_WRAPPER_OPEN_TAG","LINE_WRAPPER_CLOSE_TAG","EMPTY_INDICATOR_COLUMN","LINE_WRAPPER_STYLE","_HljsIssueIndicatorPlugin","hljsIssueIndicatorPlugin","HljsUnderlinePlugin","tokenize","ranges","sort","cursorOffset","simplifiedRanges","currentRange","nextRange","TOKEN_END","TOKEN_START","RegExp","replaceTokens","isIntersectingHtmlMarkup","SPAN_REGEX","depth","intersecting","htmlMarkup","startTokenIndex","endTagIndex","indexOf","CLOSE_TAG","OPEN_TAG","stringRegex","TOKEN_PREFIX","TOKEN_SUFFIX_START","TOKEN_SUFFIX_END","_HljsUnderlinePlugin","hljsUnderlinePlugin","SCMHighlight","LineSCMStyledDiv","DuplicationHighlight","LineStyled","LineMeta","LineCodePreFormatted","LineCodeLayer","LineCodeLayers","NewCodeUnderline","CoveredUnderline","UncoveredUnderline","UnderlineLabels","transparentBackground","UnderlineLabel","NewCodeUnderlineLabel","CoveredUnderlineLabel","UncoveredUnderlineLabel","LineCodeEllipsisStyled","actionscript","hljs","IDENT_RE","PKG_NAME_RE","IDENT_FUNC_RETURN_TYPE_RE","AS3_REST_ARG_MODE","bash","VAR","BRACED_VAR","SUBST","COMMENT","HERE_DOC","QUOTE_STRING","ESCAPED_QUOTE","APOS_STRING","ESCAPED_APOS","ARITHMETIC","SH_LIKE_SHELLS","KNOWN_SHEBANG","FUNCTION","KEYWORDS","LITERALS","PATH_MODE","SHELL_BUILT_INS","BASH_BUILT_INS","ZSH_BUILT_INS","GNU_CORE_UTILS","C_LINE_COMMENT_MODE","DECLTYPE_AUTO_RE","NAMESPACE_RE","FUNCTION_TYPE_RE","TYPES","STRINGS","NUMBERS","PREPROCESSOR","TITLE_MODE","FUNCTION_TITLE","EXPRESSION_CONTAINS","EXPRESSION_CONTEXT","FUNCTION_DECLARATION","cpp","CPP_PRIMITIVE_TYPES","RESERVED_KEYWORDS","RESERVED_TYPES","TYPE_HINTS","FUNCTION_HINTS","CPP_KEYWORDS","FUNCTION_DISPATCH","csharp","BUILT_IN_KEYWORDS","FUNCTION_MODIFIERS","LITERAL_KEYWORDS","NORMAL_KEYWORDS","CONTEXTUAL_KEYWORDS","RAW_STRING","VERBATIM_STRING","VERBATIM_STRING_NO_LF","SUBST_NO_LF","INTERPOLATED_STRING","INTERPOLATED_VERBATIM_STRING","INTERPOLATED_VERBATIM_STRING_NO_LF","STRING","GENERIC_MODIFIER","TYPE_IDENT_RE","AT_IDENTIFIER","MODES","HTML_TAGS","SVG_TAGS","TAGS","MEDIA_FEATURES","PSEUDO_CLASSES","PSEUDO_ELEMENTS","ATTRIBUTES","modes","VENDOR_PREFIX","AT_MODIFIERS","AT_PROPERTY_RE","dart","BRACED_SUBST","BUILT_IN_TYPES","NULLABLE_BUILT_IN_TYPES","dockerfile","go","gradle","decimalDigits","frac","hexDigits","NUMERIC","recurRegex","substitution","java","JAVA_IDENT_RE","GENERIC_IDENT_RE","ANNOTATION","PARAMS","ERROR_TYPES","BUILT_IN_GLOBALS","BUILT_IN_VARIABLES","BUILT_INS","javascript","hasClosingTag","after","IDENT_RE$1","FRAGMENT","XML_SELF_CLOSING","XML_TAG","afterMatchIndex","nextChar","afterMatch","KEYWORDS$1","decimalInteger","NUMBER","HTML_TEMPLATE","CSS_TEMPLATE","GRAPHQL_TEMPLATE","TEMPLATE_STRING","SUBST_INTERNALS","SUBST_AND_COMMENTS","PARAMS_CONTAINS","CLASS_OR_EXTENDS","CLASS_REFERENCE","USE_STRICT","FUNCTION_DEFINITION","UPPER_CASE_CONSTANT","noneOf","FUNCTION_CALL","PROPERTY_ACCESS","GETTER_OR_SETTER","FUNC_LEAD_IN_RE","FUNCTION_VARIABLE","json","ATTRIBUTE","PUNCTUATION","LITERALS_MODE","kotlin","KEYWORDS_WITH_LABEL","LABEL","VARIABLE","ANNOTATION_USE_SITE","KOTLIN_NUMBER_MODE","KOTLIN_NESTED_COMMENT","KOTLIN_PAREN_TYPE","KOTLIN_PAREN_TYPE2","objectivec","API_CLASS","IDENTIFIER_RE","CLASS_KEYWORDS","pgsql","COMMENT_MODE","UNQUOTED_IDENT","DOLLAR_STRING","SQL_KW","ROLE_ATTRS","PLPGSQL_KW","TYPES_RE","SQL_BI","PLPGSQL_BI","PLPGSQL_EXCEPTIONS","FUNCTIONS_RE","php","NOT_PERL_ETC","PASCAL_CASE_CLASS_NAME_RE","SINGLE_QUOTED","DOUBLE_QUOTED","HEREDOC","resp","NOWDOC","WHITESPACE","KWS","items","normalizeKeywords","CONSTRUCTOR_CALL","CONSTANT_REFERENCE","LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON","NAMED_ARGUMENT","PARAMS_MODE","FUNCTION_INVOKE","ATTRIBUTE_CONTAINS","plaintext","powershell","VALID_VERBS","COMPARISON_OPERATORS","TITLE_NAME_RE","BACKTICK_ESCAPE","LITERAL","PS_HELPTAGS","PS_COMMENT","CMDLETS","PS_CLASS","PS_FUNCTION","PS_USING","PS_ARGUMENTS","HASH_SIGNS","PS_METHODS","GENTLEMANS_SET","PS_TYPE","properties","WS0","WS1","EQUAL_DELIM","WS_DELIM","DELIM","KEY","DELIM_AND_VALUE","python","RESERVED_WORDS","PROMPT","LITERAL_BRACKET","digitpart","pointfloat","lookahead","COMMENT_TYPE","ruby","RUBY_METHOD_RE","CLASS_NAME_RE","CLASS_NAME_WITH_NAMESPACE_RE","RUBY_KEYWORDS","YARDOCTAG","IRB_OBJECT","COMMENT_MODES","digits","RUBY_DEFAULT_CONTAINS","IRB_DEFAULT","scala","TYPE","NAME","CLASS","METHOD","EXTENSION","END","INLINE_MODES","USING_PARAM_CLAUSE","shell","sql","QUOTED_IDENTIFIER","MULTI_WORD_TYPES","NON_RESERVED_WORDS","RESERVED_FUNCTIONS","POSSIBLE_WITHOUT_PARENS","COMBOS","FUNCTIONS","keyword","OPERATOR","reduceRelevancy","exceptions","when","qualifyFn","concat","stripOptionsFromArgs","either","keywordWrapper","dotKeywords","optionalDotKeywords","keywordTypes","keywords","literals","precedencegroupKeywords","numberSignKeywords","builtIns","operatorHead","operatorCharacter","operator","identifierHead","identifierCharacter","identifier","typeIdentifier","keywordAttributes","availabilityKeywords","swift","BLOCK_COMMENT","COMMENTS","DOT_KEYWORD","KEYWORD_GUARD","PLAIN_KEYWORDS","kw","REGEX_KEYWORDS","KEYWORD","KEYWORD_MODES","BUILT_IN_GUARD","BUILT_IN","OPERATOR_GUARD","OPERATORS","ESCAPED_CHARACTER","rawDelimiter","ESCAPED_NEWLINE","INTERPOLATION","MULTILINE_STRING","SINGLE_LINE_STRING","REGEXP_CONTENTS","BARE_REGEXP_LITERAL","EXTENDED_REGEXP_LITERAL","begin","REGEXP","IMPLICIT_PARAMETER","PROPERTY_WRAPPER_PROJECTION","IDENTIFIERS","AVAILABLE_ATTRIBUTE","KEYWORD_ATTRIBUTE","USER_DEFINED_ATTRIBUTE","GENERIC_ARGUMENTS","TUPLE_ELEMENT_NAME","TUPLE","GENERIC_PARAMETERS","FUNCTION_PARAMETER_NAME","FUNCTION_PARAMETERS","FUNCTION_OR_MACRO","INIT_SUBSCRIPT","OPERATOR_DECLARATION","PRECEDENCEGROUP","TYPE_DECLARATION","interpolation","mode","submodes","typescript","tsLanguage","INTERFACE","TS_SPECIFIC_KEYWORDS","DECORATOR","swapMode","replacement","indx","ATTRIBUTE_HIGHLIGHT","functionDeclaration","vbnet","CHARACTER","MM_DD_YYYY","YYYY_MM_DD","TIME_12H","TIME_24H","DATE","DOC_COMMENT","TAG_NAME_RE","XML_IDENT_RE","XML_ENTITIES","XML_META_KEYWORDS","XML_META_PAR_KEYWORDS","APOS_META_STRING_MODE","QUOTE_META_STRING_MODE","TAG_INTERNALS","yaml","URI_CHARACTERS","TEMPLATE_VARIABLES","CONTAINER_STRING","TIMESTAMP","VALUE_CONTAINER","OBJECT","ARRAY","VALUE_MODES","registerLanguage","docker","abap","apex","cobol","registerAliases","languageName","addPlugin","CODE_REGEXP","GLOBAL_REGEXP","SINGLE_REGEXP","htmlDecode","escapedCode","parseFromString","textContent","CodeSyntaxHighlighter","escapeDom","language","wrap","highlightedHtmlAsString","codeBlock","unescapedCode","highlightedCode","actualLanguage","getLanguage","ignoreIllegals","StyledSpan","ExecutionFlowAccordion","expanded","hidden","Accordion","Expander","Body","FacetBox","clearIconLabel","countLabel","dataProperty","disabledHelper","secondLine","hasEmbeddedFacets","help","idProp","inner","onClear","tooltipComponent","clearable","expandable","useMemo","SCTooltip","Header","TitleWithHelp","ChevronAndTitle","HeaderTitle","Text","as","isSubdued","BadgeAndIcons","IconX","STATBAR_MAX_WIDTH","BaseFacetItem","disabledProp","disableZero","stat","statBarPercent","tooltip","ctrlKey","metaKey","StyledItem","StyledButton","FacetStatBar","FacetStatBarInner","FacetItem","HighlightedFacetItems","BAR_HEIGHT","DEFAULT_PADDING","Histogram","renderBar","xScale","yScale","leftAlignTicks","HistogramBar","renderValue","yValues","yTooltips","HistogramTick","dx","dy","textAnchor","renderTick","yTicks","renderBars","bars","availableWidth","scaleLinear","availableHeight","scaleBand","rangeRound","__assign","__rest","__spreadArray","pack","ar","isDayPickerMultiple","isDayPickerRange","isDayPickerSingle","defaultClassNames","formatCaption","month","formatDay","day","formatMonthCaption","formatWeekNumber","weekNumber","formatWeekdayName","weekday","formatYearCaption","year","formatters","labelDay","activeModifiers","labelMonthDropdown","labelNext","labelPrevious","labelWeekday","labelWeekNumber","labelYearDropdown","labels","getDefaultContextValues","captionLayout","enUS","modifiersClassNames","modifiers","numberOfMonths","today","parseFromToProps","fromYear","toYear","fromMonth","toMonth","fromDate","toDate","startOfMonth","endOfMonth","startOfDay","DayPickerContext","DayPickerProvider","initialProps","defaultContextValues","_b","onSelect","jsx","useDayPicker","useContext","CaptionLabel","IconDropdown","caption","dayPicker","IconDropdownComponent","jsxs","MonthsDropdown","components","Fragment","dropdownMonths","isSameYear","setMonth","selectedMonth","newMonth","DropdownComponent","YearsDropdown","displayMonth","years","setYear","startOfYear","useControlledValue","controlledValue","uncontrolledValue","setValue","getInitialMonth","defaultMonth","initialMonth","differenceInCalendarMonths","offset","addMonths","useNavigationState","goToMonth","getDisplayMonths","reverseMonths","monthsDiff","months","nextMonth","getNextMonth","startingMonth","pagedNavigation","getPreviousMonth","NavigationContext","NavigationProvider","currentMonth","displayMonths","previousMonth","isDateDisplayed","isSameMonth","goToDate","refDate","isBefore","useNavigation","CaptionDropdowns","handleMonthChange","CaptionLabelComponent","captionLabel","IconLeft","IconRight","classNamesArr","Navigation","_c","_d","previousLabel","previousClassName","nextLabel","nextClassName","IconRightComponent","IconLeftComponent","CaptionNavigation","displayIndex","isFirst","hideNext","hidePrevious","handlePreviousClick","handleNextClick","Caption","disableNavigation","Footer","footer","tfoot","getWeekdays","weekStartsOn","ISOWeek","startOfISOWeek","startOfWeek","days","addDays","HeadRow","showWeekNumber","weekdays","Head","HeadRowComponent","DayContent","SelectMultipleContext","SelectMultipleProvider","emptyContextValue","SelectMultipleProviderInternal","onDayClick","isMinSelected","isMaxSelected","selectedDays","selectedDay","isSameDay","isSelected","contextValue","useSelectMultiple","addToRange","isAfter","SelectRangeContext","SelectRangeProvider","SelectRangeProviderInternal","selectedFrom","selectedTo","newRange","subDays","selectedCount","differenceInCalendarDays","useSelectRange","matcherToArray","getCustomModifiers","dayModifiers","customModifiers","modifier","InternalModifier","Selected","Disabled","Hidden","Today","RangeEnd","RangeMiddle","RangeStart","Outside","getInternalModifiers","selectMultiple","selectRange","internalModifiers","ModifiersContext","ModifiersProvider","useModifiers","isDateInterval","isDateRange","isDateAfterType","isDateBeforeType","isDayOfWeekType","isDateInRange","isRangeInverted","isInRange","isDateType","isArrayOfDates","isMatch","matchers","diffBefore","diffAfter","isDayBefore","isDayAfter","isClosedInterval","getActiveModifiers","matchedModifiers","getInitialFocusTarget","firstDayInMonth","lastDayInMonth","firstFocusableDay","isFocusable","MAX_RETRY","getNextFocus","focusedDay","moveBy","direction","retry","moveFns","addWeeks","addYears","endOfISOWeek","endOfWeek","newFocusedDay","FocusContext","FocusProvider","navigation","setFocusedDay","lastFocused","setLastFocused","initialFocusTarget","focusTarget","moveFocus","nextFocused","useFocusContext","useActiveModifiers","SelectSingleContext","SelectSingleProvider","SelectSingleProviderInternal","useSelectSingle","useDayEventHandlers","single","multiple","focusDayAfter","focusDayBefore","focusWeekAfter","focusWeekBefore","focusMonthBefore","focusMonthAfter","focusYearBefore","focusYearAfter","focusStartOfWeek","focusEndOfWeek","onMouseEnter","onMouseLeave","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onKeyUp","onKeyDown","eventHandlers","useSelectedDays","isInternalModifier","getDayClassNames","customClassName","internalClassName","getDayStyle","useDayRender","buttonRef","focusContext","isButton","useEffect","isHidden","DayContentComponent","divProps","isFocusTarget","isFocused","dayRender","Day","useRef","WeekNumber","dates","onWeekNumberClick","Row","DayComponent","WeeknumberComponent","weekNumberCell","getUnixTime","daysToMonthWeeks","toWeek","fromWeek","nOfDays","weeksInMonth","getISOWeek","getWeek","existingWeek","getMonthWeeks","nrOfMonthWeeks","getWeeksInMonth","lastWeek","lastDate","extraWeeks","Table","hideHead","fixedWeeks","firstWeekContainsDate","weeks","HeadComponent","RowComponent","FooterComponent","week","canUseDOM","useIsomorphicLayoutEffect","useLayoutEffect","serverHandoffComplete","genId","useId","providedId","initialId","setId","Month","captionId","tableId","isStart","isEnd","isCenter","CaptionComponent","Months","Root","hasInitialFocus","setHasInitialFocus","dataAttributes","attrs","MonthsComponent","RootProvider","DayPicker","InputField","StyledInput","InputTextArea","StyledTextArea","defaultStyle","dangerStyle","successStyle","getInputVariant","isValid","isInvalid","baseStyle","DEFAULT_MAX_LENGTH","InputSearch","autoFocus","inputId","onMouseDown","minLength","maxLength","parentValue","searchInputAriaLabel","debouncedOnChange","debounce","tooShort","inputClassName","touched","changeValue","newValue","handleInputChange","eventValue","handleInputKeyDown","handleClearClick","InputSearchWrapper","StyledInputWrapper","autoComplete","StyledSearchIconWrapper","StyledSearchIcon","StyledInteractiveIcon","StyledNote","IconSearch","mappedKeys","Alt","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Command","Control","Option","Click","NON_KEY_SYMBOLS","KeyboardHintKeys","uniqueKey","isNonMappedKey","KeyBox","ListItem","NumberedList","NumberedListItem","ListStyle","DECIMAL","ROMAN","OrderedList","tickStyle","UnorderedList","findTabbableDescendants","DISPLAY_NONE","DISPLAY_CONTENTS","tabbableNode","isNotOverflowing","hidesContents","zeroSize","displayValue","parentElement","rootNode","focusable","isTabIndexNotNaN","nodeName","tabbable","isTabIndexNaN","descendants","finished","focusManager","resetState","log","markForFocusLater","returnFocus","popWithoutFocus","setupScopedFocus","teardownScopedFocus","_tabbable","_tabbable2","focusLaterElements","modalElement","needToFocus","preventScroll","toFocus","scopeTab","getActiveElement","shiftKey","activeElement","checkSafari","isSafariDesktop","warning_1","ExecutionEnvironment","safeHTMLElement","_exenv","_exenv2","EE","SafeHTMLElement","ariaAppHider","assertNodeList","setElement","validateElement","hide","show","documentNotReadyOrSSRTesting","_warning","_warning2","_safeHTMLElement","globalElement","useElement","appElement","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_step","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","htmlClassList","docBodyClassList","removeClass","at","cls","htmlElement","_cls","incrementReference","poll","decrementReference","trackClass","classListRef","untrackClass","classString","portalOpenInstances_1","PortalOpenInstances","openInstance","eventType","subscriber","portalOpenInstances","bodyTrap_1","_portalOpenInstances","_portalOpenInstances2","instances","_arr","_i","_arr2","_i2","check","focusContent","bodyTrap","openInstances","defineProperties","_focusManager","_scopeTab","_scopeTab2","_ariaAppHider","_classList","_safeHTMLElement2","newObj","CLASS_NAMES","isTabKey","isEscKey","ariaHiddenInstances","ModalPortal","_Component","ariaHideApp","htmlOpenClassName","bodyOpenClassName","parentSelector","parentDocument","closesAt","which","additional","_props","_props2","overlayClassName","defaultStyles","contentStyles","overlayStyles","overlayProps","contentProps","contentElement","componentWillMount","componentWillReceiveProps","nextProps","updater","componentWillUpdate","nextState","polyfill","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","newApiName","maybeSnapshot","snapshot","Modal_1","_react2","_reactDom","_reactDom2","_ModalPortal","_ModalPortal2","_reactLifecyclesCompat","portalClassName","isReact16","createHTMLElement","getCreatePortal","getParentElement","Modal","_ret","portal","prevParent","nextParent","contentEl","_Modal","_Modal2","ModalBody","isScrollable","isOverflowVisible","StyledMain","scrollable","overflowVisible","ModalFooter","primaryButton","secondaryButton","StyledFooter","ButtonGroup","ModalHeader","Title","Description","ReactModal","setAppElement","hasNoChildren","closeOnOverlayClick","isLarge","globalStyles","aria","labelledby","shouldCloseOnEsc","shouldCloseOnOverlayClick","shouldFocusAfterRender","shouldReturnFocusAfterClose","headerDescription","headerTitle","isDisabled","secondaryButtonLabel","NavBarTabs","other","NavBarTabLink","withChevron","linkProps","NavBarTabLinkWrapper","IconChevronDown","DisabledTabLink","PillVariant","PillHighlight","variantThemeColors","Critical","Danger","Warning","Caution","Info","Accent","Success","Neutral","variantThemeBorderColors","variantThemeHoverColors","Pill","Low","notClickable","StyledPillButton","StyledPill","reusedStyles","RecommendedIcon","SonarCodeColorizer","isOfType","isNull","isRegex","equalArray","equal","equalArrayBuffer","view1","view2","equalMap","equalSet","leftKeys","rightKeys","objectTypes","primitiveTypes","getObjectType","objectTypeName","isObjectType","isObjectOfType","isPrimitiveType","DOM_PROPERTIES_TO_CHECK","tagType","predicate","class_","src_default","canHaveLength","arguments_","checkEquality","isSameType","hasValue","hasEntry","compareNumbers","previousData","actual","nested","changed","compareValues","primary","secondary","isEqualPredicate","hasExtraKeys","getIterables","includesOrEqualsTo","previousValue","treeChanges","is2","hasActual","hasPrevious","leftComparator","rightComparator","equal2","E_NOSCROLL","E_CANCELLED","ms","scroll","make","ease","inOutSine","duration","cancelled","animate","eased","isScrolling","overflow","scrollParent","isMergeableObject","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","emptyTarget","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","getMergeFunction","customMerge","getEnumerableOwnPropertySymbols","getKeys","propertyIsOnObject","propertyIsUnsafe","mergeObject","destination","sourceIsArray","targetIsArray","sourceAndTargetTypesMatch","prev","deepmerge_1","cjs","isBrowser","timeoutDuration","longerTimeoutBrowsers","microtaskDebounce","called","taskDebounce","scheduled","supportsMicroTasks","functionToCheck","getType","getStyleComputedProperty","getScrollParent","_getStyleComputedProp","overflowX","overflowY","getReferenceNode","reference","isIE11","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","isOffsetContainer","getRoot","findCommonOffsetParent","element1","element2","order","commonAncestorContainer","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","getBordersSize","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","classCallCheck","createClass","defineProperty","getClientRect","offsets","sizes","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","borderTopWidth","borderLeftWidth","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","isFixed","getFixedPositionOffsetParent","getBoundaries","popper","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","refRect","rects","sortedAreas","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","getOppositePlacement","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","findIndex","cur","runModifiers","ends","modifiersToRun","isModifierEnabled","modifierName","enabled","getSupportedPropertyName","upperProp","toCheck","destroy","getWindow","ownerDocument","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","enableEventListeners","disableEventListeners","isNumeric","setStyles","setAttributes","applyStyle","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","_data$offsets","floor","noRound","referenceWidth","popperWidth","isVertical","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","invertTop","invertLeft","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","opSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","getOppositeVariation","placements","validPlacements","clockwise","BEHAVIORS","flip","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flippedVariationByContent","flippedVariation","keepTogether","toValue","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","index2","preventOverflow","transformProp","popperStyles","shift","shiftvariation","shiftOffsets","bound","subtractLength","Defaults","Popper","eventsEnabled","__values","e_1","e_2","e_1_1","_e","_f","e_2_1","e_3","e_3_1","added","changedFrom","changedTo","decreased","emptied","filled","increased","removed","_objectSpread2","_toPropertyKey","_objectWithoutPropertiesLoose","excluded","sourceKeys","sourceSymbolKeys","_toPrimitive","hint","prim","DEFAULTS","VALIDATOR_ARG_ERROR_MESSAGE","MESSAGE_ARG_ERROR_MESSAGE","propIsRequired","propExists","missingPropError","guardAgainstInvalidArgTypes","typeValidator","isRequiredIf","STATUS","ReactDOM","isMobile","_ref$warn","warn","_ref$debug","debug","logFn","capture","off","once","_nextCB","ReactFloaterPortal","zIndex","setRef","_this$props3","hasChildren","PropTypes","FloaterArrow","setArrowRef","_styles$arrow","margin","arrowStyles","points","_excluded$1","FloaterCloseBtn","FloaterContainer","positionWrapper","showCloseButton","Floater","disableAnimation","component","hideArrow","floater","floaterCentered","floaterClosing","floaterOpening","floaterWithAnimation","floaterWithComponent","closeFn","setFloaterRef","ReactFloaterWrapper","handleMouseEnter","handleMouseLeave","setChildRef","setWrapperRef","refProp","defaultOptions","getStyles","_excluded","POSITIONING_PROPS","ReactFloater","newStatus","eventDelay","_this$state2","_this$props5","_this$props6","autoOpen","wrapperOptions","_treeChanges","forceStatus","_this$props7","disableFlip","getPopper","flipBehavior","_this$options","offsetOptions","_this2$floaterRef","currentPlacement","wrapperOffset","_this3","_this3$floaterRef","nextStatus","_this$props8","disableHoverToClick","_this4","_this$state3","statusWrapper","nextStyles","wrapperStyles","targetStyles","_this$state4","_this$props9","wrapper","hasProps","reduceJsxToString","innerText","reactInnertext","__defProp","__defNormalProp","ACTIONS","EVENTS","LIFECYCLE","getDocumentHeight","median","middle","getElement","skipFix","forListener","scrollDocument","hasCustomScrollParent","hasCustomOffsetParent","hasPosition","isElementVisible","visibility","getElementPosition","elementRect","hasScrollParent","parentTop","getScrollTo","offsetTop","scrollTo","limit","getBrowser","userAgent","browser","getText","recurse","hasValidKeys","hexToRGB","shorthandRegex","properHex","_m","hideBeacon","isLegacy","objectKeys","omit","pick","shouldScroll","isFirstStep","lifecycle","previousLifecycle","scrollToFirstStep","defaultFloaterProps","defaultStep","buttonBase","spotlight","floaterProps","mergedFloaterProps","mergedStyles","hideBeacon2","getTourProps","getMergedStep","currentStep","mergedStep","deepmerge2","scrollParent2","validateStep","validateSteps","steps","defaultState","validKeys","Store","nextIndex","controlled","restart","is3","advance","stepIndex","force","newIndex","oldState","initial","createStore","JoyrideSpotlight","Spotlight_default","JoyrideOverlay","React2.Component","disableOverlay","hiddenLifecycles","mouseOverSpotlight","offsetY","offsetX","inSpotlightHeight","inSpotlight","disableScrolling","disableScrollParentFix","previousProps","spotlightClicks","disableOverlayClose","baseStyles","showSpotlight","spotlightPadding","isFixedTarget","previousState","onClickOverlay","hideSpotlight","spotlightStyles","spotlight2","React2.createElement","mixBlendMode","safariOverlay","JoyridePortal","React3.Component","ReactDOM.unmountComponentAtNode","ReactDOM.unstable_renderSubtreeIntoContainer","ReactDOM.createPortal","Scope","validTabNodes","noSize","JoyrideBeacon","React4.Component","shouldFocus","is4","beaconComponent","isLastStep","onClickOrHover","sharedProps","BeaconComponent","React4.createElement","JoyrideTooltipCloseButton","React5","CloseButton_default","JoyrideTooltipContainer","backProps","closeProps","primaryProps","skipProps","tooltipProps","hideBackButton","hideCloseButton","hideFooter","showProgress","showSkipButton","back","close","last","skip","React6.createElement","Container_default","JoyrideTooltip","React7.Component","setTooltipRef","primaryText","cleanStep","renderProps","TooltipComponent","React7.createElement","JoyrideStep","React8.Component","store","React8.createElement","treeChanges2","skipBeacon","hasStoreChanged","isInitial","isAfterAction","isControlled","elementExists","shouldScroll2","is5","Joyride","React9.Component","is6","getHelpers","run","addListener","disableCloseOnEsc","previousStepIndex","previousSteps","reset","setSteps","changedProps","treeChanges3","stepsChanged","stepIndexChanged","nextAction","callbackData","previousStep","scrollDuration","scrollOffset","shouldScrollToStep","hasCustomScroll","beaconPopper","tooltipPopper","isRunning","React9.createElement","components_default","findAnchor","targetRect","offestTop","offestLeft","bottom","PULSE_SIZE","DEFAULT_PLACEMENT","DEFAULT_WIDTH","defultRect","DOMRect","actionLabel","actionPath","skipPropsAriaLabel","stepXofYLabel","timeStamp","setTimeStamp","add","updateScroll","targetElement","arrowPosition","StyledPopupWrapper","SpotlightArrowWrapper","SpotlightArrow","LinkStandalone","Primary","SpotlightTour","skipLabel","backLabel","closeLabel","ReactJoyride","disableBeacon","pulseKeyFrame","SubnavigationGroup","childrenArray","Children","Group","Separator","SubnavigationAccordion","initExpanded","onSetExpanded","innerExpanded","setInnerExpanded","finalExpanded","toggleExpanded","SubnavigationAccordionItem","SubnavigationHeading","SubnavigationSubheading","clsx","I","C","L","N","$","P","M","A","B","O","D","z","R","S","H","F","X","Y","Q","MessageLevel","addGlobalErrorMessage","overrides","createToast","Error","addGlobalSuccessMessage","level","toast","SIZE_SCALE","TEXT_VISIBLE_AT_WIDTH","TEXT_VISIBLE_AT_HEIGHT","ICON_VISIBLE_AT_WIDTH","ICON_VISIBLE_AT_HEIGHT","TreeMapRect","itemKey","gradient","handleRectClick","cellStyles","backgroundColor","backgroundImage","fontSize","lineHeight","isTextVisible","isIconVisible","StyledCell","StyledCellLink","StyledCellLabel","StyledA11yHidden","StyledTutorialStepList","TutorialStepList","COLORS","white","black","sonarcloud","grey","blueGrey","indigo","tangerine","green","yellowGreen","yellow","orange","red","blue","codeSnippetLight","annotations","comments","codeSnippetDark","codeSyntaxLight","codeSyntaxDark","danger","lightest","lighter","lightTheme","highlightTheme","logo","transparent","backgroundPrimary","backgroundSecondary","border","primaryLight","primaryDark","textSuccess","projectCardDisabled","button","buttonHover","buttonSecondary","buttonSecondaryBorder","buttonSecondaryHover","buttonDisabled","buttonDisabledBorder","dangerButton","dangerButtonHover","dangerButtonFocus","dangerButtonSecondary","dangerButtonSecondaryBorder","dangerButtonSecondaryHover","dangerButtonSecondaryFocus","thirdPartyButton","thirdPartyButtonBorder","thirdPartyButtonHover","popup","popupBorder","toastText","toastErrorBorder","toastErrorIconBackground","toastWarningBorder","toastWarningIconBackground","toastSuccessBorder","toastSuccessIconBackground","toastInfoBorder","toastInfoIconBackground","spotlightPulseBackground","spotlightBackgroundColor","modalContents","modalOverlay","dropdownMenu","dropdownMenuHover","dropdownMenuFocus","dropdownMenuFocusBorder","dropdownMenuDisabled","dropdownMenuHeader","dropdownMenuDanger","radio","radioBorder","radioHover","radioFocus","radioFocusBorder","radioFocusOutline","radioChecked","radioDisabled","radioDisabledBackground","radioDisabledBorder","switch","switchDisabled","switchActive","switchHover","switchHoverActive","switchButton","switchButtonDisabled","sidebarBackground","sidebarItemActive","sidebarBorder","sidebarActiveIcon","separatorCircle","breakdownBorder","breakdownHeaderBackground","flagMessageBackground","flagMessageFocusBackground","flagMessageText","errorBorder","errorBackground","errorIconBackground","errorText","errorIcon","errorIconHover","errorIconHoverBackground","errorIconFocusBackground","warningBorder","warningBackground","warningIconBackground","warningText","warningIcon","warningIconHover","warningIconHoverBackground","warningIconFocusBackground","successBorder","successBackground","successIconBackground","successText","successIcon","successIconHover","successIconHoverBackground","successIconFocusBackground","infoBorder","infoBackground","infoIconBackground","infoContrast","infoText","infoIcon","infoIconHover","infoIconHoverBackground","infoIconFocusBackground","recommendedBorder","recommendedBackground","recommendedIcon","recommendedIconHover","recommendedIconHoverBackground","recommendedIconFocusBackground","bannerMessage","bannerMessageIcon","toggle","toggleBorder","toggleHover","toggleFocus","codeSnippetBackground","codeSnippetBorder","codeSnippetHighlight","codeSnippetBody","codeSnippetAnnotations","codeSnippetComments","codeSnippetConstants","codeSnippetKeyword","codeSnippetString","codeSnippetKeywordLight","codeSnippetPreprocessingDirective","codeSnippetInline","codeLine","codeLineBorder","codeLineLocationMarker","codeLineLocationMarkerSelected","codeLineLocationSelected","codeLineCoveredUnderline","codeLineUncoveredUnderline","codeLineHover","codeLineHighlighted","codeLineNewCodeUnderline","codeLineDuplication","codeLineCovered","codeLineUncovered","codeLinePartiallyCoveredA","codeLinePartiallyCoveredB","codeLineIssueSquiggle","codeLineIssuePointerBorder","codeLineLocationHighlighted","codeLineEllipsis","codeLineEllipsisHover","codeLineIssueLocation","codeLineIssueLocationSelected","codeLineIssueMessageTooltip","codeSyntaxBody","codeSyntaxAnnotations","codeSyntaxConstants","codeSyntaxComments","codeSyntaxKeyword","codeSyntaxString","codeSyntaxKeywordLight","codeSyntaxPreprocessingDirective","checkboxHover","checkboxCheckedHover","checkboxDisabled","checkboxDisabledChecked","checkboxLabel","searchHighlight","inputBackground","inputBorder","inputFocus","inputDanger","inputDangerFocus","inputSuccess","inputSuccessFocus","inputDisabled","inputDisabledBorder","inputRequired","tooltipBackground","tooltipHighlight","avatarBackground","avatarBorder","badgeNew","badgeDefault","badgeDeleted","badgeCounter","badgeCounterFailed","badgeCounterFailedBorder","pillCritical","pillCriticalBorder","pillCriticalHover","pillDanger","pillDangerBorder","pillDangerHover","pillWarning","pillWarningBorder","pillWarningHover","pillCaution","pillCautionBorder","pillCautionHover","pillInfo","pillInfoBorder","pillInfoHover","pillAccent","pillAccentBorder","pillAccentHover","pillSuccess","pillSuccessBorder","pillSuccessHover","pillNeutral","pillNeutralBorder","pillNeutralHover","selectOptionSelected","breadcrumb","tabBorder","tabSelected","tabHover","tableRowHover","tableRowSelected","linkDefault","linkNaked","linkActive","linkDiscreet","linkTooltipDefault","linkTooltipActive","linkBorder","linkExternalIcon","linkExternalIconActive","contentLinkBorder","discreetBorder","discreetBackground","discreetHover","discreetButtonHover","discreetFocus","discreetFocusBorder","interactiveIcon","interactiveIconHover","interactiveIconFocus","bannerIcon","bannerIconHover","bannerIconFocus","destructiveIcon","destructiveIconHover","destructiveIconFocus","iconSoftwareImpactSeverityBlocker","iconSoftwareImpactSeverityHigh","iconSoftwareImpactSeverityMedium","iconSoftwareImpactSeverityLow","iconSoftwareImpactSeverityInfo","iconSeverityMajor","iconSeverityMinor","iconSeverityInfo","iconDirectory","iconFavorite","iconCheck","iconPositiveUpdate","iconNegativeUpdate","iconTrendPositive","iconTrendNegative","iconTrendNeutral","iconError","iconWarning","iconSuccess","iconInfo","iconStatus","iconNotificationsOn","iconHelperHint","iconRuleInheritanceOverride","numberedList","numberedListText","listMarker","productNews","productNewsHover","scrollbar","resizer","coverageGreen","coverageRed","duplicationsIndicatorSecondary","sizeIndicator","datePicker","datePickerIcon","datePickerDisabled","datePickerDefault","datePickerHover","datePickerSelected","datePickerRange","qgIndicatorPassed","qgIndicatorFailed","qgIndicatorNotComputed","qgCardFailed","qgConditionNotCayc","qgConditionCayc","mainBar","mainBarHover","mainBarLogo","mainBarDarkLogo","mainBarNews","menuBorder","navbar","navbarTextMeta","filterbar","filterbarBorder","facetHeader","facetItemSelected","facetItemSelectedHover","facetItemSelectedBorder","facetItemGraph","facetKeyboardHint","facetToggleActive","facetToggleInactive","facetToggleHover","subnavigation","subnavigationHover","subnavigationSelected","subnavigationBorder","subnavigationSeparator","subnavigationSubheading","subnavigationExecutionFlow","subnavigationExecutionFlowBorder","subnavigationExecutionFlowSeparator","subnavigationExecutionFlowActive","footerBorder","projectCardBackground","projectCardBorder","projectCardInfo","backgroundPromotedSection","overviewCardDefaultIcon","overviewCardWarningIcon","overviewCardErrorIcon","overviewCardSuccessIcon","overviewSoftwareImpactSeverityNeutral","overviewSoftwareImpactSeverityHigh","overviewSoftwareImpactSeverityMedium","overviewSoftwareImpactSeverityLow","graphPointCircleColor","graphGridColor","newCodeHighlight","graphZoomBackgroundColor","graphZoomBorderColor","graphLegendBorder","pageTitle","pageContent","pageContentDark","pageBlock","pageBlockBorder","coreConceptsTitle","coreConceptsBody","coreConceptsHomeBorder","coreConceptsCompleted","coreConceptsPulse","coreConceptsPulseFallback","coreConceptsProgressBar","issueBoxSelectedBorder","issueBoxBorder","issueBoxBorderDepracated","issueTypeIcon","pipeSeparator","drilldown","drilldownBorder","selectionCardHeader","selectionCardDisabled","selectionCardBorder","selectionCardBorderHover","selectionCardBorderSelected","selectionCardBorderDisabled","bubbleChartLine","bubbleDefault","treeMapCellTextColor","newCodeLegend","newCodeLegendBorder","highlightedSection","highlightedSectionBorder","highlightRingBackground","activityCommentPipe","illustrationInlineBorder","illustrationPrimary","illustrationSecondary","illustrationShade","newsBar","newsBorder","newsContent","newsTag","roadmap","roadmapContent","almCardBorder","keyboardHintKey","progressBarForeground","progressBarBackground","educationPrincipleBackground","educationPrincipleBorder","promotionNotification","promotionNotificationBackground","promotionNotificationSeparator","workSpaceViewerBackground","workSpaceViewerShadow","workSpaceNavItem","workSpaceNavItemBackground","iconHelperHintRaised","graphZoomHandleColor","iconSeverityDisabled","iconTypeDisabled","scrolling","xsActive","heavy","images","azure","bitbucket","github","gitlab","microsoft","AzurePipe","BitbucketPipe","BitbucketAzure","BitbucketCircleCI","GitHubActions","GitHubCircleCI","GitHubTravis","GitLabPipeline","parseCookies","documentCookie","rawCookies","candidate","getCookie","getEnhancedWindow","pad","parseDate","rawDate","Date","toShortISO8601String","getFullYear","getMonth","getDate","toISO8601WithOffsetString","toISOString","isValidDate","isNaN","getTime","getBaseUrl","baseUrl","getSystemStatus","serverStatus","getInstance","isOfficial","official","getReactDomContainerSelector","initAppVariables","appVariablesDiv","dataset","isCurrentVersionEOLActive","versionEOL","handleRequiredAuthentication","returnTo","searchParams","return_to","fetchL10nBundle","getJSON","defaultMessages","about","about_x","activate","add_verb","admin","ai_code","ai_code_assurance","all","and","anonymous","any","assignee","author","billion","backup","backup_verb","best","beta","blocker","bold","branch","breadcrumbs","expand_breadcrumbs","by_","calendar","category","see_changelog","changelog","change_verb","check_all","choose_file","class","clean_as_you_code","clear_file","closed","collapse_all","complete","contains_ai_code","configure","confirm","continue","create_new_element","created","created_on","critical","current_noun","customize","delete","delete_x","deprecated","directories","directory","disabled_","dismiss","dismiss_permanently","documentation","download_verb","duplications","end_date","edit","events","example","expand_all","explore","false","favorite","field_required","fields_marked_with_x_required","file","files","filters","follow","go_back","got_it","here","ide","inactive","issue","inheritance","internal","later","last_analysis","learn_more","learn_more_x","lets_go","library","line_number","links","list_of_issues","list_of_projects","list_of_rules","load_more","load_verb","login","major","manual","max_results_reached","me","members","menu","minor","more","more_x","more_actions","my_issues","my_favorite","my_favorites","my_projects","never","next_month_x","new_name","next_","no_file_selected","no_tags","not_now","not_impacted","or","open_in_ide","open_issues","optional","owner","parameters","password","confirm_password","permalink","plugin","preview","previous_","previous_month_x","prioritized","profile_name","project","project_x","projects","projects_","x_projects_","project_plural","projects_management","quality_profile","raw","recent_history","recently_browsed","recommended","refresh","reload","remove_x","rename","replaces","required","reset_verb","reset_to_default","reset_date","resolution","restore","results","x_results","review","rule","rules","save","search_results","search_verb","see_all","see_x","select_verb","select_tags","set_up","setup","settings","severity","severity_deprecated","shared","start_date","x_show","x_selected","x_of_y_shown","skip_to_content","table","tags","tags_list_x","technical_debt","to_","tours","treemap","true","unassigned","uncheck_all","unit_test","unit_tests","unresolved","updated","updated_on","updates","update_verb","updating","unselected","user","version_x","view","views","violations","warnings","with","worst","yes","no","valid_input","address_mistyped_or_page_moved","and_worse","are_you_sure","as_explained_here","assigned_to","bulk_change","bulleted_point","clear","clear_x_filter","clear_all_filters","coding_rules","copy_to_clipboard","copied_action","created_by","default_error_message","default_component_error_message","default_save_field_error_message","default_severity","edit_permissions","show_permissions","facet_might_have_more_results","false_positive","go_back_to_homepage","last_analysis_before","less_than_1_hour_ago","local","logging_out","manage","managed","management","more_information","new_violations","new_window","no_data","no_measure_value_x","results_shown_x","no_results","no_results_for_x","no_results_search","opens_in_new_window","page_extension_failed","page_not_found","please_contact_administrator","set_as_default","show_less","show_less_filter_x","show_more","show_more_filter_x","show_all","show_them","should_be_unique","since_x","since_version","since_version_detailed","since_previous_version","since_previous_version_detailed","since_previous_version_with_only_date","this_name_is_already_taken","tooltip_is_interactive","update_details","update_scm","view_fix_in_ide","January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sun","Mon","Tue","Wed","Thu","Fri","Sat","Su","Mo","Tu","We","Th","Fr","Sa","software_quality","permission_templates","EditionKey","ProductName","ProductNameForUpgrade","MigrationStatus","AuthMethod","DEFAULT_LOCALE","DEFAULT_MESSAGES","getIntl","getMessages","getL10nBundleFromCache","messages","getCurrentLocale","getCurrentL10nBundle","loadL10nBundle","appState","browserLocale","getPreferredLanguage","cachedBundle","ts","effectiveLocale","translatedMessages","catch","console","bundle","persistL10nBundleInCache","createIntlCache","createIntl","defaultRichTextElements","productName","getProductName","navigator","languages","sonarQubeL10nBundle","edition","community","SonarQubeCommunityBuild","SonarQubeServer","hasMessage","messageKey","l10nMessages","translateWithParameters","String","parameter","reduce","replaceAll","getLocalizedMetricName","metric","short","bundleKey","getLocalizedCategoryMetricName","getLocalizedMetricDomain","domainName","stringifyPrimitive","isFinite","stringify","sep","eq","ks","encodeURIComponent","Array","FAST_RETRY_TIMEOUT","SLOW_RETRY_TIMEOUT","getCSRFTokenName","getCSRFTokenValue","cookieValue","getCSRFToken","omitNil","omitBy","isNil","DEFAULT_OPTIONS","credentials","DEFAULT_HEADERS","Accept","Request$1","isJSON","getSubmitData","customHeaders","JSON","strData","submit","fetch","setMethod","setData","Request","checkStatus","bypassRedirect","Promise","HttpStatus","Unauthorized","isSuccessStatus","parseJSON","parseText","parseError","DEFAULT_MESSAGE","then","parseErrorResponse","errors","msg","postJSON","postJSONBody","post","tryRequestAgain","repeatAPICall","tries","stopRepeat","repeatErrors","lastError","requestTryAndRepeatUntil","slowThreshold","axiosToCatch","getAvailableFeatures","throwGlobalError","param","Response","redirectUnauthorizedNoReasons","getComponentNavigation","getMarketplaceNavigation","getSettingsNavigation","getGlobalNavigation","USERS_ENDPOINT","getCurrentUser","dismissNotice","notice","changePassword","BadRequest","getIdentityProviders","getUsers","postUser","updateUser","patch","deleteUser","anonymize","setHomePage","homepage","WEB_ANALYTICS_EXTENSION","extensions","registerExtension","providesCSSFile","setWebAnalyticsPageChangeHandler","pageHandler","installExtensionsHandler","installWebAnalyticsHandler","getExtensionFromCache","getWebAnalyticsPageHandlerFromCache","initApplication","interceptors","use","isMainApp","l10nBundle","currentUser","availableFeatures","__vitePreload"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,59,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,265,268,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,308,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,366,367],"sources":["../../../node_modules/axios/lib/helpers/bind.js","../../../node_modules/axios/lib/utils.js","../../../node_modules/axios/lib/core/AxiosError.js","../../../node_modules/axios/lib/helpers/null.js","../../../node_modules/axios/lib/helpers/toFormData.js","../../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../node_modules/axios/lib/helpers/buildURL.js","../../../node_modules/axios/lib/core/InterceptorManager.js","../../../node_modules/axios/lib/defaults/transitional.js","../../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../node_modules/axios/lib/platform/browser/classes/FormData.js","../../../node_modules/axios/lib/platform/browser/classes/Blob.js","../../../node_modules/axios/lib/platform/browser/index.js","../../../node_modules/axios/lib/platform/common/utils.js","../../../node_modules/axios/lib/platform/index.js","../../../node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../node_modules/axios/lib/helpers/formDataToJSON.js","../../../node_modules/axios/lib/defaults/index.js","../../../node_modules/axios/lib/helpers/parseHeaders.js","../../../node_modules/axios/lib/core/AxiosHeaders.js","../../../node_modules/axios/lib/core/transformData.js","../../../node_modules/axios/lib/cancel/isCancel.js","../../../node_modules/axios/lib/cancel/CanceledError.js","../../../node_modules/axios/lib/core/settle.js","../../../node_modules/axios/lib/helpers/parseProtocol.js","../../../node_modules/axios/lib/helpers/speedometer.js","../../../node_modules/axios/lib/helpers/throttle.js","../../../node_modules/axios/lib/helpers/progressEventReducer.js","../../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../node_modules/axios/lib/helpers/cookies.js","../../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../node_modules/axios/lib/helpers/combineURLs.js","../../../node_modules/axios/lib/core/buildFullPath.js","../../../node_modules/axios/lib/core/mergeConfig.js","../../../node_modules/axios/lib/helpers/resolveConfig.js","../../../node_modules/axios/lib/adapters/xhr.js","../../../node_modules/axios/lib/helpers/composeSignals.js","../../../node_modules/axios/lib/helpers/trackStream.js","../../../node_modules/axios/lib/adapters/fetch.js","../../../node_modules/axios/lib/adapters/adapters.js","../../../node_modules/axios/lib/core/dispatchRequest.js","../../../node_modules/axios/lib/env/data.js","../../../node_modules/axios/lib/helpers/validator.js","../../../node_modules/axios/lib/core/Axios.js","../../../node_modules/axios/lib/cancel/CancelToken.js","../../../node_modules/axios/lib/helpers/spread.js","../../../node_modules/axios/lib/helpers/isAxiosError.js","../../../node_modules/axios/lib/helpers/HttpStatusCode.js","../../../node_modules/axios/lib/axios.js","../../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../../../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../../../node_modules/classnames/index.js","../../../src/main/js/design-system/helpers/colors.ts","../../../src/main/js/design-system/helpers/constants.ts","../../../src/main/js/design-system/helpers/keyboard.ts","../../../src/main/js/design-system/helpers/positioning.ts","../../../src/main/js/design-system/helpers/theme.ts","../../../src/main/js/design-system/sonar-aligned/components/buttons/BareButton.tsx","../../../src/main/js/design-system/components/Tooltip.tsx","../../../node_modules/@primer/octicons-react/dist/index.esm.mjs","../../../src/main/js/design-system/components/icons/Icon.tsx","../../../src/main/js/design-system/components/icons/OpenNewTabIcon.tsx","../../../src/main/js/design-system/components/Link.tsx","../../../src/main/js/design-system/sonar-aligned/components/buttons/Button.tsx","../../../src/main/js/design-system/sonar-aligned/components/buttons/ButtonSecondary.tsx","../../../src/main/js/design-system/components/icons/ChevronDownIcon.tsx","../../../src/main/js/design-system/components/icons/ChevronRightIcon.tsx","../../../src/main/js/design-system/components/icons/OpenCloseIndicator.tsx","../../../src/main/js/design-system/components/Badge.tsx","../../../src/main/js/design-system/helpers/types.ts","../../../src/main/js/design-system/components/InteractiveIcon.tsx","../../../src/main/js/design-system/components/icons/BranchIcon.tsx","../../../src/main/js/design-system/components/icons/CalendarIcon.tsx","../../../src/main/js/design-system/components/icons/CheckIcon.tsx","../../../src/main/js/design-system/components/icons/ClockIcon.tsx","../../../src/main/js/design-system/components/icons/CloseIcon.tsx","../../../src/main/js/design-system/components/icons/UnfoldDownIcon.tsx","../../../src/main/js/design-system/components/icons/UnfoldIcon.tsx","../../../src/main/js/design-system/components/icons/UnfoldUpIcon.tsx","../../../src/main/js/design-system/components/icons/CommentIcon.tsx","../../../src/main/js/design-system/components/icons/CopyIcon.tsx","../../../src/main/js/design-system/components/icons/DirectoryIcon.tsx","../../../src/main/js/design-system/components/icons/DotFillIcon.tsx","../../../src/main/js/design-system/components/icons/FileIcon.tsx","../../../src/main/js/design-system/components/icons/FilterIcon.tsx","../../../src/main/js/design-system/components/icons/FlagErrorIcon.tsx","../../../src/main/js/design-system/components/icons/FlagInfoIcon.tsx","../../../src/main/js/design-system/components/icons/FlagSuccessIcon.tsx","../../../src/main/js/design-system/components/icons/FlagWarningIcon.tsx","../../../src/main/js/design-system/components/icons/HomeIcon.tsx","../../../src/main/js/design-system/components/icons/InProgressVisual.tsx","../../../src/main/js/design-system/components/icons/LinkIcon.tsx","../../../src/main/js/design-system/components/icons/LockIcon.tsx","../../../src/main/js/design-system/components/icons/PencilIcon.tsx","../../../src/main/js/design-system/components/icons/PinIcon.tsx","../../../src/main/js/design-system/components/icons/ProjectIcon.tsx","../../../src/main/js/design-system/components/icons/PullRequestIcon.tsx","../../../src/main/js/design-system/components/icons/SortAscendIcon.tsx","../../../src/main/js/design-system/components/icons/SortDescendIcon.tsx","../../../src/main/js/design-system/components/icons/StarFillIcon.tsx","../../../src/main/js/design-system/components/icons/StarIcon.tsx","../../../src/main/js/design-system/components/icons/TrashIcon.tsx","../../../src/main/js/design-system/components/icons/TriangleDownIcon.tsx","../../../src/main/js/design-system/components/icons/TriangleLeftIcon.tsx","../../../src/main/js/design-system/components/icons/TriangleRightIcon.tsx","../../../src/main/js/design-system/components/icons/TriangleUpIcon.tsx","../../../src/main/js/design-system/components/icons/UserGroupIcon.tsx","../../../node_modules/internmap/src/index.js","../../../node_modules/d3-array/src/max.js","../../../node_modules/d3-scale/node_modules/d3-array/src/ascending.js","../../../node_modules/d3-scale/node_modules/d3-array/src/descending.js","../../../node_modules/d3-scale/node_modules/d3-array/src/bisector.js","../../../node_modules/d3-scale/node_modules/d3-array/src/number.js","../../../node_modules/d3-scale/node_modules/d3-array/src/bisect.js","../../../node_modules/d3-scale/node_modules/d3-array/src/ticks.js","../../../node_modules/d3-scale/node_modules/d3-array/src/range.js","../../../node_modules/d3-scale/src/init.js","../../../node_modules/d3-scale/src/ordinal.js","../../../node_modules/d3-scale/src/band.js","../../../node_modules/d3-color/src/define.js","../../../node_modules/d3-color/src/color.js","../../../node_modules/d3-interpolate/src/constant.js","../../../node_modules/d3-interpolate/src/color.js","../../../node_modules/d3-interpolate/src/rgb.js","../../../node_modules/d3-interpolate/src/numberArray.js","../../../node_modules/d3-interpolate/src/array.js","../../../node_modules/d3-interpolate/src/date.js","../../../node_modules/d3-interpolate/src/number.js","../../../node_modules/d3-interpolate/src/object.js","../../../node_modules/d3-interpolate/src/string.js","../../../node_modules/d3-interpolate/src/value.js","../../../node_modules/d3-interpolate/src/round.js","../../../node_modules/d3-interpolate/src/transform/decompose.js","../../../node_modules/d3-interpolate/src/transform/parse.js","../../../node_modules/d3-interpolate/src/transform/index.js","../../../node_modules/d3-scale/src/constant.js","../../../node_modules/d3-scale/src/number.js","../../../node_modules/d3-scale/src/continuous.js","../../../node_modules/d3-format/src/formatDecimal.js","../../../node_modules/d3-format/src/exponent.js","../../../node_modules/d3-format/src/formatGroup.js","../../../node_modules/d3-format/src/formatNumerals.js","../../../node_modules/d3-format/src/formatSpecifier.js","../../../node_modules/d3-format/src/formatTrim.js","../../../node_modules/d3-format/src/formatPrefixAuto.js","../../../node_modules/d3-format/src/formatRounded.js","../../../node_modules/d3-format/src/formatTypes.js","../../../node_modules/d3-format/src/identity.js","../../../node_modules/d3-format/src/locale.js","../../../node_modules/d3-format/src/defaultLocale.js","../../../node_modules/d3-format/src/precisionFixed.js","../../../node_modules/d3-format/src/precisionPrefix.js","../../../node_modules/d3-format/src/precisionRound.js","../../../node_modules/d3-scale/src/tickFormat.js","../../../node_modules/d3-scale/src/linear.js","../../../src/main/js/design-system/components/NavLink.tsx","../../../node_modules/clipboard/dist/clipboard.js","../../../src/main/js/design-system/components/clipboard.tsx","../../../src/main/js/design-system/components/Spinner.tsx","../../../src/main/js/design-system/components/input/Checkbox.tsx","../../../src/main/js/design-system/components/DropdownMenu.tsx","../../../src/main/js/design-system/components/EscKeydownHandler.tsx","../../../src/main/js/design-system/components/FocusOutHandler.tsx","../../../src/main/js/design-system/components/OutsideClickHandler.tsx","../../../src/main/js/design-system/components/ClickEventBoundary.tsx","../../../src/main/js/design-system/components/popups.tsx","../../../src/main/js/design-system/components/DropdownToggler.tsx","../../../src/main/js/design-system/components/Dropdown.tsx","../../../node_modules/d3-selection/src/namespaces.js","../../../node_modules/d3-selection/src/namespace.js","../../../node_modules/d3-selection/src/creator.js","../../../node_modules/d3-selection/src/selector.js","../../../node_modules/d3-selection/src/selection/select.js","../../../node_modules/d3-selection/src/array.js","../../../node_modules/d3-selection/src/selectorAll.js","../../../node_modules/d3-selection/src/selection/selectAll.js","../../../node_modules/d3-selection/src/matcher.js","../../../node_modules/d3-selection/src/selection/selectChild.js","../../../node_modules/d3-selection/src/selection/selectChildren.js","../../../node_modules/d3-selection/src/selection/filter.js","../../../node_modules/d3-selection/src/selection/sparse.js","../../../node_modules/d3-selection/src/selection/enter.js","../../../node_modules/d3-selection/src/constant.js","../../../node_modules/d3-selection/src/selection/data.js","../../../node_modules/d3-selection/src/selection/exit.js","../../../node_modules/d3-selection/src/selection/join.js","../../../node_modules/d3-selection/src/selection/merge.js","../../../node_modules/d3-selection/src/selection/order.js","../../../node_modules/d3-selection/src/selection/sort.js","../../../node_modules/d3-selection/src/selection/call.js","../../../node_modules/d3-selection/src/selection/nodes.js","../../../node_modules/d3-selection/src/selection/node.js","../../../node_modules/d3-selection/src/selection/size.js","../../../node_modules/d3-selection/src/selection/empty.js","../../../node_modules/d3-selection/src/selection/each.js","../../../node_modules/d3-selection/src/selection/attr.js","../../../node_modules/d3-selection/src/window.js","../../../node_modules/d3-selection/src/selection/style.js","../../../node_modules/d3-selection/src/selection/property.js","../../../node_modules/d3-selection/src/selection/classed.js","../../../node_modules/d3-selection/src/selection/text.js","../../../node_modules/d3-selection/src/selection/html.js","../../../node_modules/d3-selection/src/selection/raise.js","../../../node_modules/d3-selection/src/selection/lower.js","../../../node_modules/d3-selection/src/selection/append.js","../../../node_modules/d3-selection/src/selection/insert.js","../../../node_modules/d3-selection/src/selection/remove.js","../../../node_modules/d3-selection/src/selection/clone.js","../../../node_modules/d3-selection/src/selection/datum.js","../../../node_modules/d3-selection/src/selection/on.js","../../../node_modules/d3-selection/src/selection/dispatch.js","../../../node_modules/d3-selection/src/selection/iterator.js","../../../node_modules/d3-selection/src/selection/index.js","../../../node_modules/d3-dispatch/src/dispatch.js","../../../node_modules/d3-timer/src/timer.js","../../../node_modules/d3-timer/src/timeout.js","../../../node_modules/d3-transition/src/transition/schedule.js","../../../node_modules/d3-transition/src/interrupt.js","../../../node_modules/d3-transition/src/selection/interrupt.js","../../../node_modules/d3-transition/src/transition/tween.js","../../../node_modules/d3-transition/src/transition/interpolate.js","../../../node_modules/d3-transition/src/transition/attr.js","../../../node_modules/d3-transition/src/transition/attrTween.js","../../../node_modules/d3-transition/src/transition/delay.js","../../../node_modules/d3-transition/src/transition/duration.js","../../../node_modules/d3-transition/src/transition/ease.js","../../../node_modules/d3-transition/src/transition/easeVarying.js","../../../node_modules/d3-transition/src/transition/filter.js","../../../node_modules/d3-transition/src/transition/merge.js","../../../node_modules/d3-transition/src/transition/on.js","../../../node_modules/d3-transition/src/transition/remove.js","../../../node_modules/d3-transition/src/transition/select.js","../../../node_modules/d3-transition/src/transition/selectAll.js","../../../node_modules/d3-transition/src/transition/selection.js","../../../node_modules/d3-transition/src/transition/style.js","../../../node_modules/d3-transition/src/transition/styleTween.js","../../../node_modules/d3-transition/src/transition/text.js","../../../node_modules/d3-transition/src/transition/textTween.js","../../../node_modules/d3-transition/src/transition/transition.js","../../../node_modules/d3-transition/src/transition/end.js","../../../node_modules/d3-transition/src/transition/index.js","../../../node_modules/d3-ease/src/cubic.js","../../../node_modules/d3-transition/src/selection/transition.js","../../../node_modules/d3-transition/src/selection/index.js","../../../node_modules/d3-zoom/src/transform.js","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js","../../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../../node_modules/@babel/runtime/helpers/toPrimitive.js","../../../node_modules/@babel/runtime/helpers/toPropertyKey.js","../../../node_modules/@babel/runtime/helpers/createClass.js","../../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/@babel/runtime/helpers/inherits.js","../../../node_modules/@babel/runtime/helpers/defineProperty.js","../../../node_modules/react-virtualized/dist/commonjs/vendor/detectElementResize.js","../../../node_modules/react-virtualized/node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/react-virtualized/node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/react-virtualized/node_modules/prop-types/index.js","../../../node_modules/react-virtualized/dist/commonjs/AutoSizer/AutoSizer.js","../../../node_modules/react-virtualized/dist/commonjs/AutoSizer/index.js","../../../src/main/js/design-system/sonar-aligned/components/FlagMessage.tsx","../../../node_modules/react-highlight-words/dist/main.js","../../../src/main/js/design-system/components/SearchHighlighter.tsx","../../../src/main/js/design-system/sonar-aligned/components/MetricsRatingBadge.tsx","../../../node_modules/dompurify/dist/purify.es.mjs","../../../src/main/js/design-system/sonar-aligned/helpers/sanitize.tsx","../../../src/main/js/design-system/sonar-aligned/hljs/HljsIssueIndicatorPlugin.ts","../../../src/main/js/design-system/sonar-aligned/hljs/HljsUnderlinePlugin.ts","../../../src/main/js/design-system/components/code-line/LineStyles.tsx","../../../node_modules/highlight.js/es/languages/actionscript.js","../../../node_modules/highlight.js/es/languages/bash.js","../../../node_modules/highlight.js/es/languages/c.js","../../../node_modules/highlight.js/es/languages/cpp.js","../../../node_modules/highlight.js/es/languages/csharp.js","../../../node_modules/highlight.js/es/languages/css.js","../../../node_modules/highlight.js/es/languages/dart.js","../../../node_modules/highlight.js/es/languages/dockerfile.js","../../../node_modules/highlight.js/es/languages/go.js","../../../node_modules/highlight.js/es/languages/gradle.js","../../../node_modules/highlight.js/es/languages/java.js","../../../node_modules/highlight.js/es/languages/javascript.js","../../../node_modules/highlight.js/es/languages/json.js","../../../node_modules/highlight.js/es/languages/kotlin.js","../../../node_modules/highlight.js/es/languages/objectivec.js","../../../node_modules/highlight.js/es/languages/pgsql.js","../../../node_modules/highlight.js/es/languages/php.js","../../../node_modules/highlight.js/es/languages/plaintext.js","../../../node_modules/highlight.js/es/languages/powershell.js","../../../node_modules/highlight.js/es/languages/properties.js","../../../node_modules/highlight.js/es/languages/python.js","../../../node_modules/highlight.js/es/languages/ruby.js","../../../node_modules/highlight.js/es/languages/scala.js","../../../node_modules/highlight.js/es/languages/shell.js","../../../node_modules/highlight.js/es/languages/sql.js","../../../node_modules/highlight.js/es/languages/swift.js","../../../node_modules/highlight.js/es/languages/typescript.js","../../../node_modules/highlight.js/es/languages/vbnet.js","../../../node_modules/highlight.js/es/languages/xml.js","../../../node_modules/highlight.js/es/languages/yaml.js","../../../src/main/js/design-system/components/CodeSyntaxHighlighter.tsx","../../../src/main/js/design-system/components/ExecutionFlowAccordion.tsx","../../../src/main/js/design-system/components/FacetBox.tsx","../../../src/main/js/design-system/components/FacetItem.tsx","../../../src/main/js/design-system/components/Histogram.tsx","../../../node_modules/react-day-picker/dist/index.esm.js","../../../src/main/js/design-system/components/input/InputField.tsx","../../../src/main/js/design-system/components/input/InputSearch.tsx","../../../src/main/js/design-system/components/KeyboardHintKeys.tsx","../../../src/main/js/design-system/components/lists/ListItem.tsx","../../../src/main/js/design-system/components/lists/NumberedList.tsx","../../../src/main/js/design-system/components/lists/NumberedListItem.tsx","../../../src/main/js/design-system/components/lists/OrderedList.tsx","../../../src/main/js/design-system/components/lists/UnorderedList.tsx","../../../node_modules/react-modal/node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/react-modal/node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/react-modal/node_modules/prop-types/index.js","../../../node_modules/react-modal/lib/helpers/tabbable.js","../../../node_modules/react-modal/lib/helpers/focusManager.js","../../../node_modules/react-modal/lib/helpers/scopeTab.js","../../../node_modules/warning/warning.js","../../../node_modules/exenv/index.js","../../../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../node_modules/react-modal/lib/helpers/ariaAppHider.js","../../../node_modules/react-modal/lib/helpers/classList.js","../../../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../node_modules/react-modal/lib/helpers/bodyTrap.js","../../../node_modules/react-modal/lib/components/ModalPortal.js","../../../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../../../node_modules/react-modal/lib/components/Modal.js","../../../node_modules/react-modal/lib/index.js","../../../src/main/js/design-system/components/modal/ModalBody.tsx","../../../src/main/js/design-system/components/modal/ModalFooter.tsx","../../../src/main/js/design-system/components/modal/ModalHeader.tsx","../../../src/main/js/design-system/components/modal/Modal.tsx","../../../src/main/js/design-system/components/NavBarTabs.tsx","../../../src/main/js/design-system/components/Pill.tsx","../../../src/main/js/design-system/components/icons/RecommendedIcon.tsx","../../../src/main/js/design-system/components/SonarCodeColorizer.tsx","../../../node_modules/@gilbarbara/deep-equal/dist/index.mjs","../../../node_modules/is-lite/dist/index.mjs","../../../node_modules/tree-changes/dist/index.mjs","../../../node_modules/scroll/index.js","../../../node_modules/scrollparent/scrollparent.js","../../../node_modules/deepmerge/dist/cjs.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../../../node_modules/popper.js/dist/esm/popper.js","../../../node_modules/react-floater/node_modules/is-lite/esm/index.js","../../../node_modules/react-floater/node_modules/@gilbarbara/deep-equal/esm/helpers.js","../../../node_modules/react-floater/node_modules/@gilbarbara/deep-equal/esm/index.js","../../../node_modules/react-floater/node_modules/tree-changes/esm/helpers.js","../../../node_modules/react-floater/node_modules/tree-changes/esm/index.js","../../../node_modules/react-floater/es/index.js","../../../node_modules/react-innertext/index.js","../../../node_modules/react-joyride/dist/index.mjs","../../../src/main/js/design-system/helpers/dom.ts","../../../src/main/js/design-system/components/SpotlightTour.tsx","../../../src/main/js/design-system/components/subnavigation/SubnavigationGroup.tsx","../../../src/main/js/design-system/components/subnavigation/SubnavigationAccordion.tsx","../../../src/main/js/design-system/components/subnavigation/SubnavigationHeading.tsx","../../../src/main/js/design-system/components/subnavigation/SubnavigationSubheading.tsx","../../../node_modules/react-toastify/node_modules/clsx/dist/clsx.mjs","../../../node_modules/react-toastify/dist/react-toastify.esm.mjs","../../../src/main/js/design-system/components/toast-message/toast-utils.tsx","../../../src/main/js/design-system/components/TreeMapRect.tsx","../../../src/main/js/design-system/components/TutorialStepList.tsx","../../../src/main/js/design-system/theme/colors.ts","../../../src/main/js/design-system/theme/light.ts","../../../src/main/js/helpers/cookies.ts","../../../src/main/js/helpers/browser.ts","../../../src/main/js/helpers/dates.ts","../../../src/main/js/helpers/system.ts","../../../src/main/js/helpers/handleRequiredAuthentication.ts","../../../src/main/js/api/l10n.ts","../../../src/main/js/l10n/default.ts","../../../src/main/js/types/editions.ts","../../../src/main/js/types/system.ts","../../../src/main/js/helpers/types.ts","../../../src/main/js/helpers/l10nBundle.ts","../../../src/main/js/helpers/l10n.ts","../../../src/main/js/helpers/stringify-queryparams.ts","../../../src/main/js/helpers/request.ts","../../../src/main/js/sonar-aligned/helpers/request.ts","../../../src/main/js/api/features.ts","../../../src/main/js/sonar-aligned/helpers/error.ts","../../../src/main/js/api/navigation.ts","../../../src/main/js/api/users.ts","../../../src/main/js/helpers/extensionsHandler.ts","../../../src/main/js/app/index.ts"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.7\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\n/* import type {\n ElementType,\n StatelessFunctionalComponent,\n AbstractComponent\n} from 'react' */\n/*\nexport type Interpolations = Array<any>\n\nexport type StyledElementType<Props> =\n | string\n | AbstractComponent<{ ...Props, className: string }, mixed>\n\nexport type StyledOptions = {\n label?: string,\n shouldForwardProp?: string => boolean,\n target?: string\n}\n\nexport type StyledComponent<Props> = StatelessFunctionalComponent<Props> & {\n defaultProps: any,\n toString: () => string,\n withComponent: (\n nextTag: StyledElementType<Props>,\n nextOptions?: StyledOptions\n ) => StyledComponent<Props>\n}\n\nexport type PrivateStyledComponent<Props> = StyledComponent<Props> & {\n __emotion_real: StyledComponent<Props>,\n __emotion_base: any,\n __emotion_styles: any,\n __emotion_forwardProp: any\n}\n*/\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key\n/*: string */\n) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag\n/*: ElementType */\n) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag\n/*: PrivateStyledComponent<any> */\n, options\n/*: StyledOptions | void */\n, isReal\n/*: boolean */\n) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName\n /*: string */\n ) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n/*\nexport type CreateStyledComponent = <Props>(\n ...args: Interpolations\n) => StyledComponent<Props>\n\nexport type CreateStyled = {\n <Props>(\n tag: StyledElementType<Props>,\n options?: StyledOptions\n ): (...args: Interpolations) => StyledComponent<Props>,\n [key: string]: CreateStyledComponent,\n bind: () => CreateStyled\n}\n*/\n\nvar isDevelopment = false;\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled\n/*: CreateStyled */\n= function createStyled\n/*: CreateStyled */\n(tag\n/*: any */\n, options\n/* ?: StyledOptions */\n) {\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n /* return function<Props>(): PrivateStyledComponent<Props> { */\n\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n\n styles.push(args[i], args[0][i]);\n }\n }\n\n var Styled\n /*: PrivateStyledComponent<Props> */\n = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if (finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && isDevelopment) {\n return 'NO_COMPONENT_SELECTOR';\n }\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag\n /*: StyledElementType<Props> */\n , nextOptions\n /* ?: StyledOptions */\n ) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { CSSColor } from '../types/theme';\n\n/* eslint-disable no-bitwise, no-mixed-operators */\n\nexport function stringToColor(str: string) {\n let hash = 0;\n\n for (let i = 0; i < str.length; i++) {\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n\n let color = '#';\n\n for (let i = 0; i < 3; i++) {\n const value = (hash >> (i * 8)) & 0xff;\n color += value.toString(16).padStart(2, '0');\n }\n\n return color;\n}\n\nexport function isDarkColor(color: string) {\n color = color.substring(1);\n\n if (color.length === 3) {\n // shortcut notation: #f90\n color = color[0] + color[0] + color[1] + color[1] + color[2] + color[2];\n }\n\n const rgb = parseInt(color.substring(1), 16);\n const r = (rgb >> 16) & 0xff;\n const g = (rgb >> 8) & 0xff;\n const b = (rgb >> 0) & 0xff;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 140;\n}\n\nexport function getTextColor(background: string, dark = '#222', light = '#fff') {\n return isDarkColor(background) ? light : dark;\n}\n\nexport function getRGBAString([r, g, b]: Array<number | string>, a?: number | string) {\n return (a !== undefined ? `rgba(${r},${g},${b},${a})` : `rgb(${r},${g},${b})`) as CSSColor;\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { theme } from 'twin.macro';\n\nexport const DEFAULT_LOCALE = 'en';\nexport const IS_SSR = typeof window === 'undefined';\nexport const REACT_DOM_CONTAINER = '#content';\n\nexport const RULE_STATUSES = ['READY', 'BETA', 'DEPRECATED'];\n\nexport const THROTTLE_SCROLL_DELAY = 10;\nexport const THROTTLE_KEYPRESS_DELAY = 100;\n\nexport const DEBOUNCE_DELAY = 250;\n\nexport const DEBOUNCE_LONG_DELAY = 1000;\n\nexport const DEBOUNCE_SUCCESS_DELAY = 1000;\n\nexport const INTERACTIVE_TOOLTIP_DELAY = 0.5;\n\nexport const LEAK_PERIOD = 'sonar.leak.period';\n\nexport const LEAK_PERIOD_TYPE = 'sonar.leak.period.type';\n\nexport const INPUT_SIZES = {\n small: theme('width.input-small'),\n medium: theme('width.input-medium'),\n large: theme('width.input-large'),\n full: theme('width.full'),\n auto: theme('width.auto'),\n};\n\nexport const LAYOUT_VIEWPORT_MIN_WIDTH = 1280;\nexport const LAYOUT_VIEWPORT_MAX_WIDTH = 1280;\nexport const LAYOUT_VIEWPORT_MAX_WIDTH_LARGE = 1680;\nexport const LAYOUT_MAIN_CONTENT_GUTTER = 60;\nexport const LAYOUT_SIDEBAR_WIDTH = 240;\nexport const LAYOUT_SIDEBAR_COLLAPSED_WIDTH = 60;\nexport const LAYOUT_SIDEBAR_BREAKPOINT = 1320;\nexport const LAYOUT_BANNER_HEIGHT = 44;\nexport const LAYOUT_BRANDING_ICON_WIDTH = 198;\nexport const LAYOUT_FILTERBAR_HEADER = 56;\nexport const LAYOUT_GLOBAL_NAV_HEIGHT = 52;\nexport const LAYOUT_PROJECT_NAV_HEIGHT = 108;\nexport const LAYOUT_LOGO_MARGIN_RIGHT = 45;\nexport const LAYOUT_LOGO_MAX_HEIGHT = 40;\nexport const LAYOUT_LOGO_MAX_WIDTH = 150;\nexport const LAYOUT_FOOTER_HEIGHT = 69;\nexport const LAYOUT_NOTIFICATIONSBAR_WIDTH = 350;\n\nexport const CORE_CONCEPTS_WIDTH = 350;\n\nexport const DARK_THEME_ID = 'dark-theme';\n\nexport const OPACITY_20_PERCENT = 0.2;\n\nexport const OPACITY_75_PERCENT = 0.75;\n\nexport const GLOBAL_POPUP_Z_INDEX = 5000;\n\nexport const TOAST_AUTOCLOSE_DELAY = 5000;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nexport enum Key {\n ArrowLeft = 'ArrowLeft',\n ArrowUp = 'ArrowUp',\n ArrowRight = 'ArrowRight',\n ArrowDown = 'ArrowDown',\n\n Alt = 'Alt',\n Option = 'Option',\n Backspace = 'Backspace',\n CapsLock = 'CapsLock',\n Meta = 'Meta',\n Control = 'Control',\n Command = 'Command',\n Delete = 'Delete',\n End = 'End',\n Enter = 'Enter',\n Escape = 'Escape',\n Home = 'Home',\n PageDown = 'PageDown',\n PageUp = 'PageUp',\n Shift = 'Shift',\n Space = ' ',\n Tab = 'Tab',\n Click = 'Click',\n}\n\nexport function isShortcut(event: KeyboardEvent): boolean {\n return event.ctrlKey || event.metaKey;\n}\n\nconst INPUT_TAGS = ['INPUT', 'SELECT', 'TEXTAREA', 'UBCOMMENT'];\n\nexport function isInput(event: KeyboardEvent): boolean {\n const { tagName } = event.target as HTMLElement;\n return INPUT_TAGS.includes(tagName);\n}\n\nexport function isTextarea(\n event: KeyboardEvent,\n): event is KeyboardEvent & { target: HTMLTextAreaElement } {\n return event.target instanceof HTMLTextAreaElement;\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\n/**\n * Positioning rules:\n * - Bottom = below the block, horizontally centered\n * - BottomLeft = below the block, horizontally left-aligned\n * - BottomRight = below the block, horizontally right-aligned\n * - Left = Left of the block, vertically centered\n * - LeftTop = on the left-side of the block, vertically top-aligned\n * - LeftBottom = on the left-side of the block, vertically bottom-aligned\n * - Right = Right of the block, vertically centered\n * - RightTop = on the right-side of the block, vertically top-aligned\n * - RightBottom = on the right-side of the block, vetically bottom-aligned\n * - Top = above the block, horizontally centered\n * - TopLeft = above the block, horizontally left-aligned\n * - TopRight = above the block, horizontally right-aligned\n */\n\nexport enum PopupPlacement {\n Bottom = 'bottom',\n BottomLeft = 'bottom-left',\n BottomRight = 'bottom-right',\n Left = 'left',\n LeftTop = 'left-top',\n LeftBottom = 'left-bottom',\n Right = 'right',\n RightTop = 'right-top',\n RightBottom = 'right-bottom',\n Top = 'top',\n TopLeft = 'top-left',\n TopRight = 'top-right',\n}\n\nexport enum PopupZLevel {\n Content = 'content',\n Default = 'popup',\n Global = 'global',\n Absolute = 'absolute',\n}\n\nexport type BasePlacement = Extract<\n PopupPlacement,\n PopupPlacement.Bottom | PopupPlacement.Top | PopupPlacement.Left | PopupPlacement.Right\n>;\n\nexport const PLACEMENT_FLIP_MAP: { [key in PopupPlacement]: PopupPlacement } = {\n [PopupPlacement.Left]: PopupPlacement.Right,\n [PopupPlacement.LeftBottom]: PopupPlacement.RightBottom,\n [PopupPlacement.LeftTop]: PopupPlacement.RightTop,\n [PopupPlacement.Right]: PopupPlacement.Left,\n [PopupPlacement.RightBottom]: PopupPlacement.LeftBottom,\n [PopupPlacement.RightTop]: PopupPlacement.LeftTop,\n [PopupPlacement.Top]: PopupPlacement.Bottom,\n [PopupPlacement.TopLeft]: PopupPlacement.BottomLeft,\n [PopupPlacement.TopRight]: PopupPlacement.BottomRight,\n [PopupPlacement.Bottom]: PopupPlacement.Top,\n [PopupPlacement.BottomLeft]: PopupPlacement.TopLeft,\n [PopupPlacement.BottomRight]: PopupPlacement.TopRight,\n};\n\nconst MARGIN_TO_EDGE = 4;\n\nexport function popupPositioning(\n toggleNode: Element,\n popupNode: Element,\n placement: PopupPlacement = PopupPlacement.Bottom,\n) {\n const toggleRect = toggleNode.getBoundingClientRect();\n const popupRect = popupNode.getBoundingClientRect();\n\n let { left, top } = toggleRect;\n\n switch (placement) {\n case PopupPlacement.Bottom:\n left += toggleRect.width / 2 - popupRect.width / 2;\n top += toggleRect.height;\n break;\n case PopupPlacement.BottomLeft:\n top += toggleRect.height;\n break;\n case PopupPlacement.BottomRight:\n left += toggleRect.width - popupRect.width;\n top += toggleRect.height;\n break;\n case PopupPlacement.Left:\n left -= popupRect.width;\n top += toggleRect.height / 2 - popupRect.height / 2;\n break;\n case PopupPlacement.LeftTop:\n left -= popupRect.width;\n break;\n case PopupPlacement.LeftBottom:\n left -= popupRect.width;\n top += toggleRect.height - popupRect.height;\n break;\n case PopupPlacement.Right:\n left += toggleRect.width;\n top += toggleRect.height / 2 - popupRect.height / 2;\n break;\n case PopupPlacement.RightTop:\n left += toggleRect.width;\n break;\n case PopupPlacement.RightBottom:\n left += toggleRect.width;\n top += toggleRect.height - popupRect.height;\n break;\n case PopupPlacement.Top:\n left += toggleRect.width / 2 - popupRect.width / 2;\n top -= popupRect.height;\n break;\n case PopupPlacement.TopLeft:\n top -= popupRect.height;\n break;\n case PopupPlacement.TopRight:\n left += toggleRect.width - popupRect.width;\n top -= popupRect.height;\n break;\n }\n\n const inBoundariesLeft = Math.min(\n Math.max(left, getMinLeftPlacement(toggleRect)),\n getMaxLeftPlacement(toggleRect, popupRect),\n );\n\n const inBoundariesTop = Math.min(\n Math.max(top, getMinTopPlacement(toggleRect)),\n getMaxTopPlacement(toggleRect, popupRect),\n );\n\n return {\n height: popupRect.height,\n left: inBoundariesLeft,\n leftFix: inBoundariesLeft - left,\n top: inBoundariesTop,\n topFix: inBoundariesTop - top,\n width: popupRect.width,\n };\n}\n\nfunction getMinLeftPlacement(toggleRect: DOMRect) {\n return Math.min(\n MARGIN_TO_EDGE, // Left edge of the sceen\n toggleRect.left + toggleRect.width / 2, // Left edge of the screen when scrolled\n );\n}\n\nfunction getMaxLeftPlacement(toggleRect: DOMRect, popupRect: DOMRect) {\n return Math.max(\n document.documentElement.clientWidth - popupRect.width - MARGIN_TO_EDGE, // Right edge of the screen\n toggleRect.left + toggleRect.width / 2 - popupRect.width, // Right edge of the screen when scrolled\n );\n}\n\nfunction getMinTopPlacement(toggleRect: DOMRect) {\n return Math.min(\n MARGIN_TO_EDGE, // Top edge of the sceen\n toggleRect.top + toggleRect.height / 2, // Top edge of the screen when scrolled\n );\n}\n\nfunction getMaxTopPlacement(toggleRect: DOMRect, popupRect: DOMRect) {\n return Math.max(\n document.documentElement.clientHeight - popupRect.height - MARGIN_TO_EDGE, // Bottom edge of the screen\n toggleRect.top + toggleRect.height / 2 - popupRect.height, // Bottom edge of the screen when scrolled\n );\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { CSSColor, Theme, ThemeColors, ThemeContrasts, ThemedProps } from '../types/theme';\nimport { getRGBAString } from './colors';\n\nexport function getProp<T>(name: keyof Omit<T, keyof ThemedProps>) {\n return (props: T) => props[name];\n}\n\nexport function themeColor(name: ThemeColors | CSSColor, opacity?: number) {\n return function ({ theme }: ThemedProps) {\n return getColor(theme, [], name, opacity);\n };\n}\n\nexport function themeContrast(name: ThemeColors | CSSColor) {\n return function ({ theme }: ThemedProps) {\n return getContrast(theme, name);\n };\n}\n\nexport function themeBorder(\n name: keyof Theme['borders'] = 'default',\n color?: ThemeColors | CSSColor,\n opacity?: number,\n) {\n return function ({ theme }: ThemedProps) {\n const [width, style, ...rgba] = theme.borders[name];\n return `${width} ${style} ${getColor(theme, rgba as number[], color, opacity)}`;\n };\n}\n\nexport function themeShadow(\n name: keyof Theme['shadows'],\n color?: ThemeColors | CSSColor,\n opacity?: number,\n) {\n return function ({ theme }: ThemedProps) {\n const shadows = theme.shadows[name];\n return shadows\n .map((item) => {\n const [x, y, blur, spread, ...rgba] = item;\n return `${x}px ${y}px ${blur}px ${spread}px ${getColor(theme, rgba, color, opacity)}`;\n })\n .join(',');\n };\n}\n\nexport function themeAvatarColor(name: string, contrast = false) {\n return function ({ theme }: ThemedProps) {\n let hash = 0;\n for (let i = 0; i < name.length; i++) {\n hash = name.charCodeAt(i) + ((hash << 5) - hash);\n }\n\n // Reduces number length to avoid modulo's limit.\n hash = parseInt(hash.toString().slice(-5), 10);\n if (contrast) {\n return getColor(theme, theme.avatar.contrast[hash % theme.avatar.contrast.length]);\n }\n return getColor(theme, theme.avatar.color[hash % theme.avatar.color.length]);\n };\n}\n\nexport function themeImage(imageKey: keyof Theme['images']) {\n return function ({ theme }: ThemedProps) {\n return theme.images[imageKey];\n };\n}\n\nfunction getColor(\n theme: Theme,\n [r, g, b, a]: number[],\n colorOverride?: ThemeColors | CSSColor,\n opacityOverride?: number,\n) {\n // Custom CSS property or rgb(a) color, return it directly\n if (\n colorOverride?.startsWith('var(--') ||\n colorOverride?.startsWith('rgb(') ||\n colorOverride?.startsWith('rgba(')\n ) {\n return colorOverride as CSSColor;\n }\n // Is theme color overridden by a color name ?\n const color = colorOverride ? theme.colors[colorOverride as ThemeColors] : [r, g, b];\n\n if (typeof color === 'string') {\n return color as CSSColor;\n }\n\n return getRGBAString(color, opacityOverride ?? (color[3] as number | string | undefined) ?? a);\n}\n\n// Simplified version of getColor for contrast colors, fallback to colors if contrast isn't found\nfunction getContrast(theme: Theme, colorOverride: ThemeContrasts | ThemeColors | CSSColor) {\n // Custom CSS property or rgb(a) color, return it directly\n if (\n colorOverride.startsWith('var(--') ||\n colorOverride.startsWith('rgb(') ||\n colorOverride.startsWith('rgba(')\n ) {\n return colorOverride as CSSColor;\n }\n\n // For contrast we always require a color override (it's the principle of a contrast)\n const color =\n theme.contrasts[colorOverride as ThemeContrasts] || theme.colors[colorOverride as ThemeColors];\n if (typeof color === 'string') {\n return color as CSSColor;\n }\n\n return getRGBAString(color, color[3]);\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { themeColor } from '../../../helpers';\n\nexport const BareButton = styled.button`\n all: unset;\n cursor: pointer;\n\n &:focus-visible {\n background-color: ${themeColor('dropdownMenuHover')};\n }\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { keyframes, ThemeContext } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport classNames from 'classnames';\nimport { throttle, uniqueId } from 'lodash';\nimport React from 'react';\nimport { createPortal, findDOMNode } from 'react-dom';\nimport tw from 'twin.macro';\nimport { THROTTLE_SCROLL_DELAY } from '../helpers/constants';\nimport {\n BasePlacement,\n PLACEMENT_FLIP_MAP,\n PopupPlacement,\n popupPositioning,\n} from '../helpers/positioning';\nimport { themeColor } from '../helpers/theme';\n\nconst MILLISECONDS_IN_A_SECOND = 1000;\n\ninterface TooltipProps {\n children: React.ReactElement;\n content: React.ReactNode;\n mouseEnterDelay?: number;\n mouseLeaveDelay?: number;\n onHide?: VoidFunction;\n onShow?: VoidFunction;\n placement?: BasePlacement;\n visible?: boolean;\n}\n\ninterface Measurements {\n height: number;\n left: number;\n leftFix: number;\n top: number;\n topFix: number;\n width: number;\n}\n\ninterface OwnState {\n flipped: boolean;\n placement?: PopupPlacement;\n visible: boolean;\n}\n\ntype State = OwnState & Partial<Measurements>;\n\nfunction isMeasured(state: State): state is OwnState & Measurements {\n return state.height !== undefined;\n}\n\n/**\n * @deprecated Use Tooltip from Echoes instead.\n *\n * Echoes Tooltip component should mainly be used on interactive element and contain very simple text based content.\n * If the content is more complex use a Popover component instead (not available yet).\n *\n * Some of the props have changed or been renamed:\n * - `children` is the trigger for the tooltip, should be an interactive Element. If not an Echoes component, make sure the component forwards the props and the ref to an interactive DOM node, it's needed by the tooltip to position itself.\n * - `overlay` is now `content`, that's the tooltip content. It's a ReactNode for convenience but should render only text based content, no interactivity is allowed inside the tooltip.\n * - ~`mouseEnterDelay`~ doesn't exist anymore, was mostly used in situation that should be replaced by a Popover component.\n * - ~`mouseLeaveDelay`~ doesn't exist anymore, was mostly used in situation that should be replaced by a Popover component.\n * - ~`onHide`~ doesn't exist anymore, was mostly used in situation that should be replaced by a Popover component.\n * - ~`onShow`~ doesn't exist anymore, was mostly used in situation that should be replaced by a Popover component.\n * - `placement` is now `align` and `side`, based on the TooltipAlign and TooltipSide enums.\n * - `visible` is now `isOpen`\n */\nexport function Tooltip(props: TooltipProps) {\n // overlay is a ReactNode, so it can be a boolean, `undefined` or `null`\n // this allows to easily render a tooltip conditionally\n // more generaly we avoid rendering empty tooltips\n return props.content ? <TooltipInner {...props}>{props.children}</TooltipInner> : props.children;\n}\n\nexport class TooltipInner extends React.Component<TooltipProps, State> {\n throttledPositionTooltip: VoidFunction;\n mouseEnterTimeout?: number;\n mouseLeaveTimeout?: number;\n tooltipNode?: HTMLElement | null;\n mounted = false;\n mouseIn = false;\n id: string;\n\n static defaultProps = {\n mouseEnterDelay: 0.1,\n };\n\n constructor(props: TooltipProps) {\n super(props);\n\n this.state = {\n flipped: false,\n placement: props.placement,\n visible: props.visible !== undefined ? props.visible : false,\n };\n this.id = uniqueId('tooltip-');\n this.throttledPositionTooltip = throttle(this.positionTooltip, THROTTLE_SCROLL_DELAY);\n }\n\n componentDidMount() {\n this.mounted = true;\n\n if (this.props.visible === true) {\n this.positionTooltip();\n this.addEventListeners();\n }\n }\n\n componentDidUpdate(prevProps: TooltipProps, prevState: State) {\n if (this.props.placement !== prevProps.placement) {\n this.setState({ placement: this.props.placement }, () => {\n this.onUpdatePlacement(this.hasVisibleChanged(prevState.visible, prevProps.visible));\n });\n } else if (this.hasVisibleChanged(prevState.visible, prevProps.visible)) {\n this.onUpdateVisible();\n } else if (!this.state.flipped && this.needsFlipping(this.state)) {\n this.setState(\n ({ placement = PopupPlacement.Bottom }) => ({\n flipped: true,\n placement: PLACEMENT_FLIP_MAP[placement],\n }),\n () => {\n if (this.state.visible) {\n // Force a re-positioning, as \"only\" updating the state doesn't\n // recompute the position, only re-renders with the previous\n // position (which is no longer correct).\n this.positionTooltip();\n }\n },\n );\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n this.removeEventListeners();\n this.clearTimeouts();\n }\n\n static contextType = ThemeContext;\n\n onUpdatePlacement = (visibleHasChanged: boolean) => {\n this.setState({ placement: this.props.placement }, () => {\n if (this.isVisible()) {\n this.positionTooltip();\n if (visibleHasChanged) {\n this.addEventListeners();\n }\n }\n });\n };\n\n onUpdateVisible = () => {\n if (this.isVisible()) {\n this.positionTooltip();\n this.addEventListeners();\n } else {\n this.clearPosition();\n this.removeEventListeners();\n }\n };\n\n addEventListeners = () => {\n window.addEventListener('resize', this.throttledPositionTooltip);\n window.addEventListener('scroll', this.throttledPositionTooltip);\n };\n\n removeEventListeners = () => {\n window.removeEventListener('resize', this.throttledPositionTooltip);\n window.removeEventListener('scroll', this.throttledPositionTooltip);\n };\n\n clearTimeouts = () => {\n window.clearTimeout(this.mouseEnterTimeout);\n window.clearTimeout(this.mouseLeaveTimeout);\n };\n\n hasVisibleChanged = (prevStateVisible: boolean, prevPropsVisible?: boolean) => {\n if (this.props.visible === undefined) {\n return prevPropsVisible ?? this.state.visible !== prevStateVisible;\n }\n\n return this.props.visible !== prevPropsVisible;\n };\n\n isVisible = () => this.props.visible ?? this.state.visible;\n\n getPlacement = (): PopupPlacement => this.state.placement ?? PopupPlacement.Bottom;\n\n tooltipNodeRef = (node: HTMLElement | null) => {\n this.tooltipNode = node;\n };\n\n adjustArrowPosition = (\n placement: PopupPlacement,\n { leftFix, topFix, height, width }: Measurements,\n ) => {\n switch (placement) {\n case PopupPlacement.Left:\n case PopupPlacement.Right:\n return {\n marginTop: Math.max(0, Math.min(-topFix, height / 2 - ARROW_WIDTH * 2)),\n };\n default:\n return {\n marginLeft: Math.max(0, Math.min(-leftFix, width / 2 - ARROW_WIDTH * 2)),\n };\n }\n };\n\n positionTooltip = () => {\n // `findDOMNode(this)` will search for the DOM node for the current component\n // first it will find a React.Fragment (see `render`),\n // so it will get the DOM node of the first child, i.e. DOM node of `this.props.children`\n // docs: https://reactjs.org/docs/refs-and-the-dom.html#exposing-dom-refs-to-parent-components\n\n // eslint-disable-next-line react/no-find-dom-node\n const toggleNode = findDOMNode(this);\n\n if (toggleNode && toggleNode instanceof Element && this.tooltipNode) {\n const { height, left, leftFix, top, topFix, width } = popupPositioning(\n toggleNode,\n this.tooltipNode,\n this.getPlacement(),\n );\n\n // save width and height (and later set in `render`) to avoid resizing the popup element,\n // when it's placed close to the window edge\n this.setState({\n left: window.scrollX + left,\n leftFix,\n top: window.scrollY + top,\n topFix,\n width,\n height,\n });\n }\n };\n\n clearPosition = () => {\n this.setState({\n flipped: false,\n left: undefined,\n leftFix: undefined,\n top: undefined,\n topFix: undefined,\n width: undefined,\n height: undefined,\n placement: this.props.placement,\n });\n };\n\n handlePointerEnter = () => {\n this.mouseEnterTimeout = window.setTimeout(\n () => {\n // for some reason even after the `this.mouseEnterTimeout` is cleared, it still triggers\n // to workaround this issue, check that its value is not `undefined`\n // (if it's `undefined`, it means the timer has been reset)\n if (\n this.mounted &&\n this.props.visible === undefined &&\n this.mouseEnterTimeout !== undefined\n ) {\n this.setState({ visible: true });\n }\n },\n (this.props.mouseEnterDelay ?? 0) * MILLISECONDS_IN_A_SECOND,\n );\n\n if (this.props.onShow) {\n this.props.onShow();\n }\n };\n\n handlePointerLeave = () => {\n if (this.mouseEnterTimeout !== undefined) {\n window.clearTimeout(this.mouseEnterTimeout);\n this.mouseEnterTimeout = undefined;\n }\n\n if (!this.mouseIn) {\n this.mouseLeaveTimeout = window.setTimeout(\n () => {\n if (this.mounted && this.props.visible === undefined && !this.mouseIn) {\n this.setState({ visible: false });\n }\n },\n (this.props.mouseLeaveDelay ?? 0) * MILLISECONDS_IN_A_SECOND,\n );\n\n if (this.props.onHide) {\n this.props.onHide();\n }\n }\n };\n\n handleFocus = () => {\n this.setState({ visible: true });\n if (this.props.onShow) {\n this.props.onShow();\n }\n };\n\n handleBlur = () => {\n this.setState({ visible: false });\n };\n\n handleOverlayPointerEnter = () => {\n this.mouseIn = true;\n };\n\n handleOverlayPointerLeave = () => {\n this.mouseIn = false;\n this.handlePointerLeave();\n };\n\n handleChildPointerEnter = () => {\n this.handlePointerEnter();\n\n const { children } = this.props;\n\n const props = children.props as { onPointerEnter?: VoidFunction };\n\n if (typeof props.onPointerEnter === 'function') {\n props.onPointerEnter();\n }\n };\n\n handleChildPointerLeave = () => {\n this.handlePointerLeave();\n\n const { children } = this.props;\n\n const props = children.props as { onPointerLeave?: VoidFunction };\n\n if (typeof props.onPointerLeave === 'function') {\n props.onPointerLeave();\n }\n };\n\n needsFlipping = ({ leftFix, topFix }: State) => {\n // We can live with a tooltip that's slightly positioned over the toggle\n // node. Only trigger if it really starts overlapping, as the re-positioning\n // is quite expensive, needing 2 re-renders.\n const repositioningThreshold = 8;\n switch (this.getPlacement()) {\n case PopupPlacement.Left:\n case PopupPlacement.Right:\n return Boolean(leftFix && Math.abs(leftFix) > repositioningThreshold);\n case PopupPlacement.Top:\n case PopupPlacement.Bottom:\n return Boolean(topFix && Math.abs(topFix) > repositioningThreshold);\n default:\n return false;\n }\n };\n\n render() {\n const placement = this.getPlacement();\n const style = isMeasured(this.state)\n ? {\n left: this.state.left,\n top: this.state.top,\n width: this.state.width,\n height: this.state.height,\n }\n : undefined;\n\n return (\n <>\n {React.cloneElement(this.props.children, {\n onPointerEnter: this.handleChildPointerEnter,\n onPointerLeave: this.handleChildPointerLeave,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n // aria-describedby is the semantically correct property to use, but it's not\n // always well supported. We sometimes need to handle this differently, depending\n // on the triggering element. We should NOT use aria-labelledby, as this can\n // have unintended effects (e.g., this can mess up buttons that need a tooltip).\n 'aria-describedby': this.id,\n })}\n {this.isVisible() && (\n <TooltipPortal>\n <TooltipWrapper\n className={classNames(placement)}\n onPointerEnter={this.handleOverlayPointerEnter}\n onPointerLeave={this.handleOverlayPointerLeave}\n ref={this.tooltipNodeRef}\n role=\"tooltip\"\n style={style}\n >\n <TooltipWrapperInner>{this.props.content}</TooltipWrapperInner>\n <TooltipWrapperArrow\n style={\n isMeasured(this.state)\n ? this.adjustArrowPosition(placement, this.state)\n : undefined\n }\n />\n </TooltipWrapper>\n </TooltipPortal>\n )}\n </>\n );\n }\n}\n\nclass TooltipPortal extends React.Component<React.PropsWithChildren> {\n el: HTMLElement;\n\n constructor(props: object) {\n super(props);\n this.el = document.createElement('div');\n }\n\n componentDidMount() {\n document.body.appendChild(this.el);\n }\n\n componentWillUnmount() {\n document.body.removeChild(this.el);\n }\n\n render() {\n return createPortal(this.props.children, this.el);\n }\n}\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n`;\n\nconst ARROW_WIDTH = 6;\nconst ARROW_HEIGHT = 7;\nconst ARROW_MARGIN = 3;\n\nexport const TooltipWrapper = styled.div`\n animation: ${fadeIn} 0.3s forwards;\n\n ${tw`sw-absolute`}\n ${tw`sw-z-tooltip`};\n ${tw`sw-block`};\n ${tw`sw-box-border`};\n ${tw`sw-h-auto`};\n ${tw`sw-typo-default`};\n\n &.top {\n margin-top: -${ARROW_MARGIN}px;\n padding: ${ARROW_HEIGHT}px 0;\n }\n\n &.right {\n margin-left: ${ARROW_MARGIN}px;\n padding: 0 ${ARROW_HEIGHT}px;\n }\n\n &.bottom {\n margin-top: ${ARROW_MARGIN}px;\n padding: ${ARROW_HEIGHT}px 0;\n }\n\n &.left {\n margin-left: -${ARROW_MARGIN}px;\n padding: 0 ${ARROW_HEIGHT}px;\n }\n`;\n\nconst TooltipWrapperArrow = styled.div`\n ${tw`sw-absolute`};\n ${tw`sw-w-0`};\n ${tw`sw-h-0`};\n ${tw`sw-border-solid`};\n border-color: var(--echoes-color-support-transparent);\n\n ${TooltipWrapper}.top & {\n border-width: ${ARROW_HEIGHT}px ${ARROW_WIDTH}px 0;\n border-top-color: ${themeColor('tooltipBackground')};\n transform: translateX(-${ARROW_WIDTH}px);\n\n ${tw`sw-bottom-0`};\n ${tw`sw-left-1/2`};\n }\n\n ${TooltipWrapper}.right & {\n border-width: ${ARROW_WIDTH}px ${ARROW_HEIGHT}px ${ARROW_WIDTH}px 0;\n border-right-color: ${themeColor('tooltipBackground')};\n transform: translateY(-${ARROW_WIDTH}px);\n\n ${tw`sw-top-1/2`};\n ${tw`sw-left-0`};\n }\n\n ${TooltipWrapper}.left & {\n border-width: ${ARROW_WIDTH}px 0 ${ARROW_WIDTH}px ${ARROW_HEIGHT}px;\n border-left-color: ${themeColor('tooltipBackground')};\n transform: translateY(-${ARROW_WIDTH}px);\n\n ${tw`sw-top-1/2`};\n ${tw`sw-right-0`};\n }\n\n ${TooltipWrapper}.bottom & {\n border-width: 0 ${ARROW_WIDTH}px ${ARROW_HEIGHT}px;\n border-bottom-color: ${themeColor('tooltipBackground')};\n transform: translateX(-${ARROW_WIDTH}px);\n\n ${tw`sw-top-0`};\n ${tw`sw-left-1/2`};\n }\n`;\n\nexport const TooltipWrapperInner = styled.div`\n font: var(--echoes-typography-paragraph-small-regular);\n padding: var(--echoes-dimension-space-50) var(--echoes-dimension-space-150);\n color: var(--echoes-color-text-on-color);\n background-color: var(--echoes-color-background-inverse);\n border-radius: var(--echoes-border-radius-200);\n\n ${tw`sw-max-w-[22rem]`}\n ${tw`sw-overflow-hidden`};\n ${tw`sw-text-left`};\n ${tw`sw-no-underline`};\n ${tw`sw-break-words`};\n\n hr {\n background-color: var(--echoes-color-text-subdued);\n\n ${tw`sw-mx-4`};\n }\n`;\n","import React from 'react';\n\nvar sizeMap = {\n small: 16,\n medium: 32,\n large: 64\n};\nfunction createIconComponent(name, defaultClassName, getSVGData) {\n var svgDataByHeight = getSVGData();\n var heights = Object.keys(svgDataByHeight);\n var Icon = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {\n var ariaLabel = _ref['aria-label'],\n arialabelledby = _ref['aria-labelledby'],\n tabIndex = _ref.tabIndex,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? defaultClassName : _ref$className,\n _ref$fill = _ref.fill,\n fill = _ref$fill === void 0 ? 'currentColor' : _ref$fill,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 16 : _ref$size,\n _ref$verticalAlign = _ref.verticalAlign,\n verticalAlign = _ref$verticalAlign === void 0 ? 'text-bottom' : _ref$verticalAlign,\n id = _ref.id,\n title = _ref.title;\n var height = sizeMap[size] || size;\n var naturalHeight = closestNaturalHeight(heights, height);\n var naturalWidth = svgDataByHeight[naturalHeight].width;\n var width = height * (naturalWidth / naturalHeight);\n var path = svgDataByHeight[naturalHeight].path;\n var labelled = ariaLabel || arialabelledby;\n var role = labelled ? 'img' : undefined;\n return /*#__PURE__*/React.createElement(\"svg\", {\n ref: forwardedRef,\n \"aria-hidden\": labelled ? undefined : 'true',\n tabIndex: tabIndex,\n focusable: tabIndex >= 0 ? 'true' : 'false',\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": arialabelledby,\n className: className,\n role: role,\n viewBox: \"0 0 \".concat(naturalWidth, \" \").concat(naturalHeight),\n width: width,\n height: height,\n fill: fill,\n id: id,\n style: {\n display: 'inline-block',\n userSelect: 'none',\n verticalAlign: verticalAlign,\n overflow: 'visible'\n }\n }, title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, path);\n });\n Icon.displayName = name;\n return Icon;\n}\n\nfunction closestNaturalHeight(naturalHeights, height) {\n return naturalHeights.map(function (naturalHeight) {\n return parseInt(naturalHeight, 10);\n }).reduce(function (acc, naturalHeight) {\n return naturalHeight <= height ? naturalHeight : acc;\n }, naturalHeights[0]);\n}\n\n/* THIS FILE IS GENERATED. DO NOT EDIT IT. */\nvar AccessibilityIcon = /*#__PURE__*/createIconComponent(\"AccessibilityIcon\", \"octicon octicon-accessibility\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.923 5.302c.063.063.122.129.178.198H14A.75.75 0 0 1 14 7h-3.3l.578 5.163.362 2.997a.75.75 0 0 1-1.49.18L9.868 13H6.132l-.282 2.34a.75.75 0 0 1-1.49-.18l.362-2.997L5.3 7H2a.75.75 0 0 1 0-1.5h3.9a2.54 2.54 0 0 1 .176-.198 3 3 0 1 1 3.847 0ZM9.2 7.073h-.001a1.206 1.206 0 0 0-2.398 0L6.305 11.5h3.39ZM9.5 3a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 3Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.974 8.114a3.573 3.573 0 1 0-3.947 0c-.302.21-.57.467-.79.762H3.708a.75.75 0 1 0 0 1.5h4.885a2.93 2.93 0 0 0-.026.188l-.814 7.267-.499 4.142a.75.75 0 1 0 1.49.18l.42-3.486h5.67l.42 3.485a.75.75 0 0 0 1.49-.18l-.5-4.142-.813-7.266a3.502 3.502 0 0 0-.026-.188h4.885a.75.75 0 1 0 0-1.5h-5.527a3.466 3.466 0 0 0-.79-.762Zm.099-2.979a2.073 2.073 0 1 1-4.146 0 2.073 2.073 0 0 1 4.146 0Zm-.131 5.596.72 6.436H9.338l.72-6.436a1.954 1.954 0 0 1 3.884 0Z\"\n })\n }\n };\n});\nvar AccessibilityInsetIcon = /*#__PURE__*/createIconComponent(\"AccessibilityInsetIcon\", \"octicon octicon-accessibility-inset\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM3.75 6a.75.75 0 0 0 0 1.5h2.409a1.9 1.9 0 0 0-.025.151l-.307 2.508-.323 3.011a.75.75 0 0 0 1.492.16l.25-2.33h1.509l.25 2.33a.748.748 0 0 0 1.199.552.75.75 0 0 0 .291-.712l-.32-3-.309-2.519a1.9 1.9 0 0 0-.025-.151h2.409a.75.75 0 0 0 0-1.5h-8.5ZM8 6a2 2 0 1 0 .001-3.999A2 2 0 0 0 8 6Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0Zm2.5 6.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0ZM12 9h6.375a.75.75 0 0 1 0 1.5h-4.028l.542 4.42.482 4.5a.75.75 0 1 1-1.492.16l-.41-3.83H10.53l-.41 3.83a.75.75 0 1 1-1.492-.16l.484-4.511.54-4.409H5.625a.75.75 0 0 1 0-1.5H12Z\"\n })\n }\n };\n});\nvar AiModelIcon = /*#__PURE__*/createIconComponent(\"AiModelIcon\", \"octicon octicon-ai-model\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.628 7.25a2.25 2.25 0 1 1 0 1.5H8.622a2.25 2.25 0 0 1-2.513 1.466L5.03 12.124a2.25 2.25 0 1 1-1.262-.814l1.035-1.832A2.245 2.245 0 0 1 4.25 8c0-.566.209-1.082.553-1.478L3.768 4.69a2.25 2.25 0 1 1 1.262-.814l1.079 1.908A2.25 2.25 0 0 1 8.622 7.25ZM2.5 2.5a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm4 4.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm6.25 0a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm-9.5 5.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.375 8.5a3.25 3.25 0 1 1-3.163 4h-3a3.252 3.252 0 0 1-4.443 2.509L7.214 17.76a3.25 3.25 0 1 1-1.342-.674l1.672-2.957A3.238 3.238 0 0 1 6.75 12c0-.907.371-1.727.97-2.316L6.117 6.846A3.253 3.253 0 0 1 1.875 3.75a3.25 3.25 0 1 1 5.526 2.32l1.603 2.836A3.25 3.25 0 0 1 13.093 11h3.119a3.252 3.252 0 0 1 3.163-2.5ZM10 10.25a1.75 1.75 0 1 0-.001 3.499A1.75 1.75 0 0 0 10 10.25ZM5.125 2a1.75 1.75 0 1 0 0 3.5 1.75 1.75 0 0 0 0-3.5Zm12.5 9.75a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0Zm-14.25 8.5a1.75 1.75 0 1 0 3.501-.001 1.75 1.75 0 0 0-3.501.001Z\"\n })\n }\n };\n});\nvar AlertIcon = /*#__PURE__*/createIconComponent(\"AlertIcon\", \"octicon octicon-alert\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 17.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-.25-8.25a.75.75 0 0 0-1.5 0v4.5a.75.75 0 0 0 1.5 0v-4.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.836 3.244c.963-1.665 3.365-1.665 4.328 0l8.967 15.504c.963 1.667-.24 3.752-2.165 3.752H3.034c-1.926 0-3.128-2.085-2.165-3.752Zm3.03.751a1.002 1.002 0 0 0-1.732 0L2.168 19.499A1.002 1.002 0 0 0 3.034 21h17.932a1.002 1.002 0 0 0 .866-1.5L12.866 3.994Z\"\n }))\n }\n };\n});\nvar AlertFillIcon = /*#__PURE__*/createIconComponent(\"AlertFillIcon\", \"octicon octicon-alert-fill\", function () {\n return {\n \"12\": {\n \"width\": 12,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n })\n },\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575ZM8 5a.75.75 0 0 0-.75.75v2.5a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8 5Zm1 6a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.836 3.244c.963-1.665 3.365-1.665 4.328 0l8.967 15.504c.963 1.667-.24 3.752-2.165 3.752H3.034c-1.926 0-3.128-2.085-2.165-3.752ZM12 8.5a.75.75 0 0 0-.75.75v4.5a.75.75 0 0 0 1.5 0v-4.5A.75.75 0 0 0 12 8.5Zm1 9a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"\n })\n }\n };\n});\nvar AppsIcon = /*#__PURE__*/createIconComponent(\"AppsIcon\", \"octicon octicon-apps\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 3.25c0-.966.784-1.75 1.75-1.75h2.5c.966 0 1.75.784 1.75 1.75v2.5A1.75 1.75 0 0 1 5.75 7.5h-2.5A1.75 1.75 0 0 1 1.5 5.75Zm7 0c0-.966.784-1.75 1.75-1.75h2.5c.966 0 1.75.784 1.75 1.75v2.5a1.75 1.75 0 0 1-1.75 1.75h-2.5A1.75 1.75 0 0 1 8.5 5.75Zm-7 7c0-.966.784-1.75 1.75-1.75h2.5c.966 0 1.75.784 1.75 1.75v2.5a1.75 1.75 0 0 1-1.75 1.75h-2.5a1.75 1.75 0 0 1-1.75-1.75Zm7 0c0-.966.784-1.75 1.75-1.75h2.5c.966 0 1.75.784 1.75 1.75v2.5a1.75 1.75 0 0 1-1.75 1.75h-2.5a1.75 1.75 0 0 1-1.75-1.75ZM3.25 3a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25h2.5A.25.25 0 0 0 6 5.75v-2.5A.25.25 0 0 0 5.75 3Zm7 0a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25h2.5a.25.25 0 0 0 .25-.25v-2.5a.25.25 0 0 0-.25-.25Zm-7 7a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25h2.5a.25.25 0 0 0 .25-.25v-2.5a.25.25 0 0 0-.25-.25Zm7 0a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25h2.5a.25.25 0 0 0 .25-.25v-2.5a.25.25 0 0 0-.25-.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.5 2.75A2.75 2.75 0 0 0 2.75 5.5v3a2.75 2.75 0 0 0 2.75 2.75h3a2.75 2.75 0 0 0 2.75-2.75v-3A2.75 2.75 0 0 0 8.5 2.75h-3ZM4.25 5.5c0-.69.56-1.25 1.25-1.25h3c.69 0 1.25.56 1.25 1.25v3c0 .69-.56 1.25-1.25 1.25h-3c-.69 0-1.25-.56-1.25-1.25v-3Zm1.25 7.25a2.75 2.75 0 0 0-2.75 2.75v3a2.75 2.75 0 0 0 2.75 2.75h3a2.75 2.75 0 0 0 2.75-2.75v-3a2.75 2.75 0 0 0-2.75-2.75h-3ZM4.25 15.5c0-.69.56-1.25 1.25-1.25h3c.69 0 1.25.56 1.25 1.25v3c0 .69-.56 1.25-1.25 1.25h-3c-.69 0-1.25-.56-1.25-1.25v-3Zm8.5-10a2.75 2.75 0 0 1 2.75-2.75h3a2.75 2.75 0 0 1 2.75 2.75v3a2.75 2.75 0 0 1-2.75 2.75h-3a2.75 2.75 0 0 1-2.75-2.75v-3Zm2.75-1.25c-.69 0-1.25.56-1.25 1.25v3c0 .69.56 1.25 1.25 1.25h3c.69 0 1.25-.56 1.25-1.25v-3c0-.69-.56-1.25-1.25-1.25h-3Zm0 8.5a2.75 2.75 0 0 0-2.75 2.75v3a2.75 2.75 0 0 0 2.75 2.75h3a2.75 2.75 0 0 0 2.75-2.75v-3a2.75 2.75 0 0 0-2.75-2.75h-3Zm-1.25 2.75c0-.69.56-1.25 1.25-1.25h3c.69 0 1.25.56 1.25 1.25v3c0 .69-.56 1.25-1.25 1.25h-3c-.69 0-1.25-.56-1.25-1.25v-3Z\"\n })\n }\n };\n});\nvar ArchiveIcon = /*#__PURE__*/createIconComponent(\"ArchiveIcon\", \"octicon octicon-archive\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0 1 14.25 6H1.75A1.75 1.75 0 0 1 0 4.25ZM1.75 7a.75.75 0 0 1 .75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-5.5a.75.75 0 0 1 1.5 0v5.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25v-5.5A.75.75 0 0 1 1.75 7Zm0-4.5a.25.25 0 0 0-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25ZM6.25 8h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.75 2h18.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 21.25 9H2.75A1.75 1.75 0 0 1 1 7.25v-3.5C1 2.784 1.784 2 2.75 2Zm18.5 1.5H2.75a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h18.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25ZM2.75 10a.75.75 0 0 1 .75.75v9.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25v-9.5a.75.75 0 0 1 1.5 0v9.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25v-9.5a.75.75 0 0 1 .75-.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.75 11.5a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5Z\"\n }))\n }\n };\n});\nvar ArrowBothIcon = /*#__PURE__*/createIconComponent(\"ArrowBothIcon\", \"octicon octicon-arrow-both\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.72 3.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.56 7h10.88l-2.22-2.22a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l3.5 3.5a.75.75 0 0 1 0 1.06l-3.5 3.5a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l2.22-2.22H2.56l2.22 2.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-3.5-3.5a.75.75 0 0 1 0-1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.78 5.97a.75.75 0 0 0-1.06 0l-5.25 5.25a.75.75 0 0 0 0 1.06l5.25 5.25a.75.75 0 0 0 1.06-1.06L3.81 12.5h16.38l-3.97 3.97a.75.75 0 1 0 1.06 1.06l5.25-5.25a.75.75 0 0 0 0-1.06l-5.25-5.25a.75.75 0 1 0-1.06 1.06L20.19 11H3.81l3.97-3.97a.75.75 0 0 0 0-1.06Z\"\n })\n }\n };\n});\nvar ArrowDownIcon = /*#__PURE__*/createIconComponent(\"ArrowDownIcon\", \"octicon octicon-arrow-down\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.03 8.22a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L3.47 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l2.97 2.97V3.75a.75.75 0 0 1 1.5 0v7.44l2.97-2.97a.75.75 0 0 1 1.06 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.97 13.22a.75.75 0 0 1 1.06 0L11 18.19V3.75a.75.75 0 0 1 1.5 0v14.44l4.97-4.97a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734l-6.25 6.25a.75.75 0 0 1-1.06 0l-6.25-6.25a.75.75 0 0 1 0-1.06Z\"\n })\n }\n };\n});\nvar ArrowDownLeftIcon = /*#__PURE__*/createIconComponent(\"ArrowDownLeftIcon\", \"octicon octicon-arrow-down-left\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.78 4.22a.75.75 0 0 1 0 1.06l-5.26 5.26h4.2a.75.75 0 0 1 0 1.5H4.71a.75.75 0 0 1-.75-.75V5.28a.75.75 0 0 1 1.5 0v4.2l5.26-5.26a.75.75 0 0 1 1.06 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.75 8.5a.75.75 0 0 1 .75.75v7.19L16.72 6.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L7.56 17.5h7.19a.75.75 0 0 1 0 1.5h-9a.75.75 0 0 1-.75-.75v-9a.75.75 0 0 1 .75-.75Z\"\n })\n }\n };\n});\nvar ArrowDownRightIcon = /*#__PURE__*/createIconComponent(\"ArrowDownRightIcon\", \"octicon octicon-arrow-down-right\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.22 4.179a.75.75 0 0 1 1.06 0l5.26 5.26v-4.2a.75.75 0 0 1 1.5 0v6.01a.75.75 0 0 1-.75.75H5.28a.75.75 0 0 1 0-1.5h4.2L4.22 5.24a.75.75 0 0 1 0-1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.25 8.5a.75.75 0 0 1 .75.75v9a.75.75 0 0 1-.75.75h-9a.75.75 0 0 1 0-1.5h7.19L6.22 7.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L17.5 16.44V9.25a.75.75 0 0 1 .75-.75Z\"\n })\n }\n };\n});\nvar ArrowLeftIcon = /*#__PURE__*/createIconComponent(\"ArrowLeftIcon\", \"octicon octicon-arrow-left\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.78 19.03a.75.75 0 0 1-1.06 0l-6.25-6.25a.75.75 0 0 1 0-1.06l6.25-6.25a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L5.81 11.5h14.44a.75.75 0 0 1 0 1.5H5.81l4.97 4.97a.75.75 0 0 1 0 1.06Z\"\n })\n }\n };\n});\nvar ArrowRightIcon = /*#__PURE__*/createIconComponent(\"ArrowRightIcon\", \"octicon octicon-arrow-right\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.22 2.97a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l2.97-2.97H3.75a.75.75 0 0 1 0-1.5h7.44L8.22 4.03a.75.75 0 0 1 0-1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.22 19.03a.75.75 0 0 1 0-1.06L18.19 13H3.75a.75.75 0 0 1 0-1.5h14.44l-4.97-4.97a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0Z\"\n })\n }\n };\n});\nvar ArrowSwitchIcon = /*#__PURE__*/createIconComponent(\"ArrowSwitchIcon\", \"octicon octicon-arrow-switch\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.22 14.78a.75.75 0 0 0 1.06-1.06L4.56 12h8.69a.75.75 0 0 0 0-1.5H4.56l1.72-1.72a.75.75 0 0 0-1.06-1.06l-3 3a.75.75 0 0 0 0 1.06l3 3Zm5.56-6.5a.75.75 0 1 1-1.06-1.06l1.72-1.72H2.75a.75.75 0 0 1 0-1.5h8.69L9.72 2.28a.75.75 0 0 1 1.06-1.06l3 3a.75.75 0 0 1 0 1.06l-3 3Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.72 21.78a.75.75 0 0 0 1.06-1.06L5.56 17.5h14.69a.75.75 0 0 0 0-1.5H5.56l3.22-3.22a.75.75 0 1 0-1.06-1.06l-4.5 4.5a.75.75 0 0 0 0 1.06l4.5 4.5Zm8.56-9.5a.75.75 0 1 1-1.06-1.06L18.44 8H3.75a.75.75 0 0 1 0-1.5h14.69l-3.22-3.22a.75.75 0 0 1 1.06-1.06l4.5 4.5a.75.75 0 0 1 0 1.06l-4.5 4.5Z\"\n })\n }\n };\n});\nvar ArrowUpIcon = /*#__PURE__*/createIconComponent(\"ArrowUpIcon\", \"octicon octicon-arrow-up\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.47 7.78a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0l4.25 4.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L9 4.81v7.44a.75.75 0 0 1-1.5 0V4.81L4.53 7.78a.75.75 0 0 1-1.06 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.655 10.405a.75.75 0 0 1-1.06 0l-4.97-4.97v14.44a.75.75 0 0 1-1.5 0V5.435l-4.97 4.97a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l6.25-6.25a.75.75 0 0 1 1.06 0l6.25 6.25a.75.75 0 0 1 0 1.06Z\"\n })\n }\n };\n});\nvar ArrowUpLeftIcon = /*#__PURE__*/createIconComponent(\"ArrowUpLeftIcon\", \"octicon octicon-arrow-up-left\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.96 4.75A.75.75 0 0 1 4.71 4h6.01a.75.75 0 0 1 0 1.5h-4.2l5.26 5.26a.75.75 0 0 1-1.06 1.061l-5.26-5.26v4.2a.75.75 0 0 1-1.5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.75 15.5a.75.75 0 0 1-.75-.75v-9A.75.75 0 0 1 5.75 5h9a.75.75 0 0 1 0 1.5H7.56l10.22 10.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L6.5 7.56v7.19a.75.75 0 0 1-.75.75Z\"\n })\n }\n };\n});\nvar ArrowUpRightIcon = /*#__PURE__*/createIconComponent(\"ArrowUpRightIcon\", \"octicon octicon-arrow-up-right\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.53 4.75A.75.75 0 0 1 5.28 4h6.01a.75.75 0 0 1 .75.75v6.01a.75.75 0 0 1-1.5 0v-4.2l-5.26 5.261a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L9.48 5.5h-4.2a.75.75 0 0 1-.75-.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.25 15.5a.75.75 0 0 1-.75-.75V7.56L7.28 17.78a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L16.44 6.5H9.25a.75.75 0 0 1 0-1.5h9a.75.75 0 0 1 .75.75v9a.75.75 0 0 1-.75.75Z\"\n })\n }\n };\n});\nvar BeakerIcon = /*#__PURE__*/createIconComponent(\"BeakerIcon\", \"octicon octicon-beaker\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 5.782V2.5h-.25a.75.75 0 0 1 0-1.5h6.5a.75.75 0 0 1 0 1.5H11v3.282l3.666 5.76C15.619 13.04 14.543 15 12.767 15H3.233c-1.776 0-2.852-1.96-1.899-3.458Zm-2.4 6.565a.75.75 0 0 0 .633 1.153h9.534a.75.75 0 0 0 .633-1.153L12.225 10.5h-8.45ZM9.5 2.5h-3V6c0 .143-.04.283-.117.403L4.73 9h6.54L9.617 6.403A.746.746 0 0 1 9.5 6Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 8.807V3.5h-.563a.75.75 0 0 1 0-1.5h9.125a.75.75 0 0 1 0 1.5H16v5.307l5.125 9.301c.964 1.75-.302 3.892-2.299 3.892H5.174c-1.998 0-3.263-2.142-2.3-3.892ZM4.189 18.832a1.123 1.123 0 0 0 .985 1.668h13.652a1.123 1.123 0 0 0 .985-1.668L17.7 15H6.3ZM14.5 3.5h-5V9a.75.75 0 0 1-.093.362L7.127 13.5h9.746l-2.28-4.138A.75.75 0 0 1 14.5 9Z\"\n })\n }\n };\n});\nvar BellIcon = /*#__PURE__*/createIconComponent(\"BellIcon\", \"octicon octicon-bell\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c3.681 0 7 2.565 7 6v4.539c0 .642.189 1.269.545 1.803l2.2 3.298A1.517 1.517 0 0 1 20.482 19H15.5a3.5 3.5 0 1 1-7 0H3.519a1.518 1.518 0 0 1-1.265-2.359l2.2-3.299A3.25 3.25 0 0 0 5 11.539V7c0-3.435 3.318-6 7-6ZM6.5 7v4.539a4.75 4.75 0 0 1-.797 2.635l-2.2 3.298-.003.01.001.007.004.006.006.004.007.001h16.964l.007-.001.006-.004.004-.006.001-.006a.017.017 0 0 0-.003-.01l-2.199-3.299a4.753 4.753 0 0 1-.798-2.635V7c0-2.364-2.383-4.5-5.5-4.5S6.5 4.636 6.5 7ZM14 19h-4a2 2 0 1 0 4 0Z\"\n })\n }\n };\n});\nvar BellFillIcon = /*#__PURE__*/createIconComponent(\"BellFillIcon\", \"octicon octicon-bell-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16c.9 0 1.7-.6 1.9-1.5.1-.3-.1-.5-.4-.5h-3c-.3 0-.5.2-.4.5.2.9 1 1.5 1.9 1.5ZM3 5c0-2.8 2.2-5 5-5s5 2.2 5 5v3l1.7 2.6c.2.2.3.5.3.8 0 .8-.7 1.5-1.5 1.5h-11c-.8.1-1.5-.6-1.5-1.4 0-.3.1-.6.3-.8L3 8.1V5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 8a6 6 0 1 1 12 0v2.917c0 .703.228 1.387.65 1.95L20.7 15.6a1.5 1.5 0 0 1-1.2 2.4h-15a1.5 1.5 0 0 1-1.2-2.4l2.05-2.733a3.25 3.25 0 0 0 .65-1.95Zm6 13.5A3.502 3.502 0 0 1 8.645 19h6.71A3.502 3.502 0 0 1 12 21.5Z\"\n })\n }\n };\n});\nvar BellSlashIcon = /*#__PURE__*/createIconComponent(\"BellSlashIcon\", \"octicon octicon-bell-slash\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m4.182 4.31.016.011 10.104 7.316.013.01 1.375.996a.75.75 0 1 1-.88 1.214L13.626 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947V5.305L.31 3.357a.75.75 0 1 1 .88-1.214Zm7.373 7.19L4.5 6.391v1.556c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01c0 .005.002.009.005.012l.006.004.007.001ZM8 1.5c-.997 0-1.895.416-2.534 1.086A.75.75 0 1 1 4.38 1.55 5 5 0 0 1 13 5v2.373a.75.75 0 0 1-1.5 0V5A3.5 3.5 0 0 0 8 1.5ZM8 16a2 2 0 0 1-1.985-1.75c-.017-.137.097-.25.235-.25h3.5c.138 0 .252.113.235.25A2 2 0 0 1 8 16Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.22 1.22a.75.75 0 0 1 1.06 0l20.5 20.5a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L17.94 19H15.5a3.5 3.5 0 1 1-7 0H3.518a1.516 1.516 0 0 1-1.263-2.36l2.2-3.298A3.249 3.249 0 0 0 5 11.539V7c0-.294.025-.583.073-.866L1.22 2.28a.75.75 0 0 1 0-1.06ZM6.5 7.56h-.001v3.979a4.75 4.75 0 0 1-.797 2.635l-2.2 3.298-.003.01.001.007.004.006.006.004.007.001H16.44ZM10 19a2 2 0 1 0 4 0Zm2-16.5c-1.463 0-2.8.485-3.788 1.257l-.04.032a.75.75 0 1 1-.935-1.173l.05-.04C8.548 1.59 10.212 1 12 1c3.681 0 7 2.565 7 6v4.539c0 .642.19 1.269.546 1.803l1.328 1.992a.75.75 0 1 1-1.248.832l-1.328-1.992a4.75 4.75 0 0 1-.798-2.635V7c0-2.364-2.383-4.5-5.5-4.5Z\"\n })\n }\n };\n});\nvar BlockedIcon = /*#__PURE__*/createIconComponent(\"BlockedIcon\", \"octicon octicon-blocked\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.467.22a.749.749 0 0 1 .53-.22h6.006c.199 0 .389.079.53.22l4.247 4.247c.141.14.22.331.22.53v6.006a.749.749 0 0 1-.22.53l-4.247 4.247a.749.749 0 0 1-.53.22H4.997a.749.749 0 0 1-.53-.22L.22 11.533a.749.749 0 0 1-.22-.53V4.997c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.308v5.384L5.308 14.5h5.384l3.808-3.808V5.308L10.692 1.5ZM4 7.75A.75.75 0 0 1 4.75 7h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 7.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.638 2.22a.749.749 0 0 1 .53-.22h7.664c.199 0 .389.079.53.22l5.418 5.418c.141.14.22.332.22.53v7.664a.749.749 0 0 1-.22.53l-5.418 5.418a.749.749 0 0 1-.53.22H8.168a.749.749 0 0 1-.53-.22l-5.42-5.418a.752.752 0 0 1-.219-.53V8.168c0-.199.079-.389.22-.53l5.418-5.42ZM8.48 3.5 3.5 8.48v7.04l4.98 4.98h7.04l4.98-4.98V8.48L15.52 3.5ZM7 11.75a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75Z\"\n })\n }\n };\n});\nvar BoldIcon = /*#__PURE__*/createIconComponent(\"BoldIcon\", \"octicon octicon-bold\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 2h4.5a3.501 3.501 0 0 1 2.852 5.53A3.499 3.499 0 0 1 9.5 14H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1Zm1 7v3h4.5a1.5 1.5 0 0 0 0-3Zm3.5-2a1.5 1.5 0 0 0 0-3H5v3Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 4.75c0-.69.56-1.25 1.25-1.25h5a4.752 4.752 0 0 1 3.888 7.479A5 5 0 0 1 14 20.5H7.25c-.69 0-1.25-.56-1.25-1.25ZM8.5 13v5H14a2.5 2.5 0 1 0 0-5Zm0-2.5h3.751A2.25 2.25 0 0 0 12.25 6H8.5Z\"\n })\n }\n };\n});\nvar BookIcon = /*#__PURE__*/createIconComponent(\"BookIcon\", \"octicon octicon-book\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 3.75A.75.75 0 0 1 .75 3h7.497c1.566 0 2.945.8 3.751 2.014A4.495 4.495 0 0 1 15.75 3h7.5a.75.75 0 0 1 .75.75v15.063a.752.752 0 0 1-.755.75l-7.682-.052a3 3 0 0 0-2.142.878l-.89.891a.75.75 0 0 1-1.061 0l-.902-.901a2.996 2.996 0 0 0-2.121-.879H.75a.75.75 0 0 1-.75-.75Zm12.75 15.232a4.503 4.503 0 0 1 2.823-.971l6.927.047V4.5h-6.75a3 3 0 0 0-3 3ZM11.247 7.497a3 3 0 0 0-3-2.997H1.5V18h6.947c1.018 0 2.006.346 2.803.98Z\"\n })\n }\n };\n});\nvar BookmarkIcon = /*#__PURE__*/createIconComponent(\"BookmarkIcon\", \"octicon octicon-bookmark\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 3.75C5 2.784 5.784 2 6.75 2h10.5c.966 0 1.75.784 1.75 1.75v17.5a.75.75 0 0 1-1.218.586L12 17.21l-5.781 4.625A.75.75 0 0 1 5 21.25Zm1.75-.25a.25.25 0 0 0-.25.25v15.94l5.031-4.026a.749.749 0 0 1 .938 0L17.5 19.69V3.75a.25.25 0 0 0-.25-.25Z\"\n })\n }\n };\n});\nvar BookmarkFillIcon = /*#__PURE__*/createIconComponent(\"BookmarkFillIcon\", \"octicon octicon-bookmark-fill\", function () {\n return {\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.69 2h10.56c.966 0 1.75.784 1.75 1.75v17.5a.75.75 0 0 1-1.218.585L12 17.21l-5.781 4.626A.75.75 0 0 1 5 21.253L4.94 3.756A1.748 1.748 0 0 1 6.69 2Z\"\n })\n }\n };\n});\nvar BookmarkFilledIcon = /*#__PURE__*/createIconComponent(\"BookmarkFilledIcon\", \"octicon octicon-bookmark-filled\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.75.75 0 0 1 3 14.25V2.75Z\"\n })\n }\n };\n});\nvar BookmarkSlashIcon = /*#__PURE__*/createIconComponent(\"BookmarkSlashIcon\", \"octicon octicon-bookmark-slash\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.19 1.143 4.182 3.31l.014.01 8.486 6.145.014.01 2.994 2.168a.75.75 0 1 1-.88 1.214L13 11.547v2.703a.75.75 0 0 1-1.206.596L8 11.944l-3.794 2.902A.75.75 0 0 1 3 14.25V4.305L.31 2.357a.75.75 0 1 1 .88-1.214ZM4.5 5.39v7.341l3.044-2.328a.75.75 0 0 1 .912 0l3.044 2.328V10.46ZM5.865 1h5.385c.966 0 1.75.784 1.75 1.75v3.624a.75.75 0 0 1-1.5 0V2.75a.25.25 0 0 0-.25-.25H5.865a.75.75 0 0 1 0-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.565 2.018v-.001l21.75 15.75a.75.75 0 1 1-.88 1.215L19 16.495v4.764a.748.748 0 0 1-1.219.584L12 17.21l-5.781 4.634A.75.75 0 0 1 5 21.259V6.357L.685 3.232a.75.75 0 0 1 .88-1.214ZM17.5 15.408l-11-7.965v12.254l5.031-4.032a.749.749 0 0 1 .938 0l5.031 4.032ZM7.25 2a.75.75 0 0 0 0 1.5h10a.25.25 0 0 1 .25.25v6.5a.75.75 0 0 0 1.5 0v-6.5A1.75 1.75 0 0 0 17.25 2h-10Z\"\n })\n }\n };\n});\nvar BookmarkSlashFillIcon = /*#__PURE__*/createIconComponent(\"BookmarkSlashFillIcon\", \"octicon octicon-bookmark-slash-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.19 1.143a.75.75 0 1 0-.88 1.215L3 4.305v9.945a.75.75 0 0 0 1.206.596L8 11.944l3.794 2.902A.75.75 0 0 0 13 14.25v-2.703l1.81 1.31a.75.75 0 1 0 .88-1.214l-2.994-2.168a1.09 1.09 0 0 0-.014-.01L4.196 3.32a.712.712 0 0 0-.014-.01L1.19 1.143Zm2.934.203A.5.5 0 0 1 4.6 1h7.233C12.478 1 13 1.522 13 2.167v5.05a.5.5 0 0 1-.793.405l-7.9-5.717a.5.5 0 0 1-.183-.559Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m3.232 2.175 18.5 15.5a.75.75 0 1 1-.964 1.15L19 17.343v3.907a.75.75 0 0 1-1.218.585L12 17.21l-5.781 4.626A.75.75 0 0 1 5 21.253L4.947 5.569 2.268 3.325a.75.75 0 1 1 .964-1.15ZM7.421 2h9.829c.966 0 1.75.784 1.75 1.75v8.073a.75.75 0 0 1-1.232.575L6.94 3.325A.75.75 0 0 1 7.421 2Z\"\n })\n }\n };\n});\nvar BriefcaseIcon = /*#__PURE__*/createIconComponent(\"BriefcaseIcon\", \"octicon octicon-briefcase\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.75 0h2.5C10.216 0 11 .784 11 1.75V3h3.25c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25v-8.5C0 3.784.784 3 1.75 3H5V1.75C5 .784 5.784 0 6.75 0ZM3.5 9.5a3.49 3.49 0 0 1-2-.627v4.377c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V8.873a3.49 3.49 0 0 1-2 .627Zm-1.75-5a.25.25 0 0 0-.25.25V6a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2V4.75a.25.25 0 0 0-.25-.25H1.75ZM9.5 3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25V3Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.5 1.75C7.5.784 8.284 0 9.25 0h5.5c.966 0 1.75.784 1.75 1.75V4h4.75c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 21.25 22H2.75A1.75 1.75 0 0 1 1 20.25V5.75C1 4.784 1.784 4 2.75 4H7.5Zm-5 10.24v8.26c0 .138.112.25.25.25h18.5a.25.25 0 0 0 .25-.25v-8.26A4.235 4.235 0 0 1 18.75 13H5.25a4.235 4.235 0 0 1-2.75-1.01Zm19-3.24v-3a.25.25 0 0 0-.25-.25H2.75a.25.25 0 0 0-.25.25v3a2.75 2.75 0 0 0 2.75 2.75h13.5a2.75 2.75 0 0 0 2.75-2.75Zm-6.5-7a.25.25 0 0 0-.25-.25h-5.5a.25.25 0 0 0-.25.25V4h6Z\"\n })\n }\n };\n});\nvar BroadcastIcon = /*#__PURE__*/createIconComponent(\"BroadcastIcon\", \"octicon octicon-broadcast\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.75 8.582v5.668a.75.75 0 0 1-1.5 0V8.582a1.75 1.75 0 1 1 1.5 0Zm3.983-7.125a.75.75 0 0 1 1.06.026A7.976 7.976 0 0 1 16 7c0 2.139-.84 4.083-2.207 5.517a.75.75 0 1 1-1.086-1.034A6.474 6.474 0 0 0 14.5 7a6.474 6.474 0 0 0-1.793-4.483.75.75 0 0 1 .026-1.06Zm-9.466 0c.3.286.312.76.026 1.06A6.474 6.474 0 0 0 1.5 7a6.47 6.47 0 0 0 1.793 4.483.75.75 0 0 1-1.086 1.034A7.973 7.973 0 0 1 0 7c0-2.139.84-4.083 2.207-5.517a.75.75 0 0 1 1.06-.026Zm8.556 2.321A4.988 4.988 0 0 1 13 7a4.988 4.988 0 0 1-1.177 3.222.75.75 0 1 1-1.146-.967A3.487 3.487 0 0 0 11.5 7c0-.86-.309-1.645-.823-2.255a.75.75 0 0 1 1.146-.967Zm-6.492.958A3.48 3.48 0 0 0 4.5 7a3.48 3.48 0 0 0 .823 2.255.75.75 0 0 1-1.146.967A4.981 4.981 0 0 1 3 7a4.982 4.982 0 0 1 1.188-3.236.75.75 0 1 1 1.143.972Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.485 2.515a.75.75 0 0 0-1.06 1.06A10.465 10.465 0 0 1 22.5 11c0 2.9-1.174 5.523-3.075 7.424a.75.75 0 0 0 1.06 1.061A11.965 11.965 0 0 0 24 11c0-3.314-1.344-6.315-3.515-8.485Zm-15.91 1.06a.75.75 0 0 0-1.06-1.06A11.965 11.965 0 0 0 0 11c0 3.313 1.344 6.314 3.515 8.485a.75.75 0 0 0 1.06-1.06A10.465 10.465 0 0 1 1.5 11c0-2.9 1.174-5.524 3.075-7.425ZM8.11 7.11a.75.75 0 0 0-1.06-1.06A6.98 6.98 0 0 0 5 11a6.98 6.98 0 0 0 2.05 4.95.75.75 0 0 0 1.06-1.061 5.48 5.48 0 0 1-1.61-3.89 5.48 5.48 0 0 1 1.61-3.888Zm8.84-1.06a.75.75 0 1 0-1.06 1.06A5.48 5.48 0 0 1 17.5 11a5.48 5.48 0 0 1-1.61 3.889.75.75 0 1 0 1.06 1.06A6.98 6.98 0 0 0 19 11a6.98 6.98 0 0 0-2.05-4.949ZM14 11a2 2 0 0 1-1.25 1.855v8.395a.75.75 0 0 1-1.5 0v-8.395A2 2 0 1 1 14 11Z\"\n })\n }\n };\n});\nvar BrowserIcon = /*#__PURE__*/createIconComponent(\"BrowserIcon\", \"octicon octicon-browser\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25ZM14.5 6h-13v7.25c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm-6-3.5v2h6V2.75a.25.25 0 0 0-.25-.25ZM5 2.5v2h2v-2Zm-3.25 0a.25.25 0 0 0-.25.25V4.5h2v-2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 3.75C0 2.784.784 2 1.75 2h20.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 22.25 22H1.75A1.75 1.75 0 0 1 0 20.25ZM22.5 7h-21v13.25c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25Zm-10-3.5v2h10V3.75a.25.25 0 0 0-.25-.25ZM7 3.5v2h4v-2Zm-5.25 0a.25.25 0 0 0-.25.25V5.5h4v-2Z\"\n })\n }\n };\n});\nvar BugIcon = /*#__PURE__*/createIconComponent(\"BugIcon\", \"octicon octicon-bug\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.72.22a.75.75 0 0 1 1.06 0l1 .999a3.488 3.488 0 0 1 2.441 0l.999-1a.748.748 0 0 1 1.265.332.75.75 0 0 1-.205.729l-.775.776c.616.63.995 1.493.995 2.444v.327c0 .1-.009.197-.025.292.408.14.764.392 1.029.722l1.968-.787a.75.75 0 0 1 .556 1.392L13 7.258V9h2.25a.75.75 0 0 1 0 1.5H13v.5c0 .409-.049.806-.141 1.186l2.17.868a.75.75 0 0 1-.557 1.392l-2.184-.873A4.997 4.997 0 0 1 8 16a4.997 4.997 0 0 1-4.288-2.427l-2.183.873a.75.75 0 0 1-.558-1.392l2.17-.868A5.036 5.036 0 0 1 3 11v-.5H.75a.75.75 0 0 1 0-1.5H3V7.258L.971 6.446a.75.75 0 0 1 .558-1.392l1.967.787c.265-.33.62-.583 1.03-.722a1.677 1.677 0 0 1-.026-.292V4.5c0-.951.38-1.814.995-2.444L4.72 1.28a.75.75 0 0 1 0-1.06Zm.53 6.28a.75.75 0 0 0-.75.75V11a3.5 3.5 0 1 0 7 0V7.25a.75.75 0 0 0-.75-.75ZM6.173 5h3.654A.172.172 0 0 0 10 4.827V4.5a2 2 0 1 0-4 0v.327c0 .096.077.173.173.173Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.72.22a.75.75 0 0 1 1.06 0l1.204 1.203A4.98 4.98 0 0 1 12 1c.717 0 1.4.151 2.016.423L15.22.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-.971.972A4.991 4.991 0 0 1 17 6v1.104a2.755 2.755 0 0 1 1.917 1.974l1.998-.999a.75.75 0 0 1 .67 1.342L19 10.714V13.5l3.25.003a.75.75 0 0 1 0 1.5L19 15.001V16c0 .568-.068 1.134-.204 1.686l.04.018 2.75 1.375a.75.75 0 1 1-.671 1.342l-2.638-1.319A6.998 6.998 0 0 1 12 23a6.998 6.998 0 0 1-6.197-3.742l-2.758 1.181a.752.752 0 0 1-1.064-.776.752.752 0 0 1 .474-.602l2.795-1.199A6.976 6.976 0 0 1 5 16v-.996H1.75a.75.75 0 0 1 0-1.5H5v-2.79L2.415 9.42a.75.75 0 0 1 .67-1.342l1.998.999A2.756 2.756 0 0 1 7 7.104V6a4.99 4.99 0 0 1 1.69-3.748l-.97-.972a.75.75 0 0 1 0-1.06ZM6.5 9.75V16a5.5 5.5 0 1 0 11 0V9.75c0-.69-.56-1.25-1.25-1.25h-8.5c-.69 0-1.25.56-1.25 1.25ZM8.5 7h7V6a3.5 3.5 0 1 0-7 0Z\"\n })\n }\n };\n});\nvar CacheIcon = /*#__PURE__*/createIconComponent(\"CacheIcon\", \"octicon octicon-cache\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 5.724V8c0 .248.238.7 1.169 1.159.874.43 2.144.745 3.62.822a.75.75 0 1 1-.078 1.498c-1.622-.085-3.102-.432-4.204-.975a5.565 5.565 0 0 1-.507-.28V12.5c0 .133.058.318.282.551.227.237.591.483 1.101.707 1.015.447 2.47.742 4.117.742.406 0 .802-.018 1.183-.052a.751.751 0 1 1 .134 1.494C8.89 15.98 8.45 16 8 16c-1.805 0-3.475-.32-4.721-.869-.623-.274-1.173-.619-1.579-1.041-.408-.425-.7-.964-.7-1.59v-9c0-.626.292-1.165.7-1.591.406-.42.956-.766 1.579-1.04C4.525.32 6.195 0 8 0c1.806 0 3.476.32 4.721.869.623.274 1.173.619 1.579 1.041.408.425.7.964.7 1.59 0 .626-.292 1.165-.7 1.591-.406.42-.956.766-1.578 1.04C11.475 6.68 9.805 7 8 7c-1.805 0-3.475-.32-4.721-.869a6.15 6.15 0 0 1-.779-.407Zm0-2.224c0 .133.058.318.282.551.227.237.591.483 1.101.707C4.898 5.205 6.353 5.5 8 5.5c1.646 0 3.101-.295 4.118-.742.508-.224.873-.471 1.1-.708.224-.232.282-.417.282-.55 0-.133-.058-.318-.282-.551-.227-.237-.591-.483-1.101-.707C11.102 1.795 9.647 1.5 8 1.5c-1.646 0-3.101.295-4.118.742-.508.224-.873.471-1.1.708-.224.232-.282.417-.282.55Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.49 7.582a.375.375 0 0 0-.66-.313l-3.625 4.625a.375.375 0 0 0 .295.606h2.127l-.619 2.922a.375.375 0 0 0 .666.304l3.125-4.125A.375.375 0 0 0 15.5 11h-1.778l.769-3.418Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.505 9.117a7.723 7.723 0 0 1-1.497-.852V12c0 .524.473 1.23 1.8 1.883 1.267.625 3.085 1.071 5.18 1.182a.76.76 0 0 1-.08 1.517c-2.242-.118-4.274-.598-5.772-1.336a7.264 7.264 0 0 1-1.128-.68V18.3c0 .282.127.61.476.973.352.366.899.732 1.633 1.055 1.466.645 3.545 1.063 5.881 1.063.577 0 1.14-.025 1.683-.074a.76.76 0 0 1 .135 1.513 20.47 20.47 0 0 1-1.818.08c-2.496 0-4.792-.443-6.493-1.192-.849-.374-1.584-.838-2.117-1.393-.536-.558-.9-1.244-.9-2.025V5.7c0-.782.364-1.467.9-2.025.533-.555 1.268-1.02 2.117-1.393 1.7-.749 3.997-1.193 6.493-1.193 2.497 0 4.793.444 6.493 1.193.85.373 1.585.838 2.117 1.393.537.558.9 1.243.9 2.025 0 .781-.363 1.467-.9 2.025-.532.554-1.267 1.02-2.117 1.393-1.7.748-3.996 1.192-6.493 1.192-2.496 0-4.792-.444-6.493-1.192Zm-1.021-4.39c-.35.362-.476.69-.476.972 0 .282.127.61.476.972.352.367.899.732 1.633 1.055 1.466.646 3.545 1.064 5.881 1.064 2.337 0 4.415-.418 5.882-1.064.734-.323 1.28-.688 1.633-1.055.35-.363.476-.69.476-.972 0-.282-.127-.61-.476-.973-.353-.367-.9-.732-1.633-1.055-1.467-.645-3.545-1.063-5.882-1.063-2.336 0-4.415.418-5.88 1.063-.735.323-1.282.688-1.634 1.055Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.425 11.11a.5.5 0 0 0-.881-.418l-5.438 6.937a.5.5 0 0 0 .394.808h3.268l-.945 4.46a.5.5 0 0 0 .888.405l4.688-6.188a.5.5 0 0 0-.399-.802h-2.745l1.17-5.202Z\"\n }))\n }\n };\n});\nvar CalendarIcon = /*#__PURE__*/createIconComponent(\"CalendarIcon\", \"octicon octicon-calendar\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.75 0a.75.75 0 0 1 .75.75V2h5V.75a.75.75 0 0 1 1.5 0V2h1.25c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V3.75C1 2.784 1.784 2 2.75 2H4V.75A.75.75 0 0 1 4.75 0ZM2.5 7.5v6.75c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V7.5Zm10.75-4H2.75a.25.25 0 0 0-.25.25V6h11V3.75a.25.25 0 0 0-.25-.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.75 0a.75.75 0 0 1 .75.75V3h9V.75a.75.75 0 0 1 1.5 0V3h2.75c.966 0 1.75.784 1.75 1.75v16a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75v-16C1.5 3.784 2.284 3 3.25 3H6V.75A.75.75 0 0 1 6.75 0ZM21 9.5H3v11.25c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25Zm-17.75-5a.25.25 0 0 0-.25.25V8h18V4.75a.25.25 0 0 0-.25-.25Z\"\n })\n }\n };\n});\nvar CheckIcon = /*#__PURE__*/createIconComponent(\"CheckIcon\", \"octicon octicon-check\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.03 5.72a.75.75 0 0 1 0 1.06l-11.5 11.5a.747.747 0 0 1-1.072-.012l-5.5-5.75a.75.75 0 1 1 1.084-1.036l4.97 5.195L19.97 5.72a.75.75 0 0 1 1.06 0Z\"\n })\n }\n };\n});\nvar CheckCircleIcon = /*#__PURE__*/createIconComponent(\"CheckCircleIcon\", \"octicon octicon-check-circle\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm1.5 0a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm10.28-1.72-4.5 4.5a.75.75 0 0 1-1.06 0l-2-2a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l1.47 1.47 3.97-3.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.28 9.28a.75.75 0 0 0-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l6.5-6.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"\n }))\n }\n };\n});\nvar CheckCircleFillIcon = /*#__PURE__*/createIconComponent(\"CheckCircleFillIcon\", \"octicon octicon-check-circle-fill\", function () {\n return {\n \"12\": {\n \"width\": 12,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 0a6 6 0 1 1 0 12A6 6 0 0 1 6 0Zm-.705 8.737L9.63 4.403 8.392 3.166 5.295 6.263l-1.7-1.702L2.356 5.8l2.938 2.938Z\"\n })\n },\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16Zm3.78-9.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018L6.75 9.19 5.28 7.72a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l2 2a.75.75 0 0 0 1.06 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z\"\n })\n }\n };\n});\nvar CheckboxIcon = /*#__PURE__*/createIconComponent(\"CheckboxIcon\", \"octicon octicon-checkbox\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.75 1h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.5 2.75v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25H2.75a.25.25 0 0 0-.25.25Zm9.28 3.53-4.5 4.5a.75.75 0 0 1-1.06 0l-2-2a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l1.47 1.47 3.97-3.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.28 9.28a.75.75 0 0 0-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l6.5-6.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75C2 2.784 2.784 2 3.75 2ZM3.5 3.75v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H3.75a.25.25 0 0 0-.25.25Z\"\n }))\n }\n };\n});\nvar ChecklistIcon = /*#__PURE__*/createIconComponent(\"ChecklistIcon\", \"octicon octicon-checklist\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 1.75v11.5c0 .138.112.25.25.25h3.17a.75.75 0 0 1 0 1.5H2.75A1.75 1.75 0 0 1 1 13.25V1.75C1 .784 1.784 0 2.75 0h8.5C12.216 0 13 .784 13 1.75v7.736a.75.75 0 0 1-1.5 0V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13.274 9.537v-.001l-4.557 4.45a.75.75 0 0 1-1.055-.008l-1.943-1.95a.75.75 0 0 1 1.062-1.058l1.419 1.425 4.026-3.932a.75.75 0 1 1 1.048 1.074ZM4.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM4 7.75A.75.75 0 0 1 4.75 7h2a.75.75 0 0 1 0 1.5h-2A.75.75 0 0 1 4 7.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.5 3.75a.25.25 0 0 1 .25-.25h13.5a.25.25 0 0 1 .25.25v10a.75.75 0 0 0 1.5 0v-10A1.75 1.75 0 0 0 17.25 2H3.75A1.75 1.75 0 0 0 2 3.75v16.5c0 .966.784 1.75 1.75 1.75h7a.75.75 0 0 0 0-1.5h-7a.25.25 0 0 1-.25-.25V3.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.25 7a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5Zm-.75 4.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm16.28 4.53a.75.75 0 1 0-1.06-1.06l-4.97 4.97-1.97-1.97a.75.75 0 1 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5.5-5.5Z\"\n }))\n }\n };\n});\nvar ChevronDownIcon = /*#__PURE__*/createIconComponent(\"ChevronDownIcon\", \"octicon octicon-chevron-down\", function () {\n return {\n \"12\": {\n \"width\": 12,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 8.825c-.2 0-.4-.1-.5-.2l-3.3-3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l2.7 2.7 2.7-2.7c.3-.3.8-.3 1.1 0 .3.3.3.8 0 1.1l-3.2 3.2c-.2.2-.4.3-.6.3Z\"\n })\n },\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.22 8.22a.749.749 0 0 0 0 1.06l6.25 6.25a.749.749 0 0 0 1.06 0l6.25-6.25a.749.749 0 1 0-1.06-1.06L12 13.939 6.28 8.22a.749.749 0 0 0-1.06 0Z\"\n })\n }\n };\n});\nvar ChevronLeftIcon = /*#__PURE__*/createIconComponent(\"ChevronLeftIcon\", \"octicon octicon-chevron-left\", function () {\n return {\n \"12\": {\n \"width\": 12,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.587 6.025c0 .2.1.4.2.5l3.3 3.3c.3.3.8.3 1.1 0 .3-.3.3-.8 0-1.1l-2.7-2.7 2.7-2.7c.3-.3.3-.8 0-1.1-.3-.3-.8-.3-1.1 0l-3.2 3.2c-.2.2-.3.4-.3.6Z\"\n })\n },\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.78 12.78a.75.75 0 0 1-1.06 0L4.47 8.53a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L6.06 8l3.72 3.72a.75.75 0 0 1 0 1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.28 5.22a.75.75 0 0 1 0 1.06L9.56 12l5.72 5.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-6.25-6.25a.75.75 0 0 1 0-1.06l6.25-6.25a.75.75 0 0 1 1.06 0Z\"\n })\n }\n };\n});\nvar ChevronRightIcon = /*#__PURE__*/createIconComponent(\"ChevronRightIcon\", \"octicon octicon-chevron-right\", function () {\n return {\n \"12\": {\n \"width\": 12,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z\"\n })\n },\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.72 18.78a.75.75 0 0 1 0-1.06L14.44 12 8.72 6.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0Z\"\n })\n }\n };\n});\nvar ChevronUpIcon = /*#__PURE__*/createIconComponent(\"ChevronUpIcon\", \"octicon octicon-chevron-up\", function () {\n return {\n \"12\": {\n \"width\": 12,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 4c-.2 0-.4.1-.5.2L2.2 7.5c-.3.3-.3.8 0 1.1.3.3.8.3 1.1 0L6 5.9l2.7 2.7c.3.3.8.3 1.1 0 .3-.3.3-.8 0-1.1L6.6 4.3C6.4 4.1 6.2 4 6 4Z\"\n })\n },\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.22 10.53a.749.749 0 0 1 0-1.06l4.25-4.25a.749.749 0 0 1 1.06 0l4.25 4.25a.749.749 0 1 1-1.06 1.06L8 6.811 4.28 10.53a.749.749 0 0 1-1.06 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.78 15.78a.749.749 0 0 1-1.06 0L12 10.061 6.28 15.78a.749.749 0 1 1-1.06-1.06l6.25-6.25a.749.749 0 0 1 1.06 0l6.25 6.25a.749.749 0 0 1 0 1.06Z\"\n })\n }\n };\n});\nvar CircleIcon = /*#__PURE__*/createIconComponent(\"CircleIcon\", \"octicon octicon-circle\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9.5A9.5 9.5 0 0 0 2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5Z\"\n })\n }\n };\n});\nvar CircleSlashIcon = /*#__PURE__*/createIconComponent(\"CircleSlashIcon\", \"octicon octicon-circle-slash\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM3.965 13.096a6.5 6.5 0 0 0 9.131-9.131ZM1.5 8a6.474 6.474 0 0 0 1.404 4.035l9.131-9.131A6.499 6.499 0 0 0 1.5 8Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM5.834 19.227A9.464 9.464 0 0 0 12 21.5a9.5 9.5 0 0 0 9.5-9.5 9.464 9.464 0 0 0-2.273-6.166ZM2.5 12a9.464 9.464 0 0 0 2.273 6.166L18.166 4.773A9.463 9.463 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"\n })\n }\n };\n});\nvar ClockIcon = /*#__PURE__*/createIconComponent(\"ClockIcon\", \"octicon octicon-clock\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7-3.25v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5a.75.75 0 0 1 1.5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 7.25a.75.75 0 0 0-1.5 0v5.5c0 .27.144.518.378.651l3.5 2a.75.75 0 0 0 .744-1.302L12.5 12.315V7.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"\n }))\n }\n };\n});\nvar ClockFillIcon = /*#__PURE__*/createIconComponent(\"ClockFillIcon\", \"octicon octicon-clock-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8.575-3.25a.825.825 0 1 0-1.65 0v3.5c0 .337.205.64.519.766l2.5 1a.825.825 0 0 0 .612-1.532l-1.981-.793Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11.575-4.75a.825.825 0 1 0-1.65 0v5.5c0 .296.159.57.416.716l3.5 2a.825.825 0 0 0 .818-1.432l-3.084-1.763Z\"\n })\n }\n };\n});\nvar CloudIcon = /*#__PURE__*/createIconComponent(\"CloudIcon\", \"octicon octicon-cloud\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 7.25A5.225 5.225 0 0 1 7.25 2a5.222 5.222 0 0 1 4.767 3.029A4.472 4.472 0 0 1 16 9.5c0 2.505-1.995 4.5-4.5 4.5h-8A3.474 3.474 0 0 1 0 10.5c0-1.41.809-2.614 2.001-3.17Zm1.54.482a.75.75 0 0 1-.556.832c-.86.22-1.484.987-1.484 1.936 0 1.124.876 2 2 2h8c1.676 0 3-1.324 3-3s-1.324-3-3-3a.75.75 0 0 1-.709-.504A3.72 3.72 0 0 0 7.25 3.5C5.16 3.5 3.5 5.16 3.5 7.25c.002.146.014.292.035.436l.004.036.001.008Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.103 10.107c0-4.244 3.445-7.607 7.733-7.607 3.19 0 5.912 1.858 7.099 4.563l.01.022.001.006C21.348 7.345 24 10.095 24 13.536 24 17.148 21.076 20 17.431 20H5.017C2.23 20 0 17.83 0 15.06a4.899 4.899 0 0 1 3.112-4.581 7.696 7.696 0 0 1-.009-.372ZM10.836 4c-3.485 0-6.233 2.717-6.233 6.107 0 .284.022.602.052.756a.75.75 0 0 1-.552.869c-1.52.385-2.603 1.712-2.603 3.328 0 1.917 1.532 3.44 3.517 3.44h12.414c2.843 0 5.069-2.206 5.069-4.964 0-2.759-2.226-4.965-5.069-4.965a.75.75 0 0 1-.696-.47l-.179-.446C15.606 5.5 13.424 4 10.836 4Z\"\n })\n }\n };\n});\nvar CloudOfflineIcon = /*#__PURE__*/createIconComponent(\"CloudOfflineIcon\", \"octicon octicon-cloud-offline\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.25 2c-.69 0-1.351.13-1.957.371a.75.75 0 1 0 .554 1.394c.43-.17.903-.265 1.403-.265a3.72 3.72 0 0 1 3.541 2.496.75.75 0 0 0 .709.504c1.676 0 3 1.324 3 3a3 3 0 0 1-.681 1.92.75.75 0 0 0 1.156.955A4.496 4.496 0 0 0 16 9.5a4.472 4.472 0 0 0-3.983-4.471A5.222 5.222 0 0 0 7.25 2ZM.72 1.72a.75.75 0 0 1 1.06 0l2.311 2.31c.03.025.056.052.08.08l8.531 8.532.035.034 2.043 2.044a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-1.8-1.799a4.54 4.54 0 0 1-.42.019h-8A3.474 3.474 0 0 1 0 10.5c0-1.41.809-2.614 2.001-3.17a5.218 5.218 0 0 1 .646-2.622L.72 2.78a.75.75 0 0 1 0-1.06ZM3.5 7.25c.004.161.018.322.041.481a.75.75 0 0 1-.557.833c-.86.22-1.484.986-1.484 1.936 0 1.124.876 2 2 2h6.94L3.771 5.832A3.788 3.788 0 0 0 3.5 7.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m2.78 2.22 19.5 19.5a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2.845-2.845a6.932 6.932 0 0 1-.944.065H5.017C2.229 20 0 17.831 0 15.059a4.899 4.899 0 0 1 3.111-4.58A7.52 7.52 0 0 1 4.36 5.922L1.72 3.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018ZM16.94 18.5 5.448 7.01a6.026 6.026 0 0 0-.794 3.853.75.75 0 0 1-.552.869c-1.52.385-2.603 1.712-2.603 3.328 0 1.917 1.532 3.44 3.517 3.44Zm-6.104-16a7.865 7.865 0 0 0-3.638.88.75.75 0 1 0 .692 1.331A6.365 6.365 0 0 1 10.836 4c2.588 0 4.77 1.5 5.72 3.655l.179.445a.75.75 0 0 0 .696.471c2.843 0 5.069 2.206 5.069 4.965a4.9 4.9 0 0 1-1.684 3.716.75.75 0 0 0 .986 1.13A6.396 6.396 0 0 0 24 13.536c0-3.44-2.652-6.191-6.054-6.445l-.002-.006a.634.634 0 0 0-.01-.022C16.749 4.358 14.026 2.5 10.837 2.5Z\"\n })\n }\n };\n});\nvar CodeIcon = /*#__PURE__*/createIconComponent(\"CodeIcon\", \"octicon octicon-code\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.22 4.97a.75.75 0 0 1 1.06 0l6.5 6.5a.75.75 0 0 1 0 1.06l-6.5 6.5a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L21.19 12l-5.97-5.97a.75.75 0 0 1 0-1.06Zm-6.44 0a.75.75 0 0 1 0 1.06L2.81 12l5.97 5.97a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-6.5-6.5a.75.75 0 0 1 0-1.06l6.5-6.5a.75.75 0 0 1 1.06 0Z\"\n })\n }\n };\n});\nvar CodeOfConductIcon = /*#__PURE__*/createIconComponent(\"CodeOfConductIcon\", \"octicon octicon-code-of-conduct\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.048 2.241c.964-.709 2.079-1.238 3.325-1.241a4.616 4.616 0 0 1 3.282 1.355c.41.408.757.86.996 1.428.238.568.348 1.206.347 1.968 0 2.193-1.505 4.254-3.081 5.862-1.496 1.526-3.213 2.796-4.249 3.563l-.22.163a.749.749 0 0 1-.895 0l-.221-.163c-1.036-.767-2.753-2.037-4.249-3.563C1.51 10.008.007 7.952.002 5.762a4.614 4.614 0 0 1 1.353-3.407C3.123.585 6.223.537 8.048 2.24Zm-1.153.983c-1.25-1.033-3.321-.967-4.48.191a3.115 3.115 0 0 0-.913 2.335c0 1.556 1.109 3.24 2.652 4.813C5.463 11.898 6.96 13.032 8 13.805c.353-.262.758-.565 1.191-.905l-1.326-1.223a.75.75 0 0 1 1.018-1.102l1.48 1.366c.328-.281.659-.577.984-.887L9.99 9.802a.75.75 0 1 1 1.019-1.103l1.384 1.28c.295-.329.566-.661.81-.995L12.92 8.7l-1.167-1.168c-.674-.671-1.78-.664-2.474.03-.268.269-.538.537-.802.797-.893.882-2.319.843-3.185-.032-.346-.35-.693-.697-1.043-1.047a.75.75 0 0 1-.04-1.016c.162-.191.336-.401.52-.623.62-.748 1.356-1.637 2.166-2.417Zm7.112 4.442c.313-.65.491-1.293.491-1.916v-.001c0-.614-.088-1.045-.23-1.385-.143-.339-.357-.633-.673-.949a3.111 3.111 0 0 0-2.218-.915c-1.092.003-2.165.627-3.226 1.602-.823.755-1.554 1.637-2.228 2.45l-.127.154.562.566a.755.755 0 0 0 1.066.02l.794-.79c1.258-1.258 3.312-1.31 4.594-.032.396.394.792.791 1.173 1.173Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.828 4.328C5.26 1.896 9.5 1.881 11.935 4.317c.024.024.046.05.067.076 1.391-1.078 2.993-1.886 4.777-1.89a6.22 6.22 0 0 1 4.424 1.825c.559.56 1.023 1.165 1.34 1.922.318.756.47 1.617.468 2.663 0 2.972-2.047 5.808-4.269 8.074-2.098 2.14-4.507 3.924-5.974 5.009l-.311.23a.752.752 0 0 1-.897 0l-.312-.23c-1.466-1.085-3.875-2.869-5.973-5.009-2.22-2.263-4.264-5.095-4.27-8.063a6.216 6.216 0 0 1 1.823-4.596Zm8.033 1.042c-1.846-1.834-5.124-1.823-6.969.022a4.712 4.712 0 0 0-1.382 3.52c0 2.332 1.65 4.79 3.839 7.022 1.947 1.986 4.184 3.66 5.66 4.752a78.214 78.214 0 0 0 2.159-1.645l-2.14-1.974a.752.752 0 0 1 1.02-1.106l2.295 2.118c.616-.52 1.242-1.08 1.85-1.672l-2.16-1.992a.753.753 0 0 1 1.021-1.106l2.188 2.02a18.963 18.963 0 0 0 1.528-1.877l-.585-.586-1.651-1.652c-1.078-1.074-2.837-1.055-3.935.043-.379.38-.76.758-1.132 1.126-1.14 1.124-2.96 1.077-4.07-.043-.489-.495-.98-.988-1.475-1.482a.752.752 0 0 1-.04-1.019c.234-.276.483-.576.745-.893.928-1.12 2.023-2.442 3.234-3.576Zm9.725 6.77c.579-1.08.92-2.167.92-3.228.002-.899-.128-1.552-.35-2.08-.22-.526-.551-.974-1.017-1.44a4.71 4.71 0 0 0-3.356-1.384c-1.66.004-3.25.951-4.77 2.346-1.18 1.084-2.233 2.353-3.188 3.506l-.351.423c.331.332.663.664.993.998a1.375 1.375 0 0 0 1.943.03c.37-.365.748-.74 1.125-1.118 1.662-1.663 4.373-1.726 6.06-.045.56.558 1.12 1.12 1.658 1.658Z\"\n })\n }\n };\n});\nvar CodeReviewIcon = /*#__PURE__*/createIconComponent(\"CodeReviewIcon\", \"octicon octicon-code-review\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z\"\n }))\n }\n };\n});\nvar CodeSquareIcon = /*#__PURE__*/createIconComponent(\"CodeSquareIcon\", \"octicon octicon-code-square\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z\"\n }))\n }\n };\n});\nvar CodescanIcon = /*#__PURE__*/createIconComponent(\"CodescanIcon\", \"octicon octicon-codescan\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.47 4.97a.75.75 0 0 0 0 1.06L9.94 7.5 8.47 8.97a.75.75 0 1 0 1.06 1.06l2-2a.75.75 0 0 0 0-1.06l-2-2a.75.75 0 0 0-1.06 0ZM6.53 6.03a.75.75 0 0 0-1.06-1.06l-2 2a.75.75 0 0 0 0 1.06l2 2a.75.75 0 1 0 1.06-1.06L5.06 7.5l1.47-1.47Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.246 13.307a7.501 7.501 0 1 1 1.06-1.06l2.474 2.473a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM1.5 7.5a6.002 6.002 0 0 0 3.608 5.504 6.002 6.002 0 0 0 6.486-1.117.748.748 0 0 1 .292-.293A6 6 0 1 0 1.5 7.5Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.97 6.97a.75.75 0 0 0 0 1.06l2.47 2.47-2.47 2.47a.75.75 0 1 0 1.06 1.06l3-3a.75.75 0 0 0 0-1.06l-3-3a.75.75 0 0 0-1.06 0ZM9.03 8.03a.75.75 0 0 0-1.06-1.06l-3 3a.75.75 0 0 0 0 1.06l3 3a.75.75 0 0 0 1.06-1.06L6.56 10.5l2.47-2.47Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5 0C16.299 0 21 4.701 21 10.5a10.457 10.457 0 0 1-2.564 6.875l4.344 4.345a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-4.345-4.344A10.459 10.459 0 0 1 10.5 21C4.701 21 0 16.299 0 10.5S4.701 0 10.5 0Zm-9 10.5a9 9 0 0 0 9 9 9 9 0 0 0 9-9 9 9 0 0 0-9-9 9 9 0 0 0-9 9Z\"\n }))\n }\n };\n});\nvar CodescanCheckmarkIcon = /*#__PURE__*/createIconComponent(\"CodescanCheckmarkIcon\", \"octicon octicon-codescan-checkmark\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.28 6.28a.75.75 0 1 0-1.06-1.06L6.25 8.19l-.97-.97a.75.75 0 0 0-1.06 1.06l1.5 1.5a.75.75 0 0 0 1.06 0l3.5-3.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.5 15a7.5 7.5 0 1 1 5.807-2.754l2.473 2.474a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2.474-2.473A7.472 7.472 0 0 1 7.5 15Zm0-13.5a6 6 0 1 0 4.094 10.386.748.748 0 0 1 .293-.292 6.002 6.002 0 0 0 1.117-6.486A6.002 6.002 0 0 0 7.5 1.5Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.03 8.28a.75.75 0 0 0-1.06-1.06l-5.22 5.22-2.22-2.22a.75.75 0 1 0-1.06 1.06l2.75 2.75a.75.75 0 0 0 1.06 0l5.75-5.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 10.5C0 4.701 4.701 0 10.5 0S21 4.701 21 10.5c0 2.63-.967 5.033-2.564 6.875l4.344 4.345a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-4.345-4.344A10.457 10.457 0 0 1 10.5 21C4.701 21 0 16.299 0 10.5Zm10.5-9a9 9 0 0 0-9 9 9 9 0 0 0 9 9 9 9 0 0 0 9-9 9 9 0 0 0-9-9Z\"\n }))\n }\n };\n});\nvar CodespacesIcon = /*#__PURE__*/createIconComponent(\"CodespacesIcon\", \"octicon octicon-codespaces\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z\"\n }))\n }\n };\n});\nvar ColumnsIcon = /*#__PURE__*/createIconComponent(\"ColumnsIcon\", \"octicon octicon-columns\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.75 0h2.5C6.216 0 7 .784 7 1.75v12.5A1.75 1.75 0 0 1 5.25 16h-2.5A1.75 1.75 0 0 1 1 14.25V1.75C1 .784 1.784 0 2.75 0Zm8 0h2.5C14.216 0 15 .784 15 1.75v12.5A1.75 1.75 0 0 1 13.25 16h-2.5A1.75 1.75 0 0 1 9 14.25V1.75C9 .784 9.784 0 10.75 0ZM2.5 1.75v12.5c0 .138.112.25.25.25h2.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Zm8 0v12.5c0 .138.112.25.25.25h2.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 2h5.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 9.25 22h-5.5A1.75 1.75 0 0 1 2 20.25V3.75C2 2.784 2.784 2 3.75 2Zm11 0h5.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22h-5.5A1.75 1.75 0 0 1 13 20.25V3.75c0-.966.784-1.75 1.75-1.75ZM3.5 3.75v16.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25h-5.5a.25.25 0 0 0-.25.25Zm11 0v16.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25h-5.5a.25.25 0 0 0-.25.25Z\"\n })\n }\n };\n});\nvar CommandPaletteIcon = /*#__PURE__*/createIconComponent(\"CommandPaletteIcon\", \"octicon octicon-command-palette\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m6.354 8.04-4.773 4.773a.75.75 0 1 0 1.061 1.06L7.945 8.57a.75.75 0 0 0 0-1.06L2.642 2.206a.75.75 0 0 0-1.06 1.061L6.353 8.04ZM8.75 11.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5h-5.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.045 18.894 9.94 12 3.045 5.106a.75.75 0 0 1 1.06-1.061l7.425 7.425a.75.75 0 0 1 0 1.06l-7.424 7.425a.75.75 0 0 1-1.061-1.06Zm8.205.606a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Z\"\n })\n }\n };\n});\nvar CommentIcon = /*#__PURE__*/createIconComponent(\"CommentIcon\", \"octicon octicon-comment\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z\"\n })\n }\n };\n});\nvar CommentDiscussionIcon = /*#__PURE__*/createIconComponent(\"CommentDiscussionIcon\", \"octicon octicon-comment-discussion\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z\"\n }))\n }\n };\n});\nvar ContainerIcon = /*#__PURE__*/createIconComponent(\"ContainerIcon\", \"octicon octicon-container\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m10.41.24 4.711 2.774c.544.316.878.897.879 1.526v5.01a1.77 1.77 0 0 1-.88 1.53l-7.753 4.521-.002.001a1.769 1.769 0 0 1-1.774 0H5.59L.873 12.85A1.761 1.761 0 0 1 0 11.327V6.292c0-.304.078-.598.22-.855l.004-.005.01-.019c.15-.262.369-.486.64-.643L8.641.239a1.752 1.752 0 0 1 1.765 0l.002.001ZM9.397 1.534l-7.17 4.182 4.116 2.388a.27.27 0 0 0 .269 0l7.152-4.148-4.115-2.422a.252.252 0 0 0-.252 0Zm-7.768 10.02 4.1 2.393V9.474a1.807 1.807 0 0 1-.138-.072L1.5 7.029v4.298c0 .095.05.181.129.227Zm8.6.642 1.521-.887v-4.45l-1.521.882ZM7.365 9.402h.001c-.044.026-.09.049-.136.071v4.472l1.5-.875V8.61Zm5.885 1.032 1.115-.65h.002a.267.267 0 0 0 .133-.232V5.264l-1.25.725Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.152.682a2.251 2.251 0 0 1 2.269 0l.007.004 6.957 4.276a2.277 2.277 0 0 1 1.126 1.964v7.516c0 .81-.432 1.56-1.133 1.968l-.002.001-11.964 7.037-.004.003c-.706.41-1.578.41-2.284 0l-.026-.015-6.503-4.502a2.268 2.268 0 0 1-1.096-1.943V9.438c0-.392.1-.77.284-1.1l.003-.006.014-.026c.197-.342.48-.627.82-.827h.002L13.152.681Zm.757 1.295h-.001L2.648 8.616l6.248 4.247a.775.775 0 0 0 .758-.01h.001l11.633-6.804-6.629-4.074a.75.75 0 0 0-.75.003ZM8.517 14.33a2.286 2.286 0 0 1-.393-.18l-.023-.014-6.102-4.147v7.003c0 .275.145.528.379.664l.025.014 6.114 4.232V14.33ZM18 9.709l-3.25 1.9v7.548L18 17.245Zm-7.59 4.438-.002.002a2.296 2.296 0 0 1-.391.18v7.612l3.233-1.902v-7.552Zm9.09-5.316v7.532l2.124-1.25a.776.776 0 0 0 .387-.671V7.363Z\"\n })\n }\n };\n});\nvar CopilotIcon = /*#__PURE__*/createIconComponent(\"CopilotIcon\", \"octicon octicon-copilot\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z\"\n }))\n },\n \"48\": {\n \"width\": 48,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.801 34.003c-1.72 2.988-11.706 10.037-23.82 10.037S1.881 36.991.161 34.003a1.309 1.309 0 0 1-.161-.57v-5.615c.012-.17.047-.338.11-.498.744-1.867 2.692-4.58 5.206-5.308.333-.855.826-2.106 1.287-3.029a20.112 20.112 0 0 1-.104-2.171c0-2.659.563-4.992 2.262-6.729.793-.811 1.777-1.433 2.945-1.901C14.502 5.911 18.483 4 23.938 4c5.455 0 9.523 1.911 12.319 4.182 1.167.468 2.151 1.09 2.944 1.901 1.699 1.737 2.263 4.07 2.263 6.729 0 .736-.027 1.465-.105 2.171.461.923.954 2.174 1.288 3.029 2.513.728 4.461 3.441 5.205 5.308.081.205.115.424.115.645v5.318c0 .252-.04.502-.166.72ZM24.325 22.031h-.688a8.52 8.52 0 0 1-.709 1.016c-1.537 1.892-3.833 2.98-7.008 2.98-3.447 0-5.972-.717-7.557-2.514a4.408 4.408 0 0 1-.171-.21l-.195.21v13.155c2.867 1.558 9.02 4.353 15.984 4.353s13.117-2.795 15.984-4.353V23.513l-.195-.21s-.066.091-.171.21c-1.584 1.797-4.11 2.514-7.557 2.514-3.175 0-5.47-1.088-7.008-2.98a8.637 8.637 0 0 1-.709-1.016h-.033.033Zm-1.969-5.864a14.31 14.31 0 0 0 .127-1.785v-.042c-.003-1.537-.339-2.538-.876-3.152-.681-.78-2.09-1.378-5.06-1.057-3.008.326-4.69 1.073-5.643 2.048-.923.944-1.408 2.356-1.408 4.633 0 2.42.348 3.849 1.115 4.719.729.827 2.165 1.499 5.309 1.499 2.417 0 3.799-.786 4.683-1.873.948-1.168 1.482-2.878 1.753-4.99Zm3.25 0c.271 2.112.805 3.822 1.754 4.99.883 1.087 2.265 1.873 4.682 1.873 3.145 0 4.58-.672 5.309-1.499.767-.87 1.116-2.299 1.116-4.719 0-2.277-.485-3.689-1.408-4.633-.954-.975-2.635-1.722-5.644-2.048-2.969-.321-4.378.277-5.06 1.057-.537.614-.873 1.615-.876 3.152v.042c.002.53.042 1.123.127 1.785Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.998 28.516c1.104 0 1.999.895 1.999 1.999v3.998a2 2 0 1 1-3.998 0v-3.998c0-1.104.895-1.999 1.999-1.999Zm-9.996 0c1.104 0 1.999.895 1.999 1.999v3.998a2 2 0 1 1-3.998 0v-3.998c0-1.104.895-1.999 1.999-1.999Z\"\n }))\n },\n \"96\": {\n \"width\": 96,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.667 67.954C92.225 73.933 72.24 88.04 47.997 88.04 23.754 88.04 3.769 73.933.328 67.954c-.216-.375-.307-.796-.328-1.226V55.661c.019-.371.089-.736.226-1.081 1.489-3.738 5.386-9.166 10.417-10.623.667-1.712 1.655-4.215 2.576-6.062-.154-1.414-.208-2.872-.208-4.345 0-5.322 1.128-9.99 4.527-13.466 1.587-1.623 3.557-2.869 5.893-3.805 5.595-4.545 13.563-8.369 24.48-8.369s19.057 3.824 24.652 8.369c2.337.936 4.306 2.182 5.894 3.805 3.399 3.476 4.527 8.144 4.527 13.466 0 1.473-.054 2.931-.208 4.345.921 1.847 1.909 4.35 2.576 6.062 5.03 1.457 8.928 6.885 10.417 10.623.163.41.231.848.231 1.289v10.644c0 .504-.081 1.004-.333 1.441ZM48.686 43.993l-.3.001-1.077-.001c-.423.709-.894 1.39-1.418 2.035-3.078 3.787-7.672 5.964-14.026 5.964-6.897 0-11.952-1.435-15.123-5.032a7.886 7.886 0 0 1-.342-.419l-.39.419v26.326c5.737 3.118 18.05 8.713 31.987 8.713 13.938 0 26.251-5.595 31.988-8.713V46.96l-.39-.419s-.132.181-.342.419c-3.171 3.597-8.226 5.032-15.123 5.032-6.354 0-10.949-2.177-14.026-5.964a17.178 17.178 0 0 1-1.418-2.034h-.066l.066-.001Zm-3.94-11.733c.17-1.326.251-2.513.253-3.573v-.084c-.005-3.077-.678-5.079-1.752-6.308-1.365-1.562-4.184-2.758-10.127-2.115-6.021.652-9.386 2.146-11.294 4.098-1.847 1.889-2.818 4.715-2.818 9.272 0 4.842.698 7.703 2.232 9.443 1.459 1.655 4.332 3.001 10.625 3.001 4.837 0 7.603-1.573 9.371-3.749 1.899-2.336 2.967-5.759 3.51-9.985Zm6.503 0c.543 4.226 1.611 7.649 3.51 9.985 1.768 2.176 4.533 3.749 9.371 3.749 6.292 0 9.165-1.346 10.624-3.001 1.535-1.74 2.232-4.601 2.232-9.443 0-4.557-.97-7.383-2.817-9.272-1.908-1.952-5.274-3.446-11.294-4.098-5.943-.643-8.763.553-10.127 2.115-1.074 1.229-1.747 3.231-1.752 6.308v.084c.002 1.06.083 2.247.253 3.573Zm-2.563 11.734h.066l-.066-.001v.001Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.5 55.75a3.5 3.5 0 0 1 3.5 3.5v8.5a3.5 3.5 0 1 1-7 0v-8.5a3.5 3.5 0 0 1 3.5-3.5Zm19 0a3.5 3.5 0 0 1 3.5 3.5v8.5a3.5 3.5 0 1 1-7 0v-8.5a3.5 3.5 0 0 1 3.5-3.5Z\"\n }))\n }\n };\n});\nvar CopilotErrorIcon = /*#__PURE__*/createIconComponent(\"CopilotErrorIcon\", \"octicon octicon-copilot-error\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z\"\n })\n }\n };\n});\nvar CopilotWarningIcon = /*#__PURE__*/createIconComponent(\"CopilotWarningIcon\", \"octicon octicon-copilot-warning\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.498 14.811a4.53 4.53 0 0 1-1.161-1.337 4.476 4.476 0 0 1-.587-2.224 4.496 4.496 0 0 1 4.5-4.5 4.5 4.5 0 0 1 4.5 4.5 4.5 4.5 0 0 1-7.252 3.561ZM10.5 8.75V11a.75.75 0 0 0 1.5 0V8.75a.75.75 0 1 0-1.5 0Zm.75 5.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m14.354 6.114-.05-.029a5.949 5.949 0 0 0-1.351-.589c.03-.19.047-.422.047-.709 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.058.462.165.834.316 1.127A6.025 6.025 0 0 0 6.369 7.76c-.472.185-1.015.277-1.623.277-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.265.205 1.285.725 2.577 1.079a5.937 5.937 0 0 0 .939 1.736C2.733 14.407.111 12.027 0 11.286V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .452-.033.906-.146 1.327ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Z\"\n }))\n }\n };\n});\nvar CopyIcon = /*#__PURE__*/createIconComponent(\"CopyIcon\", \"octicon octicon-copy\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.024 3.75c0-.966.784-1.75 1.75-1.75H20.25c.966 0 1.75.784 1.75 1.75v11.498a1.75 1.75 0 0 1-1.75 1.75H8.774a1.75 1.75 0 0 1-1.75-1.75Zm1.75-.25a.25.25 0 0 0-.25.25v11.498c0 .139.112.25.25.25H20.25a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.995 10.749a1.75 1.75 0 0 1 1.75-1.751H5.25a.75.75 0 1 1 0 1.5H3.745a.25.25 0 0 0-.25.25L3.5 20.25c0 .138.111.25.25.25h9.5a.25.25 0 0 0 .25-.25v-1.51a.75.75 0 1 1 1.5 0v1.51A1.75 1.75 0 0 1 13.25 22h-9.5A1.75 1.75 0 0 1 2 20.25l-.005-9.501Z\"\n }))\n }\n };\n});\nvar CpuIcon = /*#__PURE__*/createIconComponent(\"CpuIcon\", \"octicon octicon-cpu\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.5.75V2h3V.75a.75.75 0 0 1 1.5 0V2h1.25c.966 0 1.75.784 1.75 1.75V5h1.25a.75.75 0 0 1 0 1.5H14v3h1.25a.75.75 0 0 1 0 1.5H14v1.25A1.75 1.75 0 0 1 12.25 14H11v1.25a.75.75 0 0 1-1.5 0V14h-3v1.25a.75.75 0 0 1-1.5 0V14H3.75A1.75 1.75 0 0 1 2 12.25V11H.75a.75.75 0 0 1 0-1.5H2v-3H.75a.75.75 0 0 1 0-1.5H2V3.75C2 2.784 2.784 2 3.75 2H5V.75a.75.75 0 0 1 1.5 0Zm5.75 11.75a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25ZM5.75 5h4.5a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-4.5A.75.75 0 0 1 5.75 5Zm.75 4.5h3v-3h-3Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.75 8h6.5a.75.75 0 0 1 .75.75v6.5a.75.75 0 0 1-.75.75h-6.5a.75.75 0 0 1-.75-.75v-6.5A.75.75 0 0 1 8.75 8Zm.75 6.5h5v-5h-5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.25 1a.75.75 0 0 1 .75.75V4h2.25c.966 0 1.75.784 1.75 1.75V8h2.25a.75.75 0 0 1 0 1.5H20v5h2.25a.75.75 0 0 1 0 1.5H20v2.25A1.75 1.75 0 0 1 18.25 20H16v2.25a.75.75 0 0 1-1.5 0V20h-5v2.25a.75.75 0 0 1-1.5 0V20H5.75A1.75 1.75 0 0 1 4 18.25V16H1.75a.75.75 0 0 1 0-1.5H4v-5H1.75a.75.75 0 0 1 0-1.5H4V5.75C4 4.784 4.784 4 5.75 4H8V1.75a.75.75 0 0 1 1.5 0V4h5V1.75a.75.75 0 0 1 .75-.75Zm3 17.5a.25.25 0 0 0 .25-.25V5.75a.25.25 0 0 0-.25-.25H5.75a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25Z\"\n }))\n }\n };\n});\nvar CreditCardIcon = /*#__PURE__*/createIconComponent(\"CreditCardIcon\", \"octicon octicon-credit-card\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.25 14a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25V4.75C0 3.784.784 3 1.75 3Zm-.25 7v9.25c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V10Zm0-5.25V8.5h21V4.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z\"\n }))\n }\n };\n});\nvar CrossReferenceIcon = /*#__PURE__*/createIconComponent(\"CrossReferenceIcon\", \"octicon octicon-cross-reference\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.75 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 13H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 14.543V13H2.75A1.75 1.75 0 0 1 1 11.25v-7.5C1 2.784 1.784 2 2.75 2h5.5a.75.75 0 0 1 0 1.5ZM16 1.25v4.146a.25.25 0 0 1-.427.177L14.03 4.03l-3.75 3.75a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l3.75-3.75-1.543-1.543A.25.25 0 0 1 11.604 1h4.146a.25.25 0 0 1 .25.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.5 2.25a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V4.06l-6.22 6.22a.75.75 0 1 1-1.06-1.06L20.94 3h-3.69a.75.75 0 0 1-.75-.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.75.75 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25v-6a.75.75 0 0 1 1.5 0v6a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.457 1.457 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75V4.25c0-.966.784-1.75 1.75-1.75h11a.75.75 0 0 1 0 1.5h-11Z\"\n }))\n }\n };\n});\nvar DashIcon = /*#__PURE__*/createIconComponent(\"DashIcon\", \"octicon octicon-dash\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 7.75A.75.75 0 0 1 2.75 7h10a.75.75 0 0 1 0 1.5h-10A.75.75 0 0 1 2 7.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5 12.75a.75.75 0 0 1 .75-.75h13.5a.75.75 0 0 1 0 1.5H5.25a.75.75 0 0 1-.75-.75Z\"\n })\n }\n };\n});\nvar DatabaseIcon = /*#__PURE__*/createIconComponent(\"DatabaseIcon\", \"octicon octicon-database\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 3.5c0-.626.292-1.165.7-1.59.406-.422.956-.767 1.579-1.041C4.525.32 6.195 0 8 0c1.805 0 3.475.32 4.722.869.622.274 1.172.62 1.578 1.04.408.426.7.965.7 1.591v9c0 .626-.292 1.165-.7 1.59-.406.422-.956.767-1.579 1.041C11.476 15.68 9.806 16 8 16c-1.805 0-3.475-.32-4.721-.869-.623-.274-1.173-.62-1.579-1.04-.408-.426-.7-.965-.7-1.591Zm1.5 0c0 .133.058.318.282.551.227.237.591.483 1.101.707C4.898 5.205 6.353 5.5 8 5.5c1.646 0 3.101-.295 4.118-.742.508-.224.873-.471 1.1-.708.224-.232.282-.417.282-.55 0-.133-.058-.318-.282-.551-.227-.237-.591-.483-1.101-.707C11.102 1.795 9.647 1.5 8 1.5c-1.646 0-3.101.295-4.118.742-.508.224-.873.471-1.1.708-.224.232-.282.417-.282.55Zm0 4.5c0 .133.058.318.282.551.227.237.591.483 1.101.707C4.898 9.705 6.353 10 8 10c1.646 0 3.101-.295 4.118-.742.508-.224.873-.471 1.1-.708.224-.232.282-.417.282-.55V5.724c-.241.15-.503.286-.778.407C11.475 6.68 9.805 7 8 7c-1.805 0-3.475-.32-4.721-.869a6.15 6.15 0 0 1-.779-.407Zm0 2.225V12.5c0 .133.058.318.282.55.227.237.592.484 1.1.708 1.016.447 2.471.742 4.118.742 1.647 0 3.102-.295 4.117-.742.51-.224.874-.47 1.101-.707.224-.233.282-.418.282-.551v-2.275c-.241.15-.503.285-.778.406-1.247.549-2.917.869-4.722.869-1.805 0-3.475-.32-4.721-.869a6.327 6.327 0 0 1-.779-.406Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1.25c2.487 0 4.773.402 6.466 1.079.844.337 1.577.758 2.112 1.264.536.507.922 1.151.922 1.907v12.987l-.026.013h.026c0 .756-.386 1.4-.922 1.907-.535.506-1.268.927-2.112 1.264-1.693.677-3.979 1.079-6.466 1.079s-4.774-.402-6.466-1.079c-.844-.337-1.577-.758-2.112-1.264C2.886 19.9 2.5 19.256 2.5 18.5h.026l-.026-.013V5.5c0-.756.386-1.4.922-1.907.535-.506 1.268-.927 2.112-1.264C7.226 1.652 9.513 1.25 12 1.25ZM4 14.371v4.116l-.013.013H4c0 .211.103.487.453.817.351.332.898.666 1.638.962 1.475.589 3.564.971 5.909.971 2.345 0 4.434-.381 5.909-.971.739-.296 1.288-.63 1.638-.962.349-.33.453-.607.453-.817h.013L20 18.487v-4.116a7.85 7.85 0 0 1-1.534.8c-1.693.677-3.979 1.079-6.466 1.079s-4.774-.402-6.466-1.079a7.843 7.843 0 0 1-1.534-.8ZM20 12V7.871a7.85 7.85 0 0 1-1.534.8C16.773 9.348 14.487 9.75 12 9.75s-4.774-.402-6.466-1.079A7.85 7.85 0 0 1 4 7.871V12c0 .21.104.487.453.817.35.332.899.666 1.638.961 1.475.59 3.564.972 5.909.972 2.345 0 4.434-.382 5.909-.972.74-.295 1.287-.629 1.638-.96.35-.33.453-.607.453-.818ZM4 5.5c0 .211.103.487.453.817.351.332.898.666 1.638.962 1.475.589 3.564.971 5.909.971 2.345 0 4.434-.381 5.909-.971.739-.296 1.288-.63 1.638-.962.349-.33.453-.607.453-.817 0-.211-.103-.487-.453-.817-.351-.332-.898-.666-1.638-.962-1.475-.589-3.564-.971-5.909-.971-2.345 0-4.434.381-5.909.971-.739.296-1.288.63-1.638.962C4.104 5.013 4 5.29 4 5.5Z\"\n })\n }\n };\n});\nvar DependabotIcon = /*#__PURE__*/createIconComponent(\"DependabotIcon\", \"octicon octicon-dependabot\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.75 7.5a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5a.75.75 0 0 1 .75-.75Zm5.25.75a.75.75 0 0 0-1.5 0v1.5a.75.75 0 0 0 1.5 0v-1.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.25 0h2A.75.75 0 0 1 9 .75V3.5h3.25a2.25 2.25 0 0 1 2.25 2.25V8h.75a.75.75 0 0 1 0 1.5h-.75v2.75a2.25 2.25 0 0 1-2.25 2.25h-8.5a2.25 2.25 0 0 1-2.25-2.25V9.5H.75a.75.75 0 0 1 0-1.5h.75V5.75A2.25 2.25 0 0 1 3.75 3.5H7.5v-2H6.25a.75.75 0 0 1 0-1.5ZM3 5.75v6.5c0 .414.336.75.75.75h8.5a.75.75 0 0 0 .75-.75v-6.5a.75.75 0 0 0-.75-.75h-8.5a.75.75 0 0 0-.75.75Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.75 11a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5a.75.75 0 0 1 .75-.75Zm7.25.75a.75.75 0 0 0-1.5 0v3.5a.75.75 0 0 0 1.5 0v-3.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.813 1h2.437a.75.75 0 0 1 .75.75V5h6.75A2.25 2.25 0 0 1 22 7.25v5.25h1.25a.75.75 0 0 1 0 1.5H22v5.75A2.25 2.25 0 0 1 19.75 22H4.25A2.25 2.25 0 0 1 2 19.75V14H.75a.75.75 0 0 1 0-1.5H2V7.25A2.25 2.25 0 0 1 4.25 5h7.25V2.5H9.813A.75.75 0 0 1 9.812 1ZM3.5 7.25v12.5c0 .414.336.75.75.75h15.5a.75.75 0 0 0 .75-.75V7.25a.75.75 0 0 0-.75-.75H4.25a.75.75 0 0 0-.75.75Z\"\n }))\n }\n };\n});\nvar DesktopDownloadIcon = /*#__PURE__*/createIconComponent(\"DesktopDownloadIcon\", \"octicon octicon-desktop-download\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m4.927 5.427 2.896 2.896a.25.25 0 0 0 .354 0l2.896-2.896A.25.25 0 0 0 10.896 5H8.75V.75a.75.75 0 1 0-1.5 0V5H5.104a.25.25 0 0 0-.177.427Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.573 2.573a.25.25 0 0 0-.073.177v7.5a.25.25 0 0 0 .25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25h-3a.75.75 0 1 1 0-1.5h3A1.75 1.75 0 0 1 16 2.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.75.75 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5A1.75 1.75 0 0 1 1.75 1h3a.75.75 0 0 1 0 1.5h-3a.25.25 0 0 0-.177.073ZM6.982 12a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5H6.982Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.25 9.331V.75a.75.75 0 0 1 1.5 0v8.58l1.949-2.11A.75.75 0 1 1 15.8 8.237l-3.25 3.52a.75.75 0 0 1-1.102 0l-3.25-3.52A.75.75 0 1 1 9.3 7.22l1.949 2.111Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 3.75v11.5c0 .138.112.25.25.25h18.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25h-5.5a.75.75 0 0 1 0-1.5h5.5c.966 0 1.75.784 1.75 1.75v11.5A1.75 1.75 0 0 1 21.25 17h-6.204c.171 1.375.805 2.652 1.769 3.757A.752.752 0 0 1 16.25 22h-8.5a.75.75 0 0 1-.566-1.243c.965-1.105 1.599-2.382 1.77-3.757H2.75A1.75 1.75 0 0 1 1 15.25V3.75C1 2.784 1.784 2 2.75 2h5.5a.75.75 0 0 1 0 1.5h-5.5a.25.25 0 0 0-.25.25ZM10.463 17c-.126 1.266-.564 2.445-1.223 3.5h5.52c-.66-1.055-1.098-2.234-1.223-3.5Z\"\n }))\n }\n };\n});\nvar DeviceCameraIcon = /*#__PURE__*/createIconComponent(\"DeviceCameraIcon\", \"octicon octicon-device-camera\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 3c.55 0 1 .45 1 1v9c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1 0-.55.45-1 1-1h4c.55 0 1 .45 1 1Zm-4.5 9c1.94 0 3.5-1.56 3.5-3.5S12.44 5 10.5 5 7 6.56 7 8.5 8.56 12 10.5 12ZM13 8.5c0 1.38-1.13 2.5-2.5 2.5S8 9.87 8 8.5 9.13 6 10.5 6 13 7.13 13 8.5ZM6 5V4H2v1Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.333 5.333c.734 0 1.334.6 1.334 1.334v12c0 .733-.6 1.333-1.334 1.333H2.667c-.734 0-1.334-.6-1.334-1.333v-12c0-.734.6-1.334 1.334-1.334C2.667 4.6 3.267 4 4 4h5.333c.734 0 1.334.6 1.334 1.333h10.666Zm-6 12A4.655 4.655 0 0 0 20 12.667 4.655 4.655 0 0 0 15.333 8a4.655 4.655 0 0 0-4.666 4.667 4.655 4.655 0 0 0 4.666 4.666Zm3.334-4.666A3.343 3.343 0 0 1 15.333 16 3.352 3.352 0 0 1 12 12.667a3.352 3.352 0 0 1 3.333-3.334 3.352 3.352 0 0 1 3.334 3.334ZM9.333 8V6.667H4V8h5.333Z\"\n })\n }\n };\n});\nvar DeviceCameraVideoIcon = /*#__PURE__*/createIconComponent(\"DeviceCameraVideoIcon\", \"octicon octicon-device-camera-video\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 3.75v8.5a.75.75 0 0 1-1.136.643L11 10.575v.675A1.75 1.75 0 0 1 9.25 13h-7.5A1.75 1.75 0 0 1 0 11.25v-6.5C0 3.784.784 3 1.75 3h7.5c.966 0 1.75.784 1.75 1.75v.675l3.864-2.318A.75.75 0 0 1 16 3.75Zm-6.5 1a.25.25 0 0 0-.25-.25h-7.5a.25.25 0 0 0-.25.25v6.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-6.5ZM11 8.825l3.5 2.1v-5.85l-3.5 2.1Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24 5.25v13a.75.75 0 0 1-1.136.643L16.5 15.075v2.175A1.75 1.75 0 0 1 14.75 19h-13A1.75 1.75 0 0 1 0 17.25v-11C0 5.284.784 4.5 1.75 4.5h13c.966 0 1.75.784 1.75 1.75v2.175l6.364-3.818A.75.75 0 0 1 24 5.25Zm-9 1a.25.25 0 0 0-.25-.25h-13a.25.25 0 0 0-.25.25v11c0 .138.112.25.25.25h13a.25.25 0 0 0 .25-.25v-11Zm1.5 7.075 6 3.6V6.575l-6 3.6Z\"\n })\n }\n };\n});\nvar DeviceDesktopIcon = /*#__PURE__*/createIconComponent(\"DeviceDesktopIcon\", \"octicon octicon-device-desktop\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.954 17H2.75A1.75 1.75 0 0 1 1 15.25V3.75C1 2.784 1.784 2 2.75 2h18.5c.966 0 1.75.784 1.75 1.75v11.5A1.75 1.75 0 0 1 21.25 17h-6.204c.171 1.375.805 2.652 1.769 3.757A.752.752 0 0 1 16.25 22h-8.5a.75.75 0 0 1-.565-1.243c.964-1.105 1.598-2.382 1.769-3.757ZM21.5 3.75a.25.25 0 0 0-.25-.25H2.75a.25.25 0 0 0-.25.25v11.5c0 .138.112.25.25.25h18.5a.25.25 0 0 0 .25-.25ZM13.537 17h-3.074c-.126 1.266-.564 2.445-1.223 3.5h5.52c-.659-1.055-1.098-2.234-1.223-3.5Z\"\n })\n }\n };\n});\nvar DeviceMobileIcon = /*#__PURE__*/createIconComponent(\"DeviceMobileIcon\", \"octicon octicon-device-mobile\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.25 5.25A.75.75 0 0 1 11 4.5h2A.75.75 0 0 1 13 6h-2a.75.75 0 0 1-.75-.75ZM12 19.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 2.75C4 1.784 4.784 1 5.75 1h12.5c.966 0 1.75.784 1.75 1.75v18.5A1.75 1.75 0 0 1 18.25 23H5.75A1.75 1.75 0 0 1 4 21.25Zm1.75-.25a.25.25 0 0 0-.25.25v18.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Z\"\n }))\n }\n };\n});\nvar DevicesIcon = /*#__PURE__*/createIconComponent(\"DevicesIcon\", \"octicon octicon-devices\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75V5a.75.75 0 0 1-1.5 0V2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25H7A.75.75 0 0 1 7 12h-.268a5.712 5.712 0 0 1-.765 2.5H7A.75.75 0 0 1 7 16H4.5a.75.75 0 0 1-.565-1.243c.772-.885 1.193-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.75 7h3.5c.967 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-5.5C9 7.784 9.783 7 10.75 7Zm-.25 1.75v5.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-3.5a.25.25 0 0 0-.25.25Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 3.75C1 2.784 1.784 2 2.75 2h18.5c.966 0 1.75.784 1.75 1.75v4a.75.75 0 0 1-1.5 0v-4a.25.25 0 0 0-.25-.25H2.75a.25.25 0 0 0-.25.25v11.5c0 .138.112.25.25.25h9a.75.75 0 0 1 0 1.5h-1.287c-.126 1.266-.564 2.445-1.223 3.5h2.51a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1-.565-1.243c.964-1.105 1.598-2.382 1.769-3.757H2.75A1.75 1.75 0 0 1 1 15.25V3.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 11.75c0-.967.783-1.75 1.75-1.75h5.5c.966 0 1.75.783 1.75 1.75v8.5A1.75 1.75 0 0 1 21.25 22h-5.5A1.75 1.75 0 0 1 14 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25Z\"\n }))\n }\n };\n});\nvar DiamondIcon = /*#__PURE__*/createIconComponent(\"DiamondIcon\", \"octicon octicon-diamond\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M.527 9.237a1.75 1.75 0 0 1 0-2.474L6.777.512a1.75 1.75 0 0 1 2.475 0l6.251 6.25a1.75 1.75 0 0 1 0 2.475l-6.25 6.251a1.75 1.75 0 0 1-2.475 0L.527 9.238Zm1.06-1.414a.25.25 0 0 0 0 .354l6.251 6.25a.25.25 0 0 0 .354 0l6.25-6.25a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.354 0l-6.25 6.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.527 13.237a1.75 1.75 0 0 1 0-2.474l9.272-9.273a1.75 1.75 0 0 1 2.475 0l9.272 9.273a1.75 1.75 0 0 1 0 2.474l-9.272 9.272a1.75 1.75 0 0 1-2.475 0Zm1.06-1.414a.25.25 0 0 0 0 .354l9.273 9.272a.25.25 0 0 0 .353 0l9.272-9.272a.25.25 0 0 0 0-.354l-9.272-9.272a.25.25 0 0 0-.353 0Z\"\n })\n }\n };\n});\nvar DiffIcon = /*#__PURE__*/createIconComponent(\"DiffIcon\", \"octicon octicon-diff\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.75 1.75V5H12a.75.75 0 0 1 0 1.5H8.75v3.25a.75.75 0 0 1-1.5 0V6.5H4A.75.75 0 0 1 4 5h3.25V1.75a.75.75 0 0 1 1.5 0ZM4 13h8a.75.75 0 0 1 0 1.5H4A.75.75 0 0 1 4 13Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.25 3.5a.75.75 0 0 1 .75.75V8.5h4.25a.75.75 0 0 1 0 1.5H13v4.25a.75.75 0 0 1-1.5 0V10H7.25a.75.75 0 0 1 0-1.5h4.25V4.25a.75.75 0 0 1 .75-.75ZM6.562 19.25a.75.75 0 0 1 .75-.75h9.938a.75.75 0 0 1 0 1.5H7.312a.75.75 0 0 1-.75-.75Z\"\n })\n }\n };\n});\nvar DiffAddedIcon = /*#__PURE__*/createIconComponent(\"DiffAddedIcon\", \"octicon octicon-diff-added\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.75 1h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1Zm10.5 1.5H2.75a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.75 7a.75.75 0 0 0-1.5 0v4.25H7a.75.75 0 0 0 0 1.5h4.25V17a.75.75 0 0 0 1.5 0v-4.25H17a.75.75 0 0 0 0-1.5h-4.25V7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 2A1.75 1.75 0 0 0 2 3.75v16.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0 0 22 20.25V3.75A1.75 1.75 0 0 0 20.25 2H3.75ZM3.5 3.75a.25.25 0 0 1 .25-.25h16.5a.25.25 0 0 1 .25.25v16.5a.25.25 0 0 1-.25.25H3.75a.25.25 0 0 1-.25-.25V3.75Z\"\n }))\n }\n };\n});\nvar DiffIgnoredIcon = /*#__PURE__*/createIconComponent(\"DiffIgnoredIcon\", \"octicon octicon-diff-ignored\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Zm8.53 3.28-5.5 5.5a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l5.5-5.5a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 2A1.75 1.75 0 0 0 2 3.75v16.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0 0 22 20.25V3.75A1.75 1.75 0 0 0 20.25 2H3.75ZM3.5 3.75a.25.25 0 0 1 .25-.25h16.5a.25.25 0 0 1 .25.25v16.5a.25.25 0 0 1-.25.25H3.75a.25.25 0 0 1-.25-.25V3.75Zm4.737 11.233a.75.75 0 0 0 1.061 1.06l7.027-7.026a.75.75 0 0 0-1.06-1.06l-7.028 7.026Z\"\n })\n }\n };\n});\nvar DiffModifiedIcon = /*#__PURE__*/createIconComponent(\"DiffModifiedIcon\", \"octicon octicon-diff-modified\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H3.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.5 12a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z\"\n }))\n }\n };\n});\nvar DiffRemovedIcon = /*#__PURE__*/createIconComponent(\"DiffRemovedIcon\", \"octicon octicon-diff-removed\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Zm8.5 6.25h-6.5a.75.75 0 0 1 0-1.5h6.5a.75.75 0 0 1 0 1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.313 11.25a.75.75 0 0 0 0 1.5h9.937a.75.75 0 0 0 0-1.5H7.312Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 2A1.75 1.75 0 0 0 2 3.75v16.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0 0 22 20.25V3.75A1.75 1.75 0 0 0 20.25 2H3.75ZM3.5 3.75a.25.25 0 0 1 .25-.25h16.5a.25.25 0 0 1 .25.25v16.5a.25.25 0 0 1-.25.25H3.75a.25.25 0 0 1-.25-.25V3.75Z\"\n }))\n }\n };\n});\nvar DiffRenamedIcon = /*#__PURE__*/createIconComponent(\"DiffRenamedIcon\", \"octicon octicon-diff-renamed\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Zm9.03 6.03-3.25 3.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.97-1.97H4.75a.75.75 0 0 1 0-1.5h4.69L7.47 5.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l3.25 3.25a.75.75 0 0 1 0 1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.75 12.75v3.347a.25.25 0 0 0 .436.166l3.672-4.096a.25.25 0 0 0 0-.334l-3.672-4.096a.25.25 0 0 0-.436.166v3.347h-7a.75.75 0 0 0 0 1.5h7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H3.75Z\"\n }))\n }\n };\n});\nvar DiscussionClosedIcon = /*#__PURE__*/createIconComponent(\"DiscussionClosedIcon\", \"octicon octicon-discussion-closed\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.783.784 1 1.75 1h8.5c.967 0 1.75.783 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.457 1.457 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25Zm1.75-.25a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.189L6.22 8.72a.747.747 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Zm12.5 2h-.5a.75.75 0 0 1 0-1.5h.5c.967 0 1.75.783 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.457 1.457 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 1 1 1.06-1.06l2.22 2.219V11.25a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Zm-5.47.28-3 3a.747.747 0 0 1-1.06 0l-1.5-1.5a.749.749 0 1 1 1.06-1.06l.97.969L7.72 3.72a.749.749 0 1 1 1.06 1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.783.784 1 1.75 1h12.5c.967 0 1.75.783 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.457 1.457 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.189l2.72-2.719a.747.747 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm20.5 6h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5c.199 0 .39.079.53.22l2.72 2.719V19.25a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm-9.72-3.22-5 5a.747.747 0 0 1-1.06 0l-2.5-2.5a.749.749 0 1 1 1.06-1.06L7 8.689l4.47-4.469a.749.749 0 1 1 1.06 1.06Z\"\n })\n }\n };\n});\nvar DiscussionDuplicateIcon = /*#__PURE__*/createIconComponent(\"DiscussionDuplicateIcon\", \"octicon octicon-discussion-duplicate\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.783.784 1 1.75 1h8.5c.967 0 1.75.783 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.457 1.457 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25Zm1.75-.25a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.189L6.22 8.72a.747.747 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Zm12.5 2h-.5a.75.75 0 0 1 0-1.5h.5c.967 0 1.75.783 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.457 1.457 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 1 1 1.06-1.06l2.22 2.219V11.25a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Zm-6.282.03L5.03 7.468a.749.749 0 1 1-1.06-1.061L6.907 3.47a.75.75 0 0 1 1.061 1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.783.784 1 1.75 1h12.5c.967 0 1.75.783 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.457 1.457 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.189l2.72-2.719a.747.747 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm20.5 6h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5c.199 0 .39.079.53.22l2.72 2.719V19.25a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25ZM11.28 5.53l-5 5a.749.749 0 1 1-1.06-1.06l5-5a.749.749 0 1 1 1.06 1.06Z\"\n })\n }\n };\n});\nvar DiscussionOutdatedIcon = /*#__PURE__*/createIconComponent(\"DiscussionOutdatedIcon\", \"octicon octicon-discussion-outdated\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.783.784 1 1.75 1h8.5c.967 0 1.75.783 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.457 1.457 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25Zm1.75-.25a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.189L6.22 8.72a.747.747 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Zm12.5 2h-.5a.75.75 0 0 1 0-1.5h.5c.967 0 1.75.783 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.457 1.457 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 1 1 1.06-1.06l2.22 2.219V11.25a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM6.5 4v1.492l.466.187.036.015.812.375a.75.75 0 1 1-.628 1.362l-.795-.367-.92-.368A.75.75 0 0 1 5 6V4a.75.75 0 0 1 1.5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.783.784 1 1.75 1h12.5c.967 0 1.75.783 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.457 1.457 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.189l2.72-2.719a.747.747 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm20.5 6h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5c.199 0 .39.079.53.22l2.72 2.719V19.25a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25ZM8.5 4.75v3.14l1.15.488a.608.608 0 0 1 .037.017l1.393.681a.75.75 0 0 1-.66 1.348l-1.374-.673-1.589-.674A.751.751 0 0 1 7 8.386V4.75a.75.75 0 0 1 1.5 0Z\"\n })\n }\n };\n});\nvar DotIcon = /*#__PURE__*/createIconComponent(\"DotIcon\", \"octicon octicon-dot\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 8a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-2.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12Zm0-1.5a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z\"\n })\n }\n };\n});\nvar DotFillIcon = /*#__PURE__*/createIconComponent(\"DotFillIcon\", \"octicon octicon-dot-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 18a6 6 0 1 0 0-12 6 6 0 0 0 0 12Z\"\n })\n }\n };\n});\nvar DownloadIcon = /*#__PURE__*/createIconComponent(\"DownloadIcon\", \"octicon octicon-download\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.75 17.25a.75.75 0 0 1 .75.75v2.25c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V18a.75.75 0 0 1 1.5 0v2.25A1.75 1.75 0 0 1 18.25 22H5.75A1.75 1.75 0 0 1 4 20.25V18a.75.75 0 0 1 .75-.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.22 9.97a.749.749 0 0 1 1.06 0l4.97 4.969V2.75a.75.75 0 0 1 1.5 0v12.189l4.97-4.969a.749.749 0 1 1 1.06 1.06l-6.25 6.25a.749.749 0 0 1-1.06 0l-6.25-6.25a.749.749 0 0 1 0-1.06Z\"\n }))\n }\n };\n});\nvar DuplicateIcon = /*#__PURE__*/createIconComponent(\"DuplicateIcon\", \"octicon octicon-duplicate\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5 3a.75.75 0 0 1 .75.75v1h1a.75.75 0 0 1 0 1.5h-1v1a.75.75 0 0 1-1.5 0v-1h-1a.75.75 0 0 1 0-1.5h1v-1A.75.75 0 0 1 10.5 3Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25v-7.5C5 .784 5.784 0 6.75 0ZM6.5 1.75v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25h-7.5a.25.25 0 0 0-.25.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 5A1.75 1.75 0 0 0 0 6.75v7.5C0 15.216.784 16 1.75 16h7.5A1.75 1.75 0 0 0 11 14.25v-1.5a.75.75 0 0 0-1.5 0v1.5a.25.25 0 0 1-.25.25h-7.5a.25.25 0 0 1-.25-.25v-7.5a.25.25 0 0 1 .25-.25h1.5a.75.75 0 0 0 0-1.5h-1.5Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.513 6a.75.75 0 0 1 .75.75v2h1.987a.75.75 0 0 1 0 1.5h-1.987v2a.75.75 0 1 1-1.5 0v-2H11.75a.75.75 0 0 1 0-1.5h2.013v-2a.75.75 0 0 1 .75-.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.024 3.75c0-.966.784-1.75 1.75-1.75H20.25c.966 0 1.75.784 1.75 1.75v11.498a1.75 1.75 0 0 1-1.75 1.75H8.774a1.75 1.75 0 0 1-1.75-1.75Zm1.75-.25a.25.25 0 0 0-.25.25v11.498c0 .139.112.25.25.25H20.25a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.995 10.749a1.75 1.75 0 0 1 1.75-1.751H5.25a.75.75 0 1 1 0 1.5H3.745a.25.25 0 0 0-.25.25L3.5 20.25c0 .138.111.25.25.25h9.5a.25.25 0 0 0 .25-.25v-1.51a.75.75 0 1 1 1.5 0v1.51A1.75 1.75 0 0 1 13.25 22h-9.5A1.75 1.75 0 0 1 2 20.25l-.005-9.501Z\"\n }))\n }\n };\n});\nvar EllipsisIcon = /*#__PURE__*/createIconComponent(\"EllipsisIcon\", \"octicon octicon-ellipsis\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 5.75C0 4.784.784 4 1.75 4h12.5c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0 1 14.25 12H1.75A1.75 1.75 0 0 1 0 10.25ZM12 7a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM7 8a1 1 0 1 0 2 0 1 1 0 0 0-2 0ZM4 7a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 9.75v5.5A1.75 1.75 0 0 1 20.25 17H3.75A1.75 1.75 0 0 1 2 15.25v-5.5C2 8.784 2.784 8 3.75 8h16.5c.966 0 1.75.784 1.75 1.75Zm-8.75 2.75a1.25 1.25 0 1 0-2.5 0 1.25 1.25 0 0 0 2.5 0Zm-6.5 1.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm10.5 0a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"\n })\n }\n };\n});\nvar EyeIcon = /*#__PURE__*/createIconComponent(\"EyeIcon\", \"octicon octicon-eye\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14c-1.981 0-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2ZM1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5c1.473 0 2.825-.742 3.955-1.715 1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5c-1.473 0-2.825.742-3.955 1.715-1.124.967-1.954 2.096-2.366 2.717ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.5 12a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 3.5c3.432 0 6.124 1.534 8.054 3.241 1.926 1.703 3.132 3.61 3.616 4.46a1.6 1.6 0 0 1 0 1.598c-.484.85-1.69 2.757-3.616 4.461-1.929 1.706-4.622 3.24-8.054 3.24-3.432 0-6.124-1.534-8.054-3.24C2.02 15.558.814 13.65.33 12.8a1.6 1.6 0 0 1 0-1.598c.484-.85 1.69-2.757 3.616-4.462C5.875 5.034 8.568 3.5 12 3.5ZM1.633 11.945a.115.115 0 0 0-.017.055c.001.02.006.039.017.056.441.774 1.551 2.527 3.307 4.08C6.691 17.685 9.045 19 12 19c2.955 0 5.31-1.315 7.06-2.864 1.756-1.553 2.866-3.306 3.307-4.08a.111.111 0 0 0 .017-.056.111.111 0 0 0-.017-.056c-.441-.773-1.551-2.527-3.307-4.08C17.309 6.315 14.955 5 12 5 9.045 5 6.69 6.314 4.94 7.865c-1.756 1.552-2.866 3.306-3.307 4.08Z\"\n }))\n }\n };\n});\nvar EyeClosedIcon = /*#__PURE__*/createIconComponent(\"EyeClosedIcon\", \"octicon octicon-eye-closed\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M.143 2.31a.75.75 0 0 1 1.047-.167l14.5 10.5a.75.75 0 1 1-.88 1.214l-2.248-1.628C11.346 13.19 9.792 14 8 14c-1.981 0-3.67-.992-4.933-2.078C1.797 10.832.88 9.577.43 8.9a1.619 1.619 0 0 1 0-1.797c.353-.533.995-1.42 1.868-2.305L.31 3.357A.75.75 0 0 1 .143 2.31Zm1.536 5.622A.12.12 0 0 0 1.657 8c0 .021.006.045.022.068.412.621 1.242 1.75 2.366 2.717C5.175 11.758 6.527 12.5 8 12.5c1.195 0 2.31-.488 3.29-1.191L9.063 9.695A2 2 0 0 1 6.058 7.52L3.529 5.688a14.207 14.207 0 0 0-1.85 2.244ZM8 3.5c-.516 0-1.017.09-1.499.251a.75.75 0 1 1-.473-1.423A6.207 6.207 0 0 1 8 2c1.981 0 3.67.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.11.166-.248.365-.41.587a.75.75 0 1 1-1.21-.887c.148-.201.272-.382.371-.53a.119.119 0 0 0 0-.137c-.412-.621-1.242-1.75-2.366-2.717C10.825 4.242 9.473 3.5 8 3.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.052 5.837A9.715 9.715 0 0 1 12 5c2.955 0 5.309 1.315 7.06 2.864 1.756 1.553 2.866 3.307 3.307 4.08a.11.11 0 0 1 .016.055.122.122 0 0 1-.017.06 16.766 16.766 0 0 1-1.53 2.218.75.75 0 1 0 1.163.946 18.253 18.253 0 0 0 1.67-2.42 1.607 1.607 0 0 0 .001-1.602c-.485-.85-1.69-2.757-3.616-4.46C18.124 5.034 15.432 3.5 12 3.5c-1.695 0-3.215.374-4.552.963a.75.75 0 0 0 .604 1.373Zm11.114 12.15C17.328 19.38 14.933 20.5 12 20.5c-3.432 0-6.125-1.534-8.054-3.24C2.02 15.556.814 13.648.33 12.798a1.606 1.606 0 0 1 .001-1.6A18.283 18.283 0 0 1 3.648 7.01L1.317 5.362a.75.75 0 1 1 .866-1.224l20.5 14.5a.75.75 0 1 1-.866 1.224ZM4.902 7.898c-1.73 1.541-2.828 3.273-3.268 4.044a.112.112 0 0 0-.017.059c0 .015.003.034.016.055.441.774 1.551 2.527 3.307 4.08C6.69 17.685 9.045 19 12 19c2.334 0 4.29-.82 5.874-1.927l-3.516-2.487a3.5 3.5 0 0 1-5.583-3.949L4.902 7.899Z\"\n })\n }\n };\n});\nvar FeedDiscussionIcon = /*#__PURE__*/createIconComponent(\"FeedDiscussionIcon\", \"octicon octicon-feed-discussion\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16ZM4 5v5a1 1 0 0 0 1 1h1v1.5a.5.5 0 0 0 .854.354L8.707 11H11a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1Z\"\n })\n }\n };\n});\nvar FeedForkedIcon = /*#__PURE__*/createIconComponent(\"FeedForkedIcon\", \"octicon octicon-feed-forked\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16ZM6 6.928a1.75 1.75 0 1 0-1 0V7.5A1.5 1.5 0 0 0 6.5 9h1v1.072a1.75 1.75 0 1 0 1 0V9h1A1.5 1.5 0 0 0 11 7.5v-.572a1.75 1.75 0 1 0-1 0V7.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5Z\"\n })\n }\n };\n});\nvar FeedHeartIcon = /*#__PURE__*/createIconComponent(\"FeedHeartIcon\", \"octicon octicon-feed-heart\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16Zm2.33-11.5c-1.22 0-1.83.5-2.323 1.136C7.513 5 6.903 4.5 5.682 4.5c-1.028 0-2.169.784-2.169 2.5 0 1.499 1.493 3.433 3.246 4.517.52.321.89.479 1.248.484.357-.005.728-.163 1.247-.484C11.007 10.433 12.5 8.5 12.5 7c0-1.716-1.14-2.5-2.17-2.5Z\"\n })\n }\n };\n});\nvar FeedIssueClosedIcon = /*#__PURE__*/createIconComponent(\"FeedIssueClosedIcon\", \"octicon octicon-feed-issue-closed\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0Zm3.457 6.957a.999.999 0 1 0-1.414-1.414L7.25 8.336 5.957 7.043a.999.999 0 1 0-1.414 1.414l2 2a.999.999 0 0 0 1.414 0Z\"\n })\n }\n };\n});\nvar FeedIssueDraftIcon = /*#__PURE__*/createIconComponent(\"FeedIssueDraftIcon\", \"octicon octicon-feed-issue-draft\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM3.802 7.334a.75.75 0 0 0-1.482-.233 5.8 5.8 0 0 0 0 1.798.749.749 0 1 0 1.482-.233 4.296 4.296 0 0 1 0-1.332ZM8 2.25a5.8 5.8 0 0 0-.899.07.749.749 0 1 0 .233 1.482 4.296 4.296 0 0 1 1.332 0 .75.75 0 0 0 .233-1.482A5.8 5.8 0 0 0 8 2.25Zm-.666 9.948a.75.75 0 0 0-.233 1.482 5.8 5.8 0 0 0 1.798 0 .749.749 0 1 0-.233-1.482 4.296 4.296 0 0 1-1.332 0Zm6.346-5.097a.749.749 0 1 0-1.482.233 4.296 4.296 0 0 1 0 1.332.75.75 0 0 0 1.482.233 5.8 5.8 0 0 0 0-1.798Zm-8.178-2.54a.75.75 0 0 0-.882-1.213A5.77 5.77 0 0 0 3.348 4.62a.749.749 0 1 0 1.213.882c.263-.361.58-.678.941-.941Zm-.941 5.937a.75.75 0 0 0-1.213.882 5.77 5.77 0 0 0 1.272 1.272.749.749 0 1 0 .882-1.213 4.285 4.285 0 0 1-.941-.941Zm6.819-7.15a.749.749 0 1 0-.882 1.213c.36.263.679.58.941.941a.75.75 0 0 0 1.213-.882 5.77 5.77 0 0 0-1.272-1.272Zm1.272 8.032a.749.749 0 1 0-1.213-.882c-.262.36-.581.679-.941.941a.75.75 0 0 0 .882 1.213 5.77 5.77 0 0 0 1.272-1.272Z\"\n })\n }\n };\n});\nvar FeedIssueOpenIcon = /*#__PURE__*/createIconComponent(\"FeedIssueOpenIcon\", \"octicon octicon-feed-issue-open\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 8a4.25 4.25 0 1 1 8.5 0 4.25 4.25 0 0 1-8.5 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-5.75a5.75 5.75 0 1 0 0 11.5 5.75 5.75 0 1 0 0-11.5Z\"\n }))\n }\n };\n});\nvar FeedIssueReopenIcon = /*#__PURE__*/createIconComponent(\"FeedIssueReopenIcon\", \"octicon octicon-feed-issue-reopen\", function () {\n return {\n \"16\": {\n \"width\": 17,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M.5 8a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm3.427-4.323a.25.25 0 0 0-.427.177V6c0 .138.112.25.25.25h2.146a.25.25 0 0 0 .177-.427l-.524-.524a4.003 4.003 0 0 1 6.862 1.858.75.75 0 0 0 1.467-.314 5.502 5.502 0 0 0-9.39-2.605Zm9.573 8.469V10a.25.25 0 0 0-.25-.25h-2.146a.25.25 0 0 0-.177.427l.524.524a4.002 4.002 0 0 1-6.862-1.858.75.75 0 0 0-1.467.314 5.502 5.502 0 0 0 9.39 2.605l.561.561a.25.25 0 0 0 .427-.177ZM10 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 10 8Z\"\n })\n }\n };\n});\nvar FeedMergedIcon = /*#__PURE__*/createIconComponent(\"FeedMergedIcon\", \"octicon octicon-feed-merged\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16Zm.25-11.25A1.75 1.75 0 1 0 6 6.428v3.144a1.75 1.75 0 1 0 1 0V8.236A2.99 2.99 0 0 0 9 9h.571a1.75 1.75 0 1 0 0-1H9a2 2 0 0 1-1.957-1.586A1.75 1.75 0 0 0 8.25 4.75Z\"\n })\n }\n };\n});\nvar FeedPersonIcon = /*#__PURE__*/createIconComponent(\"FeedPersonIcon\", \"octicon octicon-feed-person\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16Zm.847-8.145a2.502 2.502 0 1 0-1.694 0C5.471 8.261 4 9.775 4 11c0 .395.145.995 1 .995h6c.855 0 1-.6 1-.995 0-1.224-1.47-2.74-3.153-3.145Z\"\n })\n }\n };\n});\nvar FeedPlusIcon = /*#__PURE__*/createIconComponent(\"FeedPlusIcon\", \"octicon octicon-feed-plus\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0Zm1.062 4.312a1 1 0 1 0-2 0v2.75h-2.75a1 1 0 0 0 0 2h2.75v2.75a1 1 0 1 0 2 0v-2.75h2.75a1 1 0 1 0 0-2h-2.75Z\"\n })\n }\n };\n});\nvar FeedPublicIcon = /*#__PURE__*/createIconComponent(\"FeedPublicIcon\", \"octicon octicon-feed-public\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm4.5.25v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H7v-1.5a1.5 1.5 0 0 1 2.443-1.167.75.75 0 0 0 .943-1.166A3 3 0 0 0 5.5 5.75v1.5a1 1 0 0 0-1 1Z\"\n })\n }\n };\n});\nvar FeedPullRequestClosedIcon = /*#__PURE__*/createIconComponent(\"FeedPullRequestClosedIcon\", \"octicon octicon-feed-pull-request-closed\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.5 12.25A1.75 1.75 0 0 0 6 8.822V6.928A1.752 1.752 0 0 0 5.5 3.5 1.75 1.75 0 0 0 5 6.928v1.894a1.752 1.752 0 0 0 .5 3.428Zm5-5a.5.5 0 0 0-.5.5v1.072a1.752 1.752 0 0 0 .5 3.428 1.75 1.75 0 0 0 .5-3.428V7.75a.5.5 0 0 0-.5-.5Zm1.255-2.763a.5.5 0 0 0-.707-.707l-.53.531-.531-.531a.5.5 0 0 0-.707.707l.531.531-.531.53a.5.5 0 0 0 .707.707l.531-.53.53.53a.5.5 0 0 0 .707-.707l-.53-.53Z\"\n })\n }\n };\n});\nvar FeedPullRequestDraftIcon = /*#__PURE__*/createIconComponent(\"FeedPullRequestDraftIcon\", \"octicon octicon-feed-pull-request-draft\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm7.25 2.5c0-.793-.527-1.462-1.25-1.678V6.928A1.752 1.752 0 0 0 5.5 3.5 1.75 1.75 0 0 0 5 6.928v1.894a1.752 1.752 0 0 0 .5 3.428 1.75 1.75 0 0 0 1.75-1.75Zm3.25 1.75a1.75 1.75 0 1 0 .001-3.499 1.75 1.75 0 0 0-.001 3.499Zm0-4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm.75-3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"\n })\n }\n };\n});\nvar FeedPullRequestOpenIcon = /*#__PURE__*/createIconComponent(\"FeedPullRequestOpenIcon\", \"octicon octicon-feed-pull-request-open\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm6.75 2.5c0-.793-.527-1.462-1.25-1.678V6.928A1.752 1.752 0 0 0 5 3.5a1.75 1.75 0 0 0-.5 3.428v1.894A1.752 1.752 0 0 0 5 12.25a1.75 1.75 0 0 0 1.75-1.75Zm3.25-5h.25a.5.5 0 0 1 .5.5v2.822a1.752 1.752 0 0 0 .5 3.428 1.75 1.75 0 0 0 .5-3.428V6a1.5 1.5 0 0 0-1.5-1.5H10V3.129a.25.25 0 0 0-.427-.177L7.702 4.823a.25.25 0 0 0 0 .354l1.871 1.871A.25.25 0 0 0 10 6.871Z\"\n })\n }\n };\n});\nvar FeedRepoIcon = /*#__PURE__*/createIconComponent(\"FeedRepoIcon\", \"octicon octicon-feed-repo\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16ZM5.5 4A1.5 1.5 0 0 0 4 5.5v5c0 .828.5 1.5 1 1.5v-1a1 1 0 0 1 1-1h5v1h-1v1h1.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5Zm.5 7.25v2.514a.25.25 0 0 0 .426.178l.898-.888a.25.25 0 0 1 .352 0l.898.888A.25.25 0 0 0 9 13.764V11H6.25a.25.25 0 0 0-.25.25Z\"\n })\n }\n };\n});\nvar FeedRocketIcon = /*#__PURE__*/createIconComponent(\"FeedRocketIcon\", \"octicon octicon-feed-rocket\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16Zm3.031-12a4.38 4.38 0 0 0-3.097 1.283l-.23.229c-.156.157-.308.32-.452.49H5.65a.876.876 0 0 0-.746.417l-.856 1.388a.377.377 0 0 0 .21.556l1.552.477 1.35 1.35.478 1.553a.374.374 0 0 0 .555.21l1.389-.855a.876.876 0 0 0 .416-.746V8.747c.17-.144.333-.295.49-.452l.23-.23A4.379 4.379 0 0 0 12 4.969v-.093A.876.876 0 0 0 11.124 4Zm-5.107 7.144h-.001a.809.809 0 0 0-1.33-.881c-.395.394-.564 1.258-.62 1.62a.12.12 0 0 0 .035.108.12.12 0 0 0 .108.035c.362-.056 1.226-.225 1.62-.619a.803.803 0 0 0 .188-.263Z\"\n })\n }\n };\n});\nvar FeedStarIcon = /*#__PURE__*/createIconComponent(\"FeedStarIcon\", \"octicon octicon-feed-star\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16Zm.252-12.932a.476.476 0 0 0-.682.195l-1.2 2.432-2.684.39a.477.477 0 0 0-.266.816l1.944 1.892-.46 2.674a.479.479 0 0 0 .694.504L8 10.709l2.4 1.261a.478.478 0 0 0 .694-.504l-.458-2.673L12.578 6.9a.479.479 0 0 0-.265-.815l-2.685-.39-1.2-2.432a.473.473 0 0 0-.176-.195Z\"\n })\n }\n };\n});\nvar FeedTagIcon = /*#__PURE__*/createIconComponent(\"FeedTagIcon\", \"octicon octicon-feed-tag\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.22 6.5a.72.72 0 1 1-1.44 0 .72.72 0 0 1 1.44 0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16ZM4 5v3.38c.001.397.159.778.44 1.059l3.211 3.213a1.202 1.202 0 0 0 1.698 0l3.303-3.303a1.202 1.202 0 0 0 0-1.698L9.439 4.44A1.5 1.5 0 0 0 8.379 4H5a1 1 0 0 0-1 1Z\"\n }))\n }\n };\n});\nvar FeedTrophyIcon = /*#__PURE__*/createIconComponent(\"FeedTrophyIcon\", \"octicon octicon-feed-trophy\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 5h1v1.146a1 1 0 0 1-.629.928L11 7.223V5ZM5 7.223l-.371-.149A1 1 0 0 1 4 6.146V5h1v2.223Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16ZM3 5v1.146a2 2 0 0 0 1.257 1.858l.865.346a3.005 3.005 0 0 0 2.294 2.093C7.22 11.404 6.658 12 5.502 12H5.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1c-1.158 0-1.72-.595-1.916-1.557a3.005 3.005 0 0 0 2.294-2.094l.865-.346A2 2 0 0 0 13 6.146V5a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1Z\"\n }))\n }\n };\n});\nvar FileIcon = /*#__PURE__*/createIconComponent(\"FileIcon\", \"octicon octicon-file\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v18a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V8.5h-4a2 2 0 0 1-2-2v-4Zm10 0v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0-.146-.336l-4.018-4.018A.5.5 0 0 0 15 2.5Z\"\n })\n }\n };\n});\nvar FileAddedIcon = /*#__PURE__*/createIconComponent(\"FileAddedIcon\", \"octicon octicon-file-added\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177l-2.914-2.914a.25.25 0 0 0-.177-.073Zm4.48 3.758a.75.75 0 0 1 .755.745l.01 1.497h1.497a.75.75 0 0 1 0 1.5H9v1.507a.75.75 0 0 1-1.5 0V9.005l-1.502.01a.75.75 0 0 1-.01-1.5l1.507-.01-.01-1.492a.75.75 0 0 1 .745-.755Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 8.25a.75.75 0 0 1 .75.75v2.25H15a.75.75 0 0 1 0 1.5h-2.25V15a.75.75 0 0 1-1.5 0v-2.25H9a.75.75 0 0 1 0-1.5h2.25V9a.75.75 0 0 1 .75-.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3Zm2-.5a.5.5 0 0 0-.5.5v18a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V7.018a.5.5 0 0 0-.146-.354l-4.018-4.018a.5.5 0 0 0-.354-.146H5Z\"\n }))\n }\n };\n});\nvar FileBadgeIcon = /*#__PURE__*/createIconComponent(\"FileBadgeIcon\", \"octicon octicon-file-badge\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.75 1.5a.25.25 0 0 0-.25.25v11.5c0 .138.112.25.25.25h3.5a.75.75 0 0 1 0 1.5h-3.5A1.75 1.75 0 0 1 1 13.25V1.75C1 .784 1.784 0 2.75 0h8a1.75 1.75 0 0 1 1.508.862.75.75 0 1 1-1.289.768.25.25 0 0 0-.219-.13h-8Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 7a3.999 3.999 0 0 1 7.605-1.733 4 4 0 0 1-1.115 4.863l.995 4.973a.75.75 0 0 1-.991.852l-2.409-.876a.248.248 0 0 0-.17 0l-2.409.876a.75.75 0 0 1-.991-.852l.994-4.973A3.994 3.994 0 0 1 8 7Zm4-2.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Zm0 6.5c-.373 0-.745-.051-1.104-.154l-.649 3.243 1.155-.42c.386-.14.81-.14 1.196 0l1.155.42-.649-3.243A4.004 4.004 0 0 1 12 11Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 2.5a.5.5 0 0 0-.5.5v18a.5.5 0 0 0 .5.5h6a.75.75 0 0 1 0 1.5H4a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10.982a2 2 0 0 1 1.414.586l.064.064.01.008.31.312a.75.75 0 0 1-1.06 1.06l-.078-.078-.004-.003-.093-.093c-.003-.003 0 0 0 0l-.21-.21a.5.5 0 0 0-.353-.146H4Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 6.25a4.25 4.25 0 1 0 0 8.5 4.25 4.25 0 0 0 0-8.5Zm-5.75 4.25a5.75 5.75 0 1 1 11.5 0 5.75 5.75 0 0 1-11.5 0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m21.283 14.866 1.455 8a.75.75 0 0 1-1.002.836l-3.296-1.24a1.25 1.25 0 0 0-.88 0l-3.296 1.24a.75.75 0 0 1-1.002-.836l1.455-8 1.475.268-1.217 6.698 2.056-.774a2.75 2.75 0 0 1 1.938 0l2.056.774-1.217-6.698 1.475-.268Z\"\n }))\n }\n };\n});\nvar FileBinaryIcon = /*#__PURE__*/createIconComponent(\"FileBinaryIcon\", \"octicon octicon-file-binary\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2a.75.75 0 0 1-1.5 0Zm-4 6C0 6.784.784 6 1.75 6h1.5C4.216 6 5 6.784 5 7.75v2.5A1.75 1.75 0 0 1 3.25 12h-1.5A1.75 1.75 0 0 1 0 10.25ZM6.75 6h1.5a.75.75 0 0 1 .75.75v3.75h.75a.75.75 0 0 1 0 1.5h-3a.75.75 0 0 1 0-1.5h.75v-3h-.75a.75.75 0 0 1 0-1.5Zm-5 1.5a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-2.5a.25.25 0 0 0-.25-.25Zm9.75-5.938V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H4.75a.75.75 0 0 1 0-1.5H19a.5.5 0 0 0 .5-.5V8.5h-4a2 2 0 0 1-2-2v-4H5a.5.5 0 0 0-.5.5v6.25a.75.75 0 0 1-1.5 0Zm12-.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0-.146-.336l-4.018-4.018A.5.5 0 0 0 15 2.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 13.75C0 12.784.784 12 1.75 12h3c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75h-3A1.75 1.75 0 0 1 0 17.75Zm1.75-.25a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h3a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM9 12a.75.75 0 0 0 0 1.5h1.5V18H9a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5H12v-5.25a.75.75 0 0 0-.75-.75H9Z\"\n }))\n }\n };\n});\nvar FileCodeIcon = /*#__PURE__*/createIconComponent(\"FileCodeIcon\", \"octicon octicon-file-code\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H4.75a.75.75 0 0 1 0-1.5H19a.5.5 0 0 0 .5-.5V8.5h-4a2 2 0 0 1-2-2v-4H5a.5.5 0 0 0-.5.5v6.25a.75.75 0 0 1-1.5 0Zm12-.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0-.146-.336l-4.018-4.018A.5.5 0 0 0 15 2.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.53 12.24a.75.75 0 0 1-.039 1.06l-2.639 2.45 2.64 2.45a.75.75 0 1 1-1.022 1.1l-3.23-3a.75.75 0 0 1 0-1.1l3.23-3a.75.75 0 0 1 1.06.04Zm3.979 1.06a.75.75 0 1 1 1.02-1.1l3.231 3a.75.75 0 0 1 0 1.1l-3.23 3a.75.75 0 1 1-1.021-1.1l2.639-2.45-2.64-2.45Z\"\n }))\n }\n };\n});\nvar FileDiffIcon = /*#__PURE__*/createIconComponent(\"FileDiffIcon\", \"octicon octicon-file-diff\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 1.75C1 .784 1.784 0 2.75 0h7.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177l-2.914-2.914a.25.25 0 0 0-.177-.073ZM8 3.25a.75.75 0 0 1 .75.75v1.5h1.5a.75.75 0 0 1 0 1.5h-1.5v1.5a.75.75 0 0 1-1.5 0V7h-1.5a.75.75 0 0 1 0-1.5h1.5V4A.75.75 0 0 1 8 3.25Zm-3 8a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 6.75a.75.75 0 0 0-1.5 0V9H8.75a.75.75 0 0 0 0 1.5H11v2.25a.75.75 0 0 0 1.5 0V10.5h2.25a.75.75 0 0 0 0-1.5H12.5V6.75ZM8.75 16a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5h-6Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 1h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2Zm-.5 2v18a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V7.018a.5.5 0 0 0-.146-.354l-4.018-4.018a.5.5 0 0 0-.354-.146H5a.5.5 0 0 0-.5.5Z\"\n }))\n }\n };\n});\nvar FileDirectoryIcon = /*#__PURE__*/createIconComponent(\"FileDirectoryIcon\", \"octicon octicon-file-directory\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.784.784 1 1.75 1H5c.55 0 1.07.26 1.4.7l.9 1.2a.25.25 0 0 0 .2.1h6.75c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25Zm1.75-.25a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H7.5c-.55 0-1.07-.26-1.4-.7l-.9-1.2a.25.25 0 0 0-.2-.1Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 4.75C2 3.784 2.784 3 3.75 3h4.971c.58 0 1.12.286 1.447.765l1.404 2.063c.046.069.124.11.207.11h8.471c.966 0 1.75.783 1.75 1.75V19.25A1.75 1.75 0 0 1 20.25 21H3.75A1.75 1.75 0 0 1 2 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V7.687a.25.25 0 0 0-.25-.25h-8.471a1.75 1.75 0 0 1-1.447-.765L8.928 4.61a.252.252 0 0 0-.208-.11Z\"\n })\n }\n };\n});\nvar FileDirectoryFillIcon = /*#__PURE__*/createIconComponent(\"FileDirectoryFillIcon\", \"octicon octicon-file-directory-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 4.75C2 3.784 2.784 3 3.75 3h4.971c.58 0 1.12.286 1.447.765l1.404 2.063c.046.069.124.11.207.11h8.471c.966 0 1.75.783 1.75 1.75V19.25A1.75 1.75 0 0 1 20.25 21H3.75A1.75 1.75 0 0 1 2 19.25Z\"\n })\n }\n };\n});\nvar FileDirectoryOpenFillIcon = /*#__PURE__*/createIconComponent(\"FileDirectoryOpenFillIcon\", \"octicon octicon-file-directory-open-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M.513 1.513A1.75 1.75 0 0 1 1.75 1h3.5c.55 0 1.07.26 1.4.7l.9 1.2a.25.25 0 0 0 .2.1H13a1 1 0 0 1 1 1v.5H2.75a.75.75 0 0 0 0 1.5h11.978a1 1 0 0 1 .994 1.117L15 13.25A1.75 1.75 0 0 1 13.25 15H1.75A1.75 1.75 0 0 1 0 13.25V2.75c0-.464.184-.91.513-1.237Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 4.75C2 3.784 2.784 3 3.75 3h4.971c.58 0 1.12.286 1.447.765l1.404 2.063a.25.25 0 0 0 .207.11h6.224c.966 0 1.75.783 1.75 1.75v.117H5.408a.848.848 0 0 0 0 1.695h15.484a1 1 0 0 1 .995 1.102L21 19.25c-.106 1.05-.784 1.75-1.75 1.75H3.75A1.75 1.75 0 0 1 2 19.25V4.75Z\"\n })\n }\n };\n});\nvar FileDirectorySymlinkIcon = /*#__PURE__*/createIconComponent(\"FileDirectorySymlinkIcon\", \"octicon octicon-file-directory-symlink\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.784.784 1 1.75 1H5a1.75 1.75 0 0 1 1.4.7l.9 1.2a.25.25 0 0 0 .2.1h6.75c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 15H5.375a.75.75 0 0 1 0-1.5h8.875a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H7.5a1.75 1.75 0 0 1-1.4-.7l-.9-1.2a.25.25 0 0 0-.2-.1H1.75a.25.25 0 0 0-.25.25v3a.75.75 0 0 1-1.5 0v-3Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 12.237a2.25 2.25 0 0 1 2.262-2.249L4 9.989v1.938c0 .218.26.331.42.183l2.883-2.677a.25.25 0 0 0 0-.366L4.42 6.39a.25.25 0 0 0-.42.183v1.916l-.229-.001A3.75 3.75 0 0 0 0 12.237v1.013a.75.75 0 0 0 1.5 0v-1.013Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 4.75C2 3.784 2.784 3 3.75 3h4.971a1.75 1.75 0 0 1 1.447.765l1.404 2.063a.25.25 0 0 0 .207.11h8.471c.966 0 1.75.783 1.75 1.75V19.25A1.75 1.75 0 0 1 20.25 21H4.75a.75.75 0 0 1 0-1.5h15.5a.25.25 0 0 0 .25-.25V7.688a.25.25 0 0 0-.25-.25h-8.471a1.751 1.751 0 0 1-1.447-.766L8.928 4.609a.252.252 0 0 0-.207-.109H3.75a.25.25 0 0 0-.25.25v3.5a.75.75 0 0 1-1.5 0v-3.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m9.308 12.5-2.104-2.236a.75.75 0 1 1 1.092-1.028l3.294 3.5a.75.75 0 0 1 0 1.028l-3.294 3.5a.75.75 0 1 1-1.092-1.028L9.308 14H4.09a2.59 2.59 0 0 0-2.59 2.59v3.16a.75.75 0 0 1-1.5 0v-3.16a4.09 4.09 0 0 1 4.09-4.09h5.218Z\"\n }))\n }\n };\n});\nvar FileMediaIcon = /*#__PURE__*/createIconComponent(\"FileMediaIcon\", \"octicon octicon-file-media\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 13.25A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25V2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75ZM1.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h.94l.03-.03 6.077-6.078a1.75 1.75 0 0 1 2.412-.06L14.5 10.31V2.75a.25.25 0 0 0-.25-.25Zm12.5 11a.25.25 0 0 0 .25-.25v-.917l-4.298-3.889a.25.25 0 0 0-.344.009L4.81 13.5ZM7 6a2 2 0 1 1-3.999.001A2 2 0 0 1 7 6ZM5.5 6a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.75 21.5H2.25A1.75 1.75 0 0 1 .5 19.75V4.25c0-.966.784-1.75 1.75-1.75h19.5c.966 0 1.75.784 1.75 1.75v15.5a1.75 1.75 0 0 1-1.75 1.75ZM2.25 4a.25.25 0 0 0-.25.25v15.5c0 .138.112.25.25.25h3.178L14 10.977a1.749 1.749 0 0 1 2.506-.032L22 16.44V4.25a.25.25 0 0 0-.25-.25ZM22 19.75v-1.19l-6.555-6.554a.248.248 0 0 0-.18-.073.247.247 0 0 0-.178.077L7.497 20H21.75a.25.25 0 0 0 .25-.25ZM10.5 9.25a3.25 3.25 0 1 1-6.5 0 3.25 3.25 0 0 1 6.5 0Zm-1.5 0a1.75 1.75 0 1 0-3.501.001A1.75 1.75 0 0 0 9 9.25Z\"\n })\n }\n };\n});\nvar FileMovedIcon = /*#__PURE__*/createIconComponent(\"FileMovedIcon\", \"octicon octicon-file-moved\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-3.5a.75.75 0 0 1 0-1.5h3.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177l-2.914-2.914a.25.25 0 0 0-.177-.073H3.75a.25.25 0 0 0-.25.25v6.5a.75.75 0 0 1-1.5 0v-6.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m5.427 15.573 3.146-3.146a.25.25 0 0 0 0-.354L5.427 8.927A.25.25 0 0 0 5 9.104V11.5H.75a.75.75 0 0 0 0 1.5H5v2.396c0 .223.27.335.427.177Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H4.75a.75.75 0 0 1 0-1.5H19a.5.5 0 0 0 .5-.5V7a.5.5 0 0 0-.146-.336l-4.018-4.018A.5.5 0 0 0 15 2.5H5a.5.5 0 0 0-.5.5v6.25a.75.75 0 0 1-1.5 0V3Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.21 14.25H1.75a.75.75 0 0 0 0 1.5h5.46s-.008 2.249 0 3.256a.75.75 0 0 0 1.262.542l4.285-4a.75.75 0 0 0 0-1.096l-4.285-4A.75.75 0 0 0 7.21 11v3.249Z\"\n }))\n }\n };\n});\nvar FileRemovedIcon = /*#__PURE__*/createIconComponent(\"FileRemovedIcon\", \"octicon octicon-file-removed\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177l-2.914-2.914a.25.25 0 0 0-.177-.073Zm4.5 6h2.242a.75.75 0 0 1 0 1.5h-2.24l-2.254.015a.75.75 0 0 1-.01-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3Zm2-.5a.5.5 0 0 0-.5.5v18a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V7.018a.5.5 0 0 0-.146-.354l-4.018-4.018a.5.5 0 0 0-.354-.146H5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 12c0-.414.358-.75.8-.75h6.4c.442 0 .8.336.8.75s-.358.75-.8.75H8.8c-.442 0-.8-.336-.8-.75Z\"\n }))\n }\n };\n});\nvar FileSubmoduleIcon = /*#__PURE__*/createIconComponent(\"FileSubmoduleIcon\", \"octicon octicon-file-submodule\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.784.784 1 1.75 1H5c.55 0 1.07.26 1.4.7l.9 1.2a.25.25 0 0 0 .2.1h6.75c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25Zm9.42 9.36 2.883-2.677a.25.25 0 0 0 0-.366L9.42 6.39a.249.249 0 0 0-.42.183V8.5H4.75a.75.75 0 0 0 0 1.5H9v1.927c0 .218.26.331.42.183Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 4.75C2 3.784 2.784 3 3.75 3h4.965a1.75 1.75 0 0 1 1.456.78l1.406 2.109a.25.25 0 0 0 .208.111h8.465c.966 0 1.75.784 1.75 1.75v11.5A1.75 1.75 0 0 1 20.25 21H3.75A1.75 1.75 0 0 1 2 19.25Zm12.78 4.97a.749.749 0 0 0-1.275.326.749.749 0 0 0 .215.734l1.72 1.72H6.75a.75.75 0 0 0 0 1.5h8.69l-1.72 1.72a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215l3-3a.75.75 0 0 0 0-1.06Z\"\n })\n }\n };\n});\nvar FileSymlinkFileIcon = /*#__PURE__*/createIconComponent(\"FileSymlinkFileIcon\", \"octicon octicon-file-symlink-file\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 12.25 15h-7a.75.75 0 0 1 0-1.5h7a.25.25 0 0 0 .25-.25V6H9.75A1.75 1.75 0 0 1 8 4.25V1.5H3.75a.25.25 0 0 0-.25.25V4.5a.75.75 0 0 1-1.5 0Zm-.5 10.487v1.013a.75.75 0 0 1-1.5 0v-1.012a3.748 3.748 0 0 1 3.77-3.749L4 8.49V6.573a.25.25 0 0 1 .42-.183l2.883 2.678a.25.25 0 0 1 0 .366L4.42 12.111a.25.25 0 0 1-.42-.183V9.99l-.238-.003a2.25 2.25 0 0 0-2.262 2.25Zm8-10.675V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H4.75a.75.75 0 0 1 0-1.5H19a.5.5 0 0 0 .5-.5V8.5h-4a2 2 0 0 1-2-2v-4H5a.5.5 0 0 0-.5.5v6.25a.75.75 0 0 1-1.5 0Zm6.308 11.5-2.104-2.236a.751.751 0 0 1 .369-1.255.749.749 0 0 1 .723.227l3.294 3.5a.75.75 0 0 1 0 1.028l-3.294 3.5a.749.749 0 0 1-1.275-.293.751.751 0 0 1 .183-.735L9.308 16H4.09a2.59 2.59 0 0 0-2.59 2.59v3.16a.75.75 0 0 1-1.5 0v-3.16a4.09 4.09 0 0 1 4.09-4.09ZM15 2.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0-.146-.336l-4.018-4.018A.5.5 0 0 0 15 2.5Z\"\n })\n }\n };\n});\nvar FileZipIcon = /*#__PURE__*/createIconComponent(\"FileZipIcon\", \"octicon octicon-file-zip\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.5 1.75v11.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 2 13.25V1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.185 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 12.25 15h-.5a.75.75 0 0 1 0-1.5h.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177L9.513 1.573a.25.25 0 0 0-.177-.073H7.25a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5h-3a.25.25 0 0 0-.25.25Zm3.75 8.75h.5c.966 0 1.75.784 1.75 1.75v3a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1-.75-.75v-3c0-.966.784-1.75 1.75-1.75ZM6 5.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 5.25Zm.75 2.25h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 6.75A.75.75 0 0 1 8.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 6.75ZM8.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 9.75A.75.75 0 0 1 8.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 9.75Zm-1 2.5v2.25h1v-2.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 2.5a.5.5 0 0 0-.5.5v18a.5.5 0 0 0 .5.5h1.75a.75.75 0 0 1 0 1.5H5a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2h-2.75a.75.75 0 0 1 0-1.5H19a.5.5 0 0 0 .5-.5V7.018a.5.5 0 0 0-.146-.354l-4.018-4.018a.5.5 0 0 0-.354-.146H5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 15.75a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm.75-3.75a.75.75 0 0 0 0 1.5h1a.75.75 0 0 0 0-1.5h-1Zm-.75-2.25a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75ZM12.25 6a.75.75 0 0 0 0 1.5h1a.75.75 0 0 0 0-1.5h-1Zm-.75-2.25a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75ZM9.75 13.5a.75.75 0 0 0 0 1.5h1a.75.75 0 0 0 0-1.5h-1ZM9 11.25a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm.75-3.75a.75.75 0 0 0 0 1.5h1a.75.75 0 0 0 0-1.5h-1ZM9 5.25a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1A.75.75 0 0 1 9 5.25ZM11 17h1a2 2 0 0 1 2 2v4.25a.75.75 0 0 1-.75.75h-3.5a.75.75 0 0 1-.75-.75V19a2 2 0 0 1 2-2Zm-.5 2v3.5h2V19a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Z\"\n }))\n }\n };\n});\nvar FilterIcon = /*#__PURE__*/createIconComponent(\"FilterIcon\", \"octicon octicon-filter\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M.75 3h14.5a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1 0-1.5ZM3 7.75A.75.75 0 0 1 3.75 7h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 3 7.75Zm3 4a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.75 6a.75.75 0 0 0 0 1.5h18.5a.75.75 0 0 0 0-1.5H2.75ZM6 11.75a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75a.75.75 0 0 1-.75-.75Zm4 4.938a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\"\n })\n }\n };\n});\nvar FilterRemoveIcon = /*#__PURE__*/createIconComponent(\"FilterRemoveIcon\", \"octicon octicon-filter-remove\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.384 4.57a.752.752 0 0 0 1.061 0 .752.752 0 0 0 0-1.061l-.884-.884.883-.884A.75.75 0 0 0 14.384.68l-.884.884-.884-.884a.75.75 0 0 0-1.06 1.061l.883.884-.883.884a.75.75 0 0 0 1.06 1.061l.884-.884.884.884ZM.75 3a.75.75 0 0 0 0 1.5H9A.75.75 0 0 0 9 3H.75ZM3 7.75A.75.75 0 0 1 3.75 7h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 3 7.75Zm3 4a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.587 9.273a.75.75 0 1 0 1.061-1.061l-1.591-1.591 1.591-1.591a.749.749 0 1 0-1.061-1.06l-1.591 1.591-1.591-1.591a.749.749 0 1 0-1.06 1.06l1.591 1.591-1.591 1.591a.75.75 0 0 0 1.06 1.061l1.591-1.591 1.591 1.591ZM1.75 6a.75.75 0 0 0 0 1.5H14.5a.75.75 0 0 0 0-1.5H1.75ZM5 11.75a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H5.75a.75.75 0 0 1-.75-.75Zm4 4.938a.75.75 0 0 1 .75-.75h2.5a.75.75 0 1 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\"\n })\n }\n };\n});\nvar FiscalHostIcon = /*#__PURE__*/createIconComponent(\"FiscalHostIcon\", \"octicon octicon-fiscal-host\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 9.25h-.75a.75.75 0 0 1 0-1.5H4v-1.5h-.75a.75.75 0 0 1 0-1.5H4V3.5a1 1 0 0 1 1-1h7.5a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1ZM5.5 4v.793a.75.75 0 0 1 0 1.414v1.586a.75.75 0 0 1 0 1.414V10H12V4Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.75 14.25V14h-9.5v.25a.75.75 0 0 1-1.5 0V14A1.75 1.75 0 0 1 0 12.25V1.75C0 .784.784 0 1.75 0h12.5C15.217 0 16 .784 16 1.75v10.5A1.75 1.75 0 0 1 14.25 14v.25a.75.75 0 0 1-1.5 0ZM1.75 1.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 20.25 20H19v.25a1 1 0 1 1-2 0V20H6.997v.25a1 1 0 1 1-2 0V20H3.75A1.75 1.75 0 0 1 2 18.25V3.75Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H3.75ZM14.318 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM6 8.5A.75.75 0 1 0 6 10h1.5v2H6a.75.75 0 0 0 0 1.5h1.5V15A1.5 1.5 0 0 0 9 16.5h8a1.5 1.5 0 0 0 1.5-1.5V7A1.5 1.5 0 0 0 17 5.5H9A1.5 1.5 0 0 0 7.5 7v1.5H6ZM9 10a.75.75 0 0 0 0-1.5V7h8v8H9v-1.5A.75.75 0 0 0 9 12v-2Z\"\n })\n }\n };\n});\nvar FlameIcon = /*#__PURE__*/createIconComponent(\"FlameIcon\", \"octicon octicon-flame\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.533.753V.752c.217 2.385 1.463 3.626 2.653 4.81C13.37 6.74 14.498 7.863 14.498 10c0 3.5-3 6-6.5 6S1.5 13.512 1.5 10c0-1.298.536-2.56 1.425-3.286.376-.308.862 0 1.035.454C4.46 8.487 5.581 8.419 6 8c.282-.282.341-.811-.003-1.5C4.34 3.187 7.035.75 8.77.146c.39-.137.726.194.763.607ZM7.998 14.5c2.832 0 5-1.98 5-4.5 0-1.463-.68-2.19-1.879-3.383l-.036-.037c-1.013-1.008-2.3-2.29-2.834-4.434-.322.256-.63.579-.864.953-.432.696-.621 1.58-.046 2.73.473.947.67 2.284-.278 3.232-.61.61-1.545.84-2.403.633a2.79 2.79 0 0 1-1.436-.874A3.198 3.198 0 0 0 3 10c0 2.53 2.164 4.5 4.998 4.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.265 1.627c0 3.545 1.869 5.327 3.479 7.021 1.54 1.62 3.006 3.163 3.006 6.102 0 4.812-3.753 8.25-8.565 8.25-4.813 0-8.935-3.421-8.935-8.25 0-2.039.962-4.011 2.509-4.899.305-.175.672.007.803.334C7.563 12.684 8.797 12.64 9.437 12c.388-.387.47-1.116-.004-2.062-2.405-4.812 1.863-8.279 4.2-8.854.336-.082.615.198.632.543ZM12.185 21.5c4.059 0 7.065-2.84 7.065-6.75 0-2.337-1.093-3.489-2.678-5.158l-.021-.023c-1.44-1.517-3.139-3.351-3.649-6.557a6.148 6.148 0 0 0-1.911 1.76c-.787 1.144-1.147 2.633-.216 4.495.603 1.205.777 2.74-.277 3.794-.657.657-1.762 1.1-2.956.586-.752-.324-1.353-.955-1.838-1.79-.567.706-.954 1.74-.954 2.893 0 3.847 3.288 6.75 7.435 6.75Z\"\n })\n }\n };\n});\nvar FoldIcon = /*#__PURE__*/createIconComponent(\"FoldIcon\", \"octicon octicon-fold\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.896 2H8.75V.75a.75.75 0 0 0-1.5 0V2H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0l2.896-2.896A.25.25 0 0 0 10.896 2ZM8.75 15.25a.75.75 0 0 1-1.5 0V14H5.104a.25.25 0 0 1-.177-.427l2.896-2.896a.25.25 0 0 1 .354 0l2.896 2.896a.25.25 0 0 1-.177.427H8.75v1.25Zm-6.5-6.5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 6 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 12 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 15c.199 0 .389.079.53.22l3.25 3.25a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L12 16.81l-2.72 2.72a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25A.749.749 0 0 1 12 15Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.53 8.78a.75.75 0 0 1-1.06 0L8.22 5.53a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L12 7.19l2.72-2.72a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734ZM12 15.75a.75.75 0 0 1 .75.75v5.75a.75.75 0 0 1-1.5 0V16.5a.75.75 0 0 1 .75-.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 8.5a.75.75 0 0 1-.75-.75v-6a.75.75 0 0 1 1.5 0v6a.75.75 0 0 1-.75.75ZM2.75 12a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Z\"\n }))\n }\n };\n});\nvar FoldDownIcon = /*#__PURE__*/createIconComponent(\"FoldDownIcon\", \"octicon octicon-fold-down\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8.177 14.323 2.896-2.896a.25.25 0 0 0-.177-.427H8.75V7.764a.75.75 0 1 0-1.5 0V11H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0ZM2.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75ZM8.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 19a.749.749 0 0 1-.53-.22l-3.25-3.25a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215L12 17.19l2.72-2.72a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734l-3.25 3.25A.749.749 0 0 1 12 19Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 18a.75.75 0 0 1-.75-.75v-7.5a.75.75 0 0 1 1.5 0v7.5A.75.75 0 0 1 12 18ZM2.75 6a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1A.75.75 0 0 1 2.75 6Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1A.75.75 0 0 1 6.75 6Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Z\"\n }))\n }\n };\n});\nvar FoldUpIcon = /*#__PURE__*/createIconComponent(\"FoldUpIcon\", \"octicon octicon-fold-up\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.823 1.677 4.927 4.573A.25.25 0 0 0 5.104 5H7.25v3.236a.75.75 0 1 0 1.5 0V5h2.146a.25.25 0 0 0 .177-.427L8.177 1.677a.25.25 0 0 0-.354 0ZM13.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Zm-3.75.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM7.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5ZM4 11.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM1.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.47 5.22a.75.75 0 0 1 1.06 0l3.25 3.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L12 6.81 9.28 9.53a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5.5a.75.75 0 0 1 .75.75v8a.75.75 0 0 1-1.5 0v-8A.75.75 0 0 1 12 5.5ZM2.75 18a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Z\"\n }))\n }\n };\n});\nvar GearIcon = /*#__PURE__*/createIconComponent(\"GearIcon\", \"octicon octicon-gear\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0Zm-1.5 0a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c.266 0 .532.009.797.028.763.055 1.345.617 1.512 1.304l.352 1.45c.019.078.09.171.225.221.247.089.49.19.728.302.13.061.246.044.315.002l1.275-.776c.603-.368 1.411-.353 1.99.147.402.349.78.726 1.128 1.129.501.578.515 1.386.147 1.99l-.776 1.274c-.042.069-.058.185.002.315.112.238.213.481.303.728.048.135.142.205.22.225l1.45.352c.687.167 1.249.749 1.303 1.512.038.531.038 1.063 0 1.594-.054.763-.616 1.345-1.303 1.512l-1.45.352c-.078.019-.171.09-.221.225-.089.248-.19.491-.302.728-.061.13-.044.246-.002.315l.776 1.275c.368.603.353 1.411-.147 1.99-.349.402-.726.78-1.129 1.128-.578.501-1.386.515-1.99.147l-1.274-.776c-.069-.042-.185-.058-.314.002a8.606 8.606 0 0 1-.729.303c-.135.048-.205.142-.225.22l-.352 1.45c-.167.687-.749 1.249-1.512 1.303-.531.038-1.063.038-1.594 0-.763-.054-1.345-.616-1.512-1.303l-.352-1.45c-.019-.078-.09-.171-.225-.221a8.138 8.138 0 0 1-.728-.302c-.13-.061-.246-.044-.315-.002l-1.275.776c-.603.368-1.411.353-1.99-.147-.402-.349-.78-.726-1.128-1.129-.501-.578-.515-1.386-.147-1.99l.776-1.274c.042-.069.058-.185-.002-.314a8.606 8.606 0 0 1-.303-.729c-.048-.135-.142-.205-.22-.225l-1.45-.352c-.687-.167-1.249-.749-1.304-1.512a11.158 11.158 0 0 1 0-1.594c.055-.763.617-1.345 1.304-1.512l1.45-.352c.078-.019.171-.09.221-.225.089-.248.19-.491.302-.728.061-.13.044-.246.002-.315l-.776-1.275c-.368-.603-.353-1.411.147-1.99.349-.402.726-.78 1.129-1.128.578-.501 1.386-.515 1.99-.147l1.274.776c.069.042.185.058.315-.002.238-.112.481-.213.728-.303.135-.048.205-.142.225-.22l.352-1.45c.167-.687.749-1.249 1.512-1.304C11.466 1.01 11.732 1 12 1Zm-.69 1.525c-.055.004-.135.05-.161.161l-.353 1.45a1.832 1.832 0 0 1-1.172 1.277 7.147 7.147 0 0 0-.6.249 1.833 1.833 0 0 1-1.734-.074l-1.274-.776c-.098-.06-.186-.036-.228 0a9.774 9.774 0 0 0-.976.976c-.036.042-.06.131 0 .228l.776 1.274c.314.529.342 1.18.074 1.734a7.147 7.147 0 0 0-.249.6 1.831 1.831 0 0 1-1.278 1.173l-1.45.351c-.11.027-.156.107-.16.162a9.63 9.63 0 0 0 0 1.38c.004.055.05.135.161.161l1.45.353a1.832 1.832 0 0 1 1.277 1.172c.074.204.157.404.249.6.268.553.24 1.204-.074 1.733l-.776 1.275c-.06.098-.036.186 0 .228.301.348.628.675.976.976.042.036.131.06.228 0l1.274-.776a1.83 1.83 0 0 1 1.734-.075c.196.093.396.176.6.25a1.831 1.831 0 0 1 1.173 1.278l.351 1.45c.027.11.107.156.162.16a9.63 9.63 0 0 0 1.38 0c.055-.004.135-.05.161-.161l.353-1.45a1.834 1.834 0 0 1 1.172-1.278 6.82 6.82 0 0 0 .6-.248 1.831 1.831 0 0 1 1.733.074l1.275.776c.098.06.186.036.228 0 .348-.301.675-.628.976-.976.036-.042.06-.131 0-.228l-.776-1.275a1.834 1.834 0 0 1-.075-1.733c.093-.196.176-.396.25-.6a1.831 1.831 0 0 1 1.278-1.173l1.45-.351c.11-.027.156-.107.16-.162a9.63 9.63 0 0 0 0-1.38c-.004-.055-.05-.135-.161-.161l-1.45-.353c-.626-.152-1.08-.625-1.278-1.172a6.576 6.576 0 0 0-.248-.6 1.833 1.833 0 0 1 .074-1.734l.776-1.274c.06-.098.036-.186 0-.228a9.774 9.774 0 0 0-.976-.976c-.042-.036-.131-.06-.228 0l-1.275.776a1.831 1.831 0 0 1-1.733.074 6.88 6.88 0 0 0-.6-.249 1.835 1.835 0 0 1-1.173-1.278l-.351-1.45c-.027-.11-.107-.156-.162-.16a9.63 9.63 0 0 0-1.38 0Z\"\n }))\n }\n };\n});\nvar GiftIcon = /*#__PURE__*/createIconComponent(\"GiftIcon\", \"octicon octicon-gift\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 3.75A3.75 3.75 0 0 1 7.5 0c1.455 0 3.436.901 4.5 3.11C13.064.901 15.044 0 16.5 0a3.75 3.75 0 0 1 3 6h1.75c.966 0 1.75.784 1.75 1.75v2.5c0 .698-.409 1.301-1 1.582v8.418A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25v-8.418c-.591-.282-1-.884-1-1.582v-2.5C1 6.784 1.784 6 2.75 6H4.5a3.733 3.733 0 0 1-.75-2.25ZM20.5 12h-7.75v8.5h7.5a.25.25 0 0 0 .25-.25Zm-9.25 8.5V12H3.5v8.25c0 .138.112.25.25.25Zm10-10a.25.25 0 0 0 .25-.25v-2.5a.25.25 0 0 0-.25-.25h-8.5v3Zm-18.5 0h8.5v-3h-8.5a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25Zm16-6.75A2.25 2.25 0 0 0 16.5 1.5c-1.15 0-3.433 1.007-3.72 4.5h3.72a2.25 2.25 0 0 0 2.25-2.25ZM11.22 6c-.287-3.493-2.57-4.5-3.72-4.5a2.25 2.25 0 1 0 0 4.5Z\"\n })\n }\n };\n});\nvar GitBranchIcon = /*#__PURE__*/createIconComponent(\"GitBranchIcon\", \"octicon octicon-git-branch\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 4.75a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM2.5 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm0-14.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM5.75 6.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 6.5Zm0 14.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 21Zm12.5-14.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 18.25 6.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.75 16.75A.75.75 0 0 1 5 16V8a.75.75 0 0 1 1.5 0v8a.75.75 0 0 1-.75.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.5 8.75v-1H19v1a3.75 3.75 0 0 1-3.75 3.75h-7a1.75 1.75 0 0 0-1.75 1.75H5A3.25 3.25 0 0 1 8.25 11h7a2.25 2.25 0 0 0 2.25-2.25Z\"\n }))\n }\n };\n});\nvar GitCommitIcon = /*#__PURE__*/createIconComponent(\"GitCommitIcon\", \"octicon octicon-git-commit\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.944 11h4.306a.75.75 0 0 1 0 1.5h-4.306a5.001 5.001 0 0 1-9.888 0H2.75a.75.75 0 0 1 0-1.5h4.306a5.001 5.001 0 0 1 9.888 0Zm-1.444.75a3.5 3.5 0 1 0-7 0 3.5 3.5 0 0 0 7 0Z\"\n })\n }\n };\n});\nvar GitCompareIcon = /*#__PURE__*/createIconComponent(\"GitCompareIcon\", \"octicon octicon-git-compare\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM6 12v-1.646a.25.25 0 0 1 .427-.177l2.396 2.396a.25.25 0 0 1 0 .354l-2.396 2.396A.25.25 0 0 1 6 15.146V13.5H5A2.5 2.5 0 0 1 2.5 11V5.372a2.25 2.25 0 1 1 1.5 0V11a1 1 0 0 0 1 1ZM4 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0ZM12.75 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.5 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm3.25-1.75a1.75 1.75 0 1 0 .001 3.501 1.75 1.75 0 0 0-.001-3.501Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.905 1.72a.75.75 0 0 1 0 1.06L12.685 4h4.065a3.75 3.75 0 0 1 3.75 3.75v8.75a.75.75 0 0 1-1.5 0V7.75a2.25 2.25 0 0 0-2.25-2.25h-4.064l1.22 1.22a.75.75 0 0 1-1.061 1.06l-2.5-2.5a.75.75 0 0 1 0-1.06l2.5-2.5a.75.75 0 0 1 1.06 0ZM7.5 4.75a3.25 3.25 0 1 1-6.5 0 3.25 3.25 0 0 1 6.5 0ZM4.25 6.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 4.25 6.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.095 22.28a.75.75 0 0 1 0-1.06l1.22-1.22H7.25a3.75 3.75 0 0 1-3.75-3.75V7.5a.75.75 0 0 1 1.5 0v8.75a2.25 2.25 0 0 0 2.25 2.25h4.064l-1.22-1.22a.748.748 0 0 1 .332-1.265.75.75 0 0 1 .729.205l2.5 2.5a.75.75 0 0 1 0 1.06l-2.5 2.5a.75.75 0 0 1-1.06 0Z\"\n }))\n }\n };\n});\nvar GitMergeIcon = /*#__PURE__*/createIconComponent(\"GitMergeIcon\", \"octicon octicon-git-merge\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.45 5.154A4.25 4.25 0 0 0 9.25 7.5h1.378a2.251 2.251 0 1 1 0 1.5H9.25A5.734 5.734 0 0 1 5 7.123v3.505a2.25 2.25 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.95-.218ZM4.25 13.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm8.5-4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM5 3.25a.75.75 0 1 0 0 .005V3.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 13.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm-12.5 6a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm0-14.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM5.75 6.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 6.5Zm0 14.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 21Zm12.5-6a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 18.25 15Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.5 7.25c0 2.9 2.35 5.25 5.25 5.25h4.5V14h-4.5A6.75 6.75 0 0 1 5 7.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.75 16.75A.75.75 0 0 1 5 16V8a.75.75 0 0 1 1.5 0v8a.75.75 0 0 1-.75.75Z\"\n }))\n }\n };\n});\nvar GitMergeQueueIcon = /*#__PURE__*/createIconComponent(\"GitMergeQueueIcon\", \"octicon octicon-git-merge-queue\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 4.5a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM3 7.75a.75.75 0 0 1 1.5 0v2.878a2.251 2.251 0 1 1-1.5 0Zm.75 5.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm5-7.75a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm5.75 2.5a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0Zm-1.5 0a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.75 6.5a1.75 1.75 0 1 1 .001-3.501A1.75 1.75 0 0 1 5.75 6.5ZM9.5 8.75a1.75 1.75 0 1 1 3.501.001A1.75 1.75 0 0 1 9.5 8.75ZM5.75 22.5a3.25 3.25 0 0 1-.745-6.414A.81.81 0 0 1 5 16v-5a.75.75 0 0 1 1.5 0v5a.81.81 0 0 1-.005.086A3.252 3.252 0 0 1 5.75 22.5ZM4 19.25a1.75 1.75 0 1 0 3.501-.001A1.75 1.75 0 0 0 4 19.25Zm11-6.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm3.25 1.75a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5Z\"\n })\n }\n };\n});\nvar GitPullRequestIcon = /*#__PURE__*/createIconComponent(\"GitPullRequestIcon\", \"octicon octicon-git-pull-request\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm-14.5 0a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm0-14.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM4.75 3a1.75 1.75 0 1 0 .001 3.501A1.75 1.75 0 0 0 4.75 3Zm0 14.5a1.75 1.75 0 1 0 .001 3.501A1.75 1.75 0 0 0 4.75 17.5Zm14.5 0a1.75 1.75 0 1 0 .001 3.501 1.75 1.75 0 0 0-.001-3.501Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.405 1.72a.75.75 0 0 1 0 1.06L12.185 4h4.065A3.75 3.75 0 0 1 20 7.75v8.75a.75.75 0 0 1-1.5 0V7.75a2.25 2.25 0 0 0-2.25-2.25h-4.064l1.22 1.22a.75.75 0 0 1-1.061 1.06l-2.5-2.5a.75.75 0 0 1 0-1.06l2.5-2.5a.75.75 0 0 1 1.06 0ZM4.75 7.25A.75.75 0 0 1 5.5 8v8A.75.75 0 0 1 4 16V8a.75.75 0 0 1 .75-.75Z\"\n }))\n }\n };\n});\nvar GitPullRequestClosedIcon = /*#__PURE__*/createIconComponent(\"GitPullRequestClosedIcon\", \"octicon octicon-git-pull-request-closed\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.25 1A2.25 2.25 0 0 1 4 5.372v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.251 2.251 0 0 1 3.25 1Zm9.5 5.5a.75.75 0 0 1 .75.75v3.378a2.251 2.251 0 1 1-1.5 0V7.25a.75.75 0 0 1 .75-.75Zm-2.03-5.273a.75.75 0 0 1 1.06 0l.97.97.97-.97a.748.748 0 0 1 1.265.332.75.75 0 0 1-.205.729l-.97.97.97.97a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-.97-.97-.97.97a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l.97-.97-.97-.97a.75.75 0 0 1 0-1.06ZM2.5 3.25a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0ZM3.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm9.5 0a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.266 2.711a.75.75 0 1 0-1.061-1.06l-1.983 1.983-1.984-1.983a.75.75 0 1 0-1.06 1.06l1.983 1.983-1.983 1.984a.75.75 0 0 0 1.06 1.06l1.984-1.983 1.983 1.983a.75.75 0 0 0 1.06-1.06l-1.983-1.984 1.984-1.983ZM4.75 1.5a3.25 3.25 0 0 1 .745 6.414A.827.827 0 0 1 5.5 8v8a.827.827 0 0 1-.005.086A3.25 3.25 0 0 1 4.75 22.5a3.25 3.25 0 0 1-.745-6.414A.827.827 0 0 1 4 16V8c0-.029.002-.057.005-.086A3.25 3.25 0 0 1 4.75 1.5ZM16 19.25a3.252 3.252 0 0 1 2.5-3.163V9.625a.75.75 0 0 1 1.5 0v6.462a3.252 3.252 0 0 1-.75 6.413A3.25 3.25 0 0 1 16 19.25ZM3 4.75a1.75 1.75 0 1 0 3.501-.001A1.75 1.75 0 0 0 3 4.75Zm0 14.5a1.75 1.75 0 1 0 3.501-.001A1.75 1.75 0 0 0 3 19.25Zm16.25-1.75a1.75 1.75 0 1 0 .001 3.501 1.75 1.75 0 0 0-.001-3.501Z\"\n })\n }\n };\n});\nvar GitPullRequestDraftIcon = /*#__PURE__*/createIconComponent(\"GitPullRequestDraftIcon\", \"octicon octicon-git-pull-request-draft\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.25 1A2.25 2.25 0 0 1 4 5.372v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.251 2.251 0 0 1 3.25 1Zm9.5 14a2.25 2.25 0 1 1 0-4.5 2.25 2.25 0 0 1 0 4.5ZM2.5 3.25a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0ZM3.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm9.5 0a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM14 7.5a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm0-4.25a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.75 1.5a3.25 3.25 0 0 1 .745 6.414A.827.827 0 0 1 5.5 8v8a.827.827 0 0 1-.005.086A3.25 3.25 0 0 1 4.75 22.5a3.25 3.25 0 0 1-.745-6.414A.827.827 0 0 1 4 16V8c0-.029.002-.057.005-.086A3.25 3.25 0 0 1 4.75 1.5ZM16 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM3 4.75a1.75 1.75 0 1 0 3.501-.001A1.75 1.75 0 0 0 3 4.75Zm0 14.5a1.75 1.75 0 1 0 3.501-.001A1.75 1.75 0 0 0 3 19.25Zm16.25-1.75a1.75 1.75 0 1 0 .001 3.501 1.75 1.75 0 0 0-.001-3.501Zm0-11.5a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5ZM21 11.25a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0Z\"\n })\n }\n };\n});\nvar GlobeIcon = /*#__PURE__*/createIconComponent(\"GlobeIcon\", \"octicon octicon-globe\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1Zm3.241 10.5v-.001c-.1-2.708-.992-4.904-1.89-6.452a13.919 13.919 0 0 0-1.304-1.88L12 3.11l-.047.059c-.354.425-.828 1.06-1.304 1.88-.898 1.547-1.79 3.743-1.89 6.451Zm-12.728 0h4.745c.1-3.037 1.1-5.49 2.093-7.204.39-.672.78-1.233 1.119-1.673C6.11 3.329 2.746 7 2.513 11.5Zm18.974 0C21.254 7 17.89 3.329 13.53 2.623c.339.44.729 1.001 1.119 1.673.993 1.714 1.993 4.167 2.093 7.204ZM8.787 13c.182 2.478 1.02 4.5 1.862 5.953.382.661.818 1.29 1.304 1.88l.047.057.047-.059c.354-.425.828-1.06 1.304-1.88.842-1.451 1.679-3.471 1.862-5.951Zm-1.504 0H2.552a9.505 9.505 0 0 0 7.918 8.377 15.773 15.773 0 0 1-1.119-1.673C8.413 18.085 7.47 15.807 7.283 13Zm9.434 0c-.186 2.807-1.13 5.085-2.068 6.704-.39.672-.78 1.233-1.118 1.673A9.506 9.506 0 0 0 21.447 13Z\"\n })\n }\n };\n});\nvar GoalIcon = /*#__PURE__*/createIconComponent(\"GoalIcon\", \"octicon octicon-goal\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.637 2.363h-.001l1.676.335c.09.018.164.084.19.173a.25.25 0 0 1-.062.249l-1.373 1.374a.876.876 0 0 1-.619.256H12.31L9.45 7.611A1.5 1.5 0 1 1 6.5 8a1.501 1.501 0 0 1 1.889-1.449l2.861-2.862V2.552c0-.232.092-.455.256-.619L12.88.559a.25.25 0 0 1 .249-.062c.089.026.155.1.173.19Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 8a6 6 0 1 0 11.769-1.656.751.751 0 1 1 1.442-.413 7.502 7.502 0 0 1-12.513 7.371A7.501 7.501 0 0 1 10.069.789a.75.75 0 0 1-.413 1.442A6.001 6.001 0 0 0 2 8Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 8a3.002 3.002 0 0 0 4.699 2.476 3 3 0 0 0 1.28-2.827.748.748 0 0 1 1.045-.782.75.75 0 0 1 .445.61A4.5 4.5 0 1 1 8.516 3.53a.75.75 0 1 1-.17 1.49A3 3 0 0 0 5 8Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.172 6.75h-1.861l-4.566 4.564a1.874 1.874 0 1 1-1.06-1.06l4.565-4.565V3.828a.94.94 0 0 1 .275-.664l1.73-1.73a.249.249 0 0 1 .25-.063c.089.026.155.1.173.191l.46 2.301 2.3.46c.09.018.164.084.19.173a.25.25 0 0 1-.062.249l-1.731 1.73a.937.937 0 0 1-.663.275Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.625 12A9.375 9.375 0 0 0 12 21.375 9.375 9.375 0 0 0 21.375 12c0-.898-.126-1.766-.361-2.587A.75.75 0 0 1 22.455 9c.274.954.42 1.96.42 3 0 6.006-4.869 10.875-10.875 10.875S1.125 18.006 1.125 12 5.994 1.125 12 1.125c1.015-.001 2.024.14 3 .419a.75.75 0 1 1-.413 1.442A9.39 9.39 0 0 0 12 2.625 9.375 9.375 0 0 0 2.625 12Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.125 12a4.874 4.874 0 1 0 9.717-.569.748.748 0 0 1 1.047-.798c.251.112.42.351.442.625a6.373 6.373 0 0 1-10.836 5.253 6.376 6.376 0 0 1 5.236-10.844.75.75 0 1 1-.17 1.49A4.876 4.876 0 0 0 7.125 12Z\"\n }))\n }\n };\n});\nvar GrabberIcon = /*#__PURE__*/createIconComponent(\"GrabberIcon\", \"octicon octicon-grabber\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm0-4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm-4 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm5-9a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM7 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6 5a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm7-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm7-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9 18a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm6 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\n })\n }\n };\n});\nvar GraphIcon = /*#__PURE__*/createIconComponent(\"GraphIcon\", \"octicon octicon-graph\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 2.75a.75.75 0 0 0-1.5 0v18.5c0 .414.336.75.75.75H20a.75.75 0 0 0 0-1.5H2.5V2.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.28 7.78a.75.75 0 0 0-1.06-1.06l-5.72 5.72-3.72-3.72a.75.75 0 0 0-1.06 0l-6 6a.75.75 0 1 0 1.06 1.06l5.47-5.47 3.72 3.72a.75.75 0 0 0 1.06 0l6.25-6.25Z\"\n }))\n }\n };\n});\nvar HashIcon = /*#__PURE__*/createIconComponent(\"HashIcon\", \"octicon octicon-hash\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.368 1.01a.75.75 0 0 1 .623.859L6.57 4.5h3.98l.46-2.868a.75.75 0 0 1 1.48.237L12.07 4.5h2.18a.75.75 0 0 1 0 1.5h-2.42l-.64 4h2.56a.75.75 0 0 1 0 1.5h-2.8l-.46 2.869a.75.75 0 0 1-1.48-.237l.42-2.632H5.45l-.46 2.869a.75.75 0 0 1-1.48-.237l.42-2.632H1.75a.75.75 0 0 1 0-1.5h2.42l.64-4H2.25a.75.75 0 0 1 0-1.5h2.8l.46-2.868a.75.75 0 0 1 .858-.622ZM9.67 10l.64-4H6.33l-.64 4Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.618 1.76a.75.75 0 0 1 .623.859L9.46 7.5h6.48l.82-5.118a.75.75 0 0 1 1.48.237L17.46 7.5h3.79a.75.75 0 0 1 0 1.5h-4.03l-.96 6h3.99a.75.75 0 0 1 0 1.5h-4.23l-.78 4.869a.75.75 0 0 1-1.48-.237l.74-4.632H8.02l-.78 4.869a.75.75 0 0 1-1.48-.237L6.5 16.5H2.745a.75.75 0 0 1 0-1.5H6.74l.96-6H3.75a.75.75 0 0 1 0-1.5h4.19l.82-5.118a.75.75 0 0 1 .858-.622ZM14.741 15l.96-6H9.22l-.96 6Z\"\n })\n }\n };\n});\nvar HeadingIcon = /*#__PURE__*/createIconComponent(\"HeadingIcon\", \"octicon octicon-heading\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 2a.75.75 0 0 1 .75.75V7h7V2.75a.75.75 0 0 1 1.5 0v10.5a.75.75 0 0 1-1.5 0V8.5h-7v4.75a.75.75 0 0 1-1.5 0V2.75A.75.75 0 0 1 3.75 2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.25 4a.75.75 0 0 1 .75.75V11h10V4.75a.75.75 0 0 1 1.5 0v14.5a.75.75 0 0 1-1.5 0V12.5H7v6.75a.75.75 0 0 1-1.5 0V4.75A.75.75 0 0 1 6.25 4Z\"\n })\n }\n };\n});\nvar HeartIcon = /*#__PURE__*/createIconComponent(\"HeartIcon\", \"octicon octicon-heart\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m12 20.703.343.667a.748.748 0 0 1-.686 0l-.003-.002-.007-.003-.025-.013a31.138 31.138 0 0 1-5.233-3.576C3.8 15.573 1 12.332 1 8.514v-.001C1 5.053 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262a31.148 31.148 0 0 1-5.233 3.576l-.025.013-.007.003-.002.001ZM6.736 4C4.657 4 2.5 5.88 2.5 8.514c0 3.107 2.324 5.96 4.861 8.12a29.655 29.655 0 0 0 4.566 3.175l.073.041.073-.04c.271-.153.661-.38 1.13-.674.94-.588 2.19-1.441 3.436-2.502 2.537-2.16 4.861-5.013 4.861-8.12C21.5 5.88 19.343 4 17.264 4c-2.106 0-3.801 1.389-4.553 3.643a.751.751 0 0 1-1.422 0C10.537 5.389 8.841 4 6.736 4Z\"\n })\n }\n };\n});\nvar HeartFillIcon = /*#__PURE__*/createIconComponent(\"HeartFillIcon\", \"octicon octicon-heart-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 20.408c-.492.308-.903.546-1.192.709-.153.086-.308.17-.463.252h-.002a.75.75 0 0 1-.686 0 16.709 16.709 0 0 1-.465-.252 31.147 31.147 0 0 1-4.803-3.34C3.8 15.572 1 12.331 1 8.513 1 5.052 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262A31.146 31.146 0 0 1 14 20.408Z\"\n })\n }\n };\n});\nvar HistoryIcon = /*#__PURE__*/createIconComponent(\"HistoryIcon\", \"octicon octicon-history\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.998 2.5A9.503 9.503 0 0 0 3.378 8H5.75a.75.75 0 0 1 0 1.5H2a1 1 0 0 1-1-1V4.75a.75.75 0 0 1 1.5 0v1.697A10.997 10.997 0 0 1 11.998 1C18.074 1 23 5.925 23 12s-4.926 11-11.002 11C6.014 23 1.146 18.223 1 12.275a.75.75 0 0 1 1.5-.037 9.5 9.5 0 0 0 9.498 9.262c5.248 0 9.502-4.253 9.502-9.5s-4.254-9.5-9.502-9.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 7.25a.75.75 0 0 0-1.5 0v5.5c0 .27.144.518.378.651l3.5 2a.75.75 0 0 0 .744-1.302L12.5 12.315V7.25Z\"\n }))\n }\n };\n});\nvar HomeIcon = /*#__PURE__*/createIconComponent(\"HomeIcon\", \"octicon octicon-home\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.906.664a1.749 1.749 0 0 1 2.187 0l5.25 4.2c.415.332.657.835.657 1.367v7.019A1.75 1.75 0 0 1 13.25 15h-3.5a.75.75 0 0 1-.75-.75V9H7v5.25a.75.75 0 0 1-.75.75h-3.5A1.75 1.75 0 0 1 1 13.25V6.23c0-.531.242-1.034.657-1.366l5.25-4.2Zm1.25 1.171a.25.25 0 0 0-.312 0l-5.25 4.2a.25.25 0 0 0-.094.196v7.019c0 .138.112.25.25.25H5.5V8.25a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 .75.75v5.25h2.75a.25.25 0 0 0 .25-.25V6.23a.25.25 0 0 0-.094-.195Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.03 2.59a1.501 1.501 0 0 1 1.94 0l7.5 6.363a1.5 1.5 0 0 1 .53 1.144V19.5a1.5 1.5 0 0 1-1.5 1.5h-5.75a.75.75 0 0 1-.75-.75V14h-2v6.25a.75.75 0 0 1-.75.75H4.5A1.5 1.5 0 0 1 3 19.5v-9.403c0-.44.194-.859.53-1.144ZM12 3.734l-7.5 6.363V19.5h5v-6.25a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 .75.75v6.25h5v-9.403Z\"\n })\n }\n };\n});\nvar HomeFillIcon = /*#__PURE__*/createIconComponent(\"HomeFillIcon\", \"octicon octicon-home-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.906.384a1.75 1.75 0 0 1 2.187 0l5.25 4.2c.415.332.657.835.657 1.367v7.019a1.75 1.75 0 0 1-1.75 1.75h-2.5a.75.75 0 0 1-.75-.75V8.72H6v5.25a.75.75 0 0 1-.75.75h-2.5A1.75 1.75 0 0 1 1 12.97V5.95c0-.531.242-1.034.657-1.366l5.249-4.2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.97 2.59a1.5 1.5 0 0 0-1.94 0l-7.5 6.363A1.5 1.5 0 0 0 3 10.097V19.5A1.5 1.5 0 0 0 4.5 21h4.75a.75.75 0 0 0 .75-.75V14h4v6.25c0 .414.336.75.75.75h4.75a1.5 1.5 0 0 0 1.5-1.5v-9.403a1.5 1.5 0 0 0-.53-1.144l-7.5-6.363Z\"\n })\n }\n };\n});\nvar HorizontalRuleIcon = /*#__PURE__*/createIconComponent(\"HorizontalRuleIcon\", \"octicon octicon-horizontal-rule\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 7.75A.75.75 0 0 1 .75 7h14.5a.75.75 0 0 1 0 1.5H.75A.75.75 0 0 1 0 7.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 12.75a.75.75 0 0 1 .75-.75h18.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75Z\"\n })\n }\n };\n});\nvar HourglassIcon = /*#__PURE__*/createIconComponent(\"HourglassIcon\", \"octicon octicon-hourglass\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.75 1h10.5a.75.75 0 0 1 0 1.5h-.75v1.25a4.75 4.75 0 0 1-1.9 3.8l-.333.25a.25.25 0 0 0 0 .4l.333.25a4.75 4.75 0 0 1 1.9 3.8v1.25h.75a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5h.75v-1.25a4.75 4.75 0 0 1 1.9-3.8l.333-.25a.25.25 0 0 0 0-.4L5.4 7.55a4.75 4.75 0 0 1-1.9-3.8V2.5h-.75a.75.75 0 0 1 0-1.5ZM11 2.5H5v1.25c0 1.023.482 1.986 1.3 2.6l.333.25c.934.7.934 2.1 0 2.8l-.333.25a3.251 3.251 0 0 0-1.3 2.6v1.25h6v-1.25a3.251 3.251 0 0 0-1.3-2.6l-.333-.25a1.748 1.748 0 0 1 0-2.8l.333-.25a3.251 3.251 0 0 0 1.3-2.6Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.75 2h14.5a.75.75 0 0 1 0 1.5h-.75v2.982a4.75 4.75 0 0 1-2.215 4.017l-2.044 1.29a.25.25 0 0 0 0 .422l2.044 1.29a4.75 4.75 0 0 1 2.215 4.017V20.5h.75a.75.75 0 0 1 0 1.5H4.75a.75.75 0 0 1 0-1.5h.75v-2.982a4.75 4.75 0 0 1 2.215-4.017l2.044-1.29a.25.25 0 0 0 0-.422l-2.044-1.29A4.75 4.75 0 0 1 5.5 6.482V3.5h-.75a.75.75 0 0 1 0-1.5ZM17 3.5H7v2.982A3.25 3.25 0 0 0 8.516 9.23l2.044 1.29a1.75 1.75 0 0 1 0 2.96l-2.044 1.29A3.25 3.25 0 0 0 7 17.518V20.5h10v-2.982a3.25 3.25 0 0 0-1.516-2.748l-2.044-1.29a1.75 1.75 0 0 1 0-2.96l2.044-1.29A3.25 3.25 0 0 0 17 6.482Z\"\n })\n }\n };\n});\nvar HubotIcon = /*#__PURE__*/createIconComponent(\"HubotIcon\", \"octicon octicon-hubot\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8a8 8 0 0 1 16 0v5.25a.75.75 0 0 1-1.5 0V8a6.5 6.5 0 1 0-13 0v5.25a.75.75 0 0 1-1.5 0Zm3-1.25C3 5.784 3.784 5 4.75 5h6.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0 1 11.25 10h-6.5A1.75 1.75 0 0 1 3 8.25Zm1.47-.53a.75.75 0 0 0 0 1.06l1.5 1.5a.75.75 0 0 0 1.06 0L8 7.81l.97.97a.75.75 0 0 0 1.06 0l1.5-1.5a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215l-.97.97-.97-.97a.75.75 0 0 0-1.06 0l-.97.97-.97-.97a.75.75 0 0 0-1.06 0Zm1.03 6.03a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 13C0 6.373 5.373 1 12 1s12 5.373 12 12v8.657a.75.75 0 0 1-1.5 0V13c0-5.799-4.701-10.5-10.5-10.5S1.5 7.201 1.5 13v8.657a.75.75 0 0 1-1.5 0V13Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 19.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75ZM5.25 9.5h13.5c.966 0 1.75.784 1.75 1.75v3.5a1.75 1.75 0 0 1-1.75 1.75H5.25a1.75 1.75 0 0 1-1.75-1.75v-3.5c0-.966.784-1.75 1.75-1.75Zm.22 1.47a.75.75 0 0 0 0 1.06l3 3a.75.75 0 0 0 1.06 0L12 12.56l2.47 2.47a.75.75 0 0 0 1.06 0l3-3a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L15 13.44l-2.47-2.47a.75.75 0 0 0-1.06 0L9 13.44l-2.47-2.47a.75.75 0 0 0-1.06 0Z\"\n }))\n }\n };\n});\nvar IdBadgeIcon = /*#__PURE__*/createIconComponent(\"IdBadgeIcon\", \"octicon octicon-id-badge\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-3Zm10 .25a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1 0-1.5h4.5a.75.75 0 0 1 .75.75ZM10.25 11a.75.75 0 0 0 0-1.5h-2.5a.75.75 0 0 0 0 1.5h2.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.25 0h1.5c.966 0 1.75.784 1.75 1.75V3h3.75c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25v-8.5C0 3.784.784 3 1.75 3H5.5V1.75C5.5.784 6.284 0 7.25 0Zm3.232 4.5A1.75 1.75 0 0 1 8.75 6h-1.5a1.75 1.75 0 0 1-1.732-1.5H1.75a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25ZM7 1.75v2.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 9 4.25v-2.5a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 11.75a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75Zm0 2.525a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75ZM6.5 10a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-3Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.75 2A1.75 1.75 0 0 0 9 3.75V6H3.75A1.75 1.75 0 0 0 2 7.75v10.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0 0 22 18.25V7.75A1.75 1.75 0 0 0 20.25 6H15V3.75A1.75 1.75 0 0 0 13.25 2h-2.5Zm-.25 1.75a.25.25 0 0 1 .25-.25h2.5a.25.25 0 0 1 .25.25v3.5a.25.25 0 0 1-.25.25h-2.5a.25.25 0 0 1-.25-.25v-3.5Zm4.482 3.75A1.75 1.75 0 0 1 13.25 9h-2.5a1.75 1.75 0 0 1-1.732-1.5H3.75a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V7.75a.25.25 0 0 0-.25-.25h-5.268Z\"\n }))\n }\n };\n});\nvar ImageIcon = /*#__PURE__*/createIconComponent(\"ImageIcon\", \"octicon octicon-image\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 13.25A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25V2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75ZM1.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h.94l.03-.03 6.077-6.078a1.75 1.75 0 0 1 2.412-.06L14.5 10.31V2.75a.25.25 0 0 0-.25-.25Zm12.5 11a.25.25 0 0 0 .25-.25v-.917l-4.298-3.889a.25.25 0 0 0-.344.009L4.81 13.5ZM7 6a2 2 0 1 1-3.999.001A2 2 0 0 1 7 6ZM5.5 6a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.75 3h14.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 19.25 21H4.75A1.75 1.75 0 0 1 3 19.25V4.75C3 3.784 3.784 3 4.75 3Zm14.5 1.5H4.75a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h.19l9.823-9.823a1.75 1.75 0 0 1 2.475 0l2.262 2.262V4.75a.25.25 0 0 0-.25-.25Zm.25 9.56-3.323-3.323a.25.25 0 0 0-.354 0L7.061 19.5H19.25a.25.25 0 0 0 .25-.25ZM8.5 11a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Zm0-1.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n })\n }\n };\n});\nvar InboxIcon = /*#__PURE__*/createIconComponent(\"InboxIcon\", \"octicon octicon-inbox\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.8 2.06A1.75 1.75 0 0 1 4.41 1h7.18c.7 0 1.333.417 1.61 1.06l2.74 6.395c.04.093.06.194.06.295v4.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25v-4.5c0-.101.02-.202.06-.295Zm1.61.44a.25.25 0 0 0-.23.152L1.887 8H4.75a.75.75 0 0 1 .6.3L6.625 10h2.75l1.275-1.7a.75.75 0 0 1 .6-.3h2.863L11.82 2.652a.25.25 0 0 0-.23-.152Zm10.09 7h-2.875l-1.275 1.7a.75.75 0 0 1-.6.3h-3.5a.75.75 0 0 1-.6-.3L4.375 9.5H1.5v3.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.801 3.57A1.75 1.75 0 0 1 6.414 2.5h11.174c.702 0 1.337.42 1.611 1.067l3.741 8.828c.04.092.06.192.06.293v7.562A1.75 1.75 0 0 1 21.25 22H2.75A1.75 1.75 0 0 1 1 20.25v-7.5c0-.1.02-.199.059-.291L4.8 3.571ZM6.414 4a.25.25 0 0 0-.23.153L2.88 12H8a.75.75 0 0 1 .648.372L10.18 15h3.638l1.533-2.628a.75.75 0 0 1 .64-.372l5.13-.051-3.304-7.797a.25.25 0 0 0-.23-.152ZM21.5 13.445l-5.067.05-1.535 2.633a.75.75 0 0 1-.648.372h-4.5a.75.75 0 0 1-.648-.372L7.57 13.5H2.5v6.75c0 .138.112.25.25.25h18.5a.25.25 0 0 0 .25-.25Z\"\n })\n }\n };\n});\nvar InfinityIcon = /*#__PURE__*/createIconComponent(\"InfinityIcon\", \"octicon octicon-infinity\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 6.984c.59-.533 1.204-1.066 1.825-1.493.797-.548 1.7-.991 2.675-.991C14.414 4.5 16 6.086 16 8s-1.586 3.5-3.5 3.5c-.975 0-1.878-.444-2.675-.991-.621-.427-1.235-.96-1.825-1.493-.59.533-1.204 1.066-1.825 1.493-.797.547-1.7.991-2.675.991C1.586 11.5 0 9.914 0 8s1.586-3.5 3.5-3.5c.975 0 1.878.443 2.675.991.621.427 1.235.96 1.825 1.493ZM9.114 8c.536.483 1.052.922 1.56 1.273.704.483 1.3.727 1.826.727 1.086 0 2-.914 2-2 0-1.086-.914-2-2-2-.525 0-1.122.244-1.825.727-.51.35-1.025.79-1.561 1.273ZM3.5 6c-1.086 0-2 .914-2 2 0 1.086.914 2 2 2 .525 0 1.122-.244 1.825-.727.51-.35 1.025-.79 1.561-1.273-.536-.483-1.052-.922-1.56-1.273C4.621 6.244 4.025 6 3.5 6Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 11.16c.887-.933 1.813-1.865 2.78-2.6C15.952 7.668 17.267 7 18.75 7 21.657 7 24 9.615 24 12.25s-2.343 5.25-5.25 5.25c-1.483 0-2.798-.668-3.97-1.56-.967-.735-1.893-1.667-2.78-2.6-.887.933-1.813 1.865-2.78 2.6-1.172.892-2.487 1.56-3.97 1.56C2.343 17.5 0 14.885 0 12.25S2.343 7 5.25 7c1.483 0 2.798.667 3.97 1.56.967.735 1.893 1.667 2.78 2.6ZM5.25 8.5c-2.032 0-3.75 1.895-3.75 3.75S3.218 16 5.25 16c1.017 0 2.014-.457 3.062-1.253.89-.678 1.758-1.554 2.655-2.497-.897-.943-1.765-1.82-2.655-2.497C7.264 8.957 6.267 8.5 5.25 8.5Zm7.783 3.75c.897.943 1.765 1.82 2.655 2.497C16.736 15.543 17.733 16 18.75 16c2.032 0 3.75-1.895 3.75-3.75S20.782 8.5 18.75 8.5c-1.017 0-2.014.457-3.062 1.253-.89.678-1.758 1.554-2.655 2.497Z\"\n })\n }\n };\n});\nvar InfoIcon = /*#__PURE__*/createIconComponent(\"InfoIcon\", \"octicon octicon-info\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 7.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-3 3.75a.75.75 0 0 1 .75-.75h1.5a.75.75 0 0 1 .75.75v4.25h.75a.75.75 0 0 1 0 1.5h-3a.75.75 0 0 1 0-1.5h.75V12h-.75a.75.75 0 0 1-.75-.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"\n }))\n }\n };\n});\nvar IssueClosedIcon = /*#__PURE__*/createIconComponent(\"IssueClosedIcon\", \"octicon octicon-issue-closed\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.28 6.78a.75.75 0 0 0-1.06-1.06L7.25 8.69 5.78 7.22a.75.75 0 0 0-1.06 1.06l2 2a.75.75 0 0 0 1.06 0l3.5-3.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-1.5 0a6.5 6.5 0 1 0-13 0 6.5 6.5 0 0 0 13 0Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.28 9.28a.75.75 0 0 0-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l6.5-6.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"\n }))\n }\n };\n});\nvar IssueDraftIcon = /*#__PURE__*/createIconComponent(\"IssueDraftIcon\", \"octicon octicon-issue-draft\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.307 11.655a.75.75 0 0 1 .165 1.048 8.05 8.05 0 0 1-1.769 1.77.75.75 0 0 1-.883-1.214 6.552 6.552 0 0 0 1.44-1.439.75.75 0 0 1 1.047-.165Zm-2.652-9.962a.75.75 0 0 1 1.048-.165 8.05 8.05 0 0 1 1.77 1.769.75.75 0 0 1-1.214.883 6.552 6.552 0 0 0-1.439-1.44.75.75 0 0 1-.165-1.047ZM6.749.097a8.074 8.074 0 0 1 2.502 0 .75.75 0 1 1-.233 1.482 6.558 6.558 0 0 0-2.036 0A.751.751 0 0 1 6.749.097ZM.955 6.125a.75.75 0 0 1 .624.857 6.558 6.558 0 0 0 0 2.036.75.75 0 1 1-1.482.233 8.074 8.074 0 0 1 0-2.502.75.75 0 0 1 .858-.624Zm14.09 0a.75.75 0 0 1 .858.624c.13.829.13 1.673 0 2.502a.75.75 0 1 1-1.482-.233 6.558 6.558 0 0 0 0-2.036.75.75 0 0 1 .624-.857Zm-8.92 8.92a.75.75 0 0 1 .857-.624 6.558 6.558 0 0 0 2.036 0 .75.75 0 1 1 .233 1.482c-.829.13-1.673.13-2.502 0a.75.75 0 0 1-.624-.858Zm-4.432-3.39a.75.75 0 0 1 1.048.165 6.552 6.552 0 0 0 1.439 1.44.751.751 0 0 1-.883 1.212 8.05 8.05 0 0 1-1.77-1.769.75.75 0 0 1 .166-1.048Zm2.652-9.962A.75.75 0 0 1 4.18 2.74a6.556 6.556 0 0 0-1.44 1.44.751.751 0 0 1-1.212-.883 8.05 8.05 0 0 1 1.769-1.77.75.75 0 0 1 1.048.166Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.32 3.205a.75.75 0 0 1 1.046-.177 11.056 11.056 0 0 1 2.605 2.606.75.75 0 1 1-1.222.869 9.554 9.554 0 0 0-2.252-2.252.75.75 0 0 1-.177-1.046Zm3.475 14.115a.75.75 0 0 1 .176 1.046 11.07 11.07 0 0 1-2.605 2.605.75.75 0 1 1-.869-1.222 9.554 9.554 0 0 0 2.252-2.252.75.75 0 0 1 1.046-.177ZM2.018 9.543a.75.75 0 0 1 .615.864 9.571 9.571 0 0 0 0 3.186.75.75 0 1 1-1.48.25 11.07 11.07 0 0 1 0-3.686.75.75 0 0 1 .865-.614Zm7.525 12.439a.75.75 0 0 1 .864-.615 9.571 9.571 0 0 0 3.186 0 .75.75 0 1 1 .25 1.48 11.07 11.07 0 0 1-3.686 0 .75.75 0 0 1-.614-.865ZM6.68 3.205a.75.75 0 0 1-.177 1.046A9.558 9.558 0 0 0 4.25 6.503a.75.75 0 1 1-1.223-.87 11.056 11.056 0 0 1 2.606-2.605.75.75 0 0 1 1.046.177ZM3.205 17.32a.75.75 0 0 1 1.046.177 9.554 9.554 0 0 0 2.252 2.252.75.75 0 1 1-.87 1.223 11.056 11.056 0 0 1-2.605-2.606.75.75 0 0 1 .177-1.046Zm6.952-16.166a11.07 11.07 0 0 1 3.686 0 .75.75 0 0 1-.25 1.479 9.571 9.571 0 0 0-3.186 0 .75.75 0 1 1-.25-1.48Zm11.825 8.389a.75.75 0 0 1 .864.614 11.07 11.07 0 0 1 0 3.686.75.75 0 0 1-1.479-.25 9.571 9.571 0 0 0 0-3.186.75.75 0 0 1 .615-.864Z\"\n })\n }\n };\n});\nvar IssueOpenedIcon = /*#__PURE__*/createIconComponent(\"IssueOpenedIcon\", \"octicon octicon-issue-opened\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z\"\n })\n }\n };\n});\nvar IssueReopenedIcon = /*#__PURE__*/createIconComponent(\"IssueReopenedIcon\", \"octicon octicon-issue-reopened\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.029 2.217a6.5 6.5 0 0 1 9.437 5.11.75.75 0 1 0 1.492-.154 8 8 0 0 0-14.315-4.03L.427 1.927A.25.25 0 0 0 0 2.104V5.75A.25.25 0 0 0 .25 6h3.646a.25.25 0 0 0 .177-.427L2.715 4.215a6.491 6.491 0 0 1 2.314-1.998ZM1.262 8.169a.75.75 0 0 0-1.22.658 8.001 8.001 0 0 0 14.315 4.03l1.216 1.216a.25.25 0 0 0 .427-.177V10.25a.25.25 0 0 0-.25-.25h-3.646a.25.25 0 0 0-.177.427l1.358 1.358a6.501 6.501 0 0 1-11.751-3.11.75.75 0 0 0-.272-.506Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.06 9.06a1.5 1.5 0 1 1-2.12-2.12 1.5 1.5 0 0 1 2.12 2.12Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.38 8A9.502 9.502 0 0 1 12 2.5a9.502 9.502 0 0 1 9.215 7.182.75.75 0 1 0 1.456-.364C21.473 4.539 17.15 1 12 1a10.995 10.995 0 0 0-9.5 5.452V4.75a.75.75 0 0 0-1.5 0V8.5a1 1 0 0 0 1 1h3.75a.75.75 0 0 0 0-1.5H3.38Zm-.595 6.318a.75.75 0 0 0-1.455.364C2.527 19.461 6.85 23 12 23c4.052 0 7.592-2.191 9.5-5.451v1.701a.75.75 0 0 0 1.5 0V15.5a1 1 0 0 0-1-1h-3.75a.75.75 0 0 0 0 1.5h2.37A9.502 9.502 0 0 1 12 21.5c-4.446 0-8.181-3.055-9.215-7.182Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.414 13.414a2 2 0 1 1-2.828-2.828 2 2 0 0 1 2.828 2.828Z\"\n }))\n }\n };\n});\nvar IssueTrackedByIcon = /*#__PURE__*/createIconComponent(\"IssueTrackedByIcon\", \"octicon octicon-issue-tracked-by\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 8a6.5 6.5 0 0 1 13 0A.75.75 0 0 0 16 8a8 8 0 1 0-8 8 .75.75 0 0 0 0-1.5A6.5 6.5 0 0 1 1.5 8Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm3.573 5.823-2.896-2.896a.25.25 0 0 1 0-.354l2.896-2.896a.25.25 0 0 1 .427.177V11.5h3.25a.75.75 0 0 1 0 1.5H12v2.146a.25.25 0 0 1-.427.177Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2.5a9.5 9.5 0 1 0 0 19 .75.75 0 0 1 0 1.5C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11a.75.75 0 0 1-1.5 0A9.5 9.5 0 0 0 12 2.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m13.759 17.48 3.728 3.314a.308.308 0 0 0 .513-.23V18h4.25a.75.75 0 0 0 0-1.5H18v-2.564a.308.308 0 0 0-.513-.23L13.76 17.02a.308.308 0 0 0 0 .46ZM12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"\n }))\n }\n };\n});\nvar IssueTracksIcon = /*#__PURE__*/createIconComponent(\"IssueTracksIcon\", \"octicon octicon-issue-tracks\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 8a6.5 6.5 0 0 1 13 0A.75.75 0 0 0 16 8a8 8 0 1 0-8 8 .75.75 0 0 0 0-1.5A6.5 6.5 0 0 1 1.5 8Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm1.5 1.75a.75.75 0 0 1 .75-.75h5a.75.75 0 0 1 0 1.5h-5a.75.75 0 0 1-.75-.75Zm2.75 2.25a.75.75 0 0 0 0 1.5h3a.75.75 0 0 0 0-1.5h-3Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 12a9.5 9.5 0 1 1 19 0 .75.75 0 0 0 1.5 0c0-6.075-4.925-11-11-11S1 5.925 1 12s4.925 11 11 11a.75.75 0 0 0 0-1.5A9.5 9.5 0 0 1 2.5 12Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2.5 2.75a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75Zm3.75 2.75a.75.75 0 0 0 0 1.5h4a.75.75 0 0 0 0-1.5h-4Z\"\n }))\n }\n };\n});\nvar ItalicIcon = /*#__PURE__*/createIconComponent(\"ItalicIcon\", \"octicon octicon-italic\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 2.75A.75.75 0 0 1 6.75 2h6.5a.75.75 0 0 1 0 1.5h-2.505l-3.858 9H9.25a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.505l3.858-9H6.75A.75.75 0 0 1 6 2.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 4.75a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-3.514l-5.828 13h3.342a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5h3.514l5.828-13H10.75a.75.75 0 0 1-.75-.75Z\"\n })\n }\n };\n});\nvar IterationsIcon = /*#__PURE__*/createIconComponent(\"IterationsIcon\", \"octicon octicon-iterations\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 7.25a4.75 4.75 0 0 1 9.5 0 .75.75 0 0 0 1.5 0 6.25 6.25 0 1 0-6.25 6.25H12v2.146c0 .223.27.335.427.177l2.896-2.896a.25.25 0 0 0 0-.354l-2.896-2.896a.25.25 0 0 0-.427.177V12H7.25A4.75 4.75 0 0 1 2.5 7.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 10.5a8 8 0 1 1 16 0 .75.75 0 0 0 1.5 0 9.5 9.5 0 1 0-9.5 9.5h10.94l-2.72 2.72a.75.75 0 1 0 1.06 1.06l3.735-3.735c.44-.439.44-1.151 0-1.59L19.78 14.72a.75.75 0 0 0-1.06 1.06l2.72 2.72H10.5a8 8 0 0 1-8-8Z\"\n })\n }\n };\n});\nvar KebabHorizontalIcon = /*#__PURE__*/createIconComponent(\"KebabHorizontalIcon\", \"octicon octicon-kebab-horizontal\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 14a2 2 0 1 1-.001-3.999A2 2 0 0 1 20 14ZM6 12a2 2 0 1 1-3.999.001A2 2 0 0 1 6 12Zm8 0a2 2 0 1 1-3.999.001A2 2 0 0 1 14 12Z\"\n })\n }\n };\n});\nvar KeyIcon = /*#__PURE__*/createIconComponent(\"KeyIcon\", \"octicon octicon-key\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5 0a5.499 5.499 0 1 1-1.288 10.848l-.932.932a.749.749 0 0 1-.53.22H7v.75a.749.749 0 0 1-.22.53l-.5.5a.749.749 0 0 1-.53.22H5v.75a.749.749 0 0 1-.22.53l-.5.5a.749.749 0 0 1-.53.22h-2A1.75 1.75 0 0 1 0 14.25v-2c0-.199.079-.389.22-.53l4.932-4.932A5.5 5.5 0 0 1 10.5 0Zm-4 5.5c-.001.431.069.86.205 1.269a.75.75 0 0 1-.181.768L1.5 12.56v1.69c0 .138.112.25.25.25h1.69l.06-.06v-1.19a.75.75 0 0 1 .75-.75h1.19l.06-.06v-1.19a.75.75 0 0 1 .75-.75h1.19l1.023-1.025a.75.75 0 0 1 .768-.18A4 4 0 1 0 6.5 5.5ZM11 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.75 8.5a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.75 0a8.25 8.25 0 1 1-2.541 16.101l-1.636 1.636a1.744 1.744 0 0 1-1.237.513H9.25a.25.25 0 0 0-.25.25v1.448a.876.876 0 0 1-.256.619l-.214.213a.75.75 0 0 1-.545.22H5.25a.25.25 0 0 0-.25.25v1A1.75 1.75 0 0 1 3.25 24h-1.5A1.75 1.75 0 0 1 0 22.25v-2.836c0-.464.185-.908.513-1.236l7.386-7.388A8.249 8.249 0 0 1 15.75 0ZM9 8.25a6.733 6.733 0 0 0 .463 2.462.75.75 0 0 1-.168.804l-7.722 7.721a.25.25 0 0 0-.073.177v2.836c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-1c0-.966.784-1.75 1.75-1.75H7.5v-1c0-.966.784-1.75 1.75-1.75h1.086a.25.25 0 0 0 .177-.073l1.971-1.972a.75.75 0 0 1 .804-.168A6.75 6.75 0 1 0 9 8.25Z\"\n }))\n }\n };\n});\nvar KeyAsteriskIcon = /*#__PURE__*/createIconComponent(\"KeyAsteriskIcon\", \"octicon octicon-key-asterisk\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75A2.75 2.75 0 0 1 2.75 0h10.5A2.75 2.75 0 0 1 16 2.75v10.5A2.75 2.75 0 0 1 13.25 16H2.75A2.75 2.75 0 0 1 0 13.25ZM2.75 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25V2.75c0-.69-.56-1.25-1.25-1.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 4a.75.75 0 0 1 .75.75V6.7l1.69-.975a.75.75 0 0 1 .75 1.3L9.5 8l1.69.976a.75.75 0 0 1-.75 1.298L8.75 9.3v1.951a.75.75 0 0 1-1.5 0V9.299l-1.69.976a.75.75 0 0 1-.75-1.3L6.5 8l-1.69-.975a.75.75 0 0 1 .75-1.3l1.69.976V4.75A.75.75 0 0 1 8 4Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.75 8a.75.75 0 0 0-1.5 0v2.701l-2.34-1.35a.75.75 0 0 0-.75 1.298L10.5 12l-2.34 1.35a.75.75 0 1 0 .75 1.3l2.34-1.35V16a.75.75 0 0 0 1.5 0v-2.701l2.34 1.35a.75.75 0 0 0 .75-1.298L13.5 12l2.34-1.35a.75.75 0 0 0-.75-1.3l-2.34 1.351V8Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H3.75Z\"\n }))\n }\n };\n});\nvar LawIcon = /*#__PURE__*/createIconComponent(\"LawIcon\", \"octicon octicon-law\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.75 2.75V4.5h1.975c.351 0 .694.106.984.303l1.697 1.154c.041.028.09.043.14.043h4.102a.75.75 0 0 1 0 1.5H20.07l3.366 7.68a.749.749 0 0 1-.23.896c-.1.074-.203.143-.31.206a6.296 6.296 0 0 1-.79.399 7.349 7.349 0 0 1-2.856.569 7.343 7.343 0 0 1-2.855-.568 6.205 6.205 0 0 1-.79-.4 3.205 3.205 0 0 1-.307-.202l-.005-.004a.749.749 0 0 1-.23-.896l3.368-7.68h-.886c-.351 0-.694-.106-.984-.303l-1.697-1.154a.246.246 0 0 0-.14-.043H12.75v14.5h4.487a.75.75 0 0 1 0 1.5H6.763a.75.75 0 0 1 0-1.5h4.487V6H9.275a.249.249 0 0 0-.14.043L7.439 7.197c-.29.197-.633.303-.984.303h-.886l3.368 7.68a.75.75 0 0 1-.209.878c-.08.065-.16.126-.31.223a6.077 6.077 0 0 1-.792.433 6.924 6.924 0 0 1-2.876.62 6.913 6.913 0 0 1-2.876-.62 6.077 6.077 0 0 1-.792-.433 3.483 3.483 0 0 1-.309-.221.762.762 0 0 1-.21-.88L3.93 7.5H2.353a.75.75 0 0 1 0-1.5h4.102c.05 0 .099-.015.141-.043l1.695-1.154c.29-.198.634-.303.985-.303h1.974V2.75a.75.75 0 0 1 1.5 0ZM2.193 15.198a5.414 5.414 0 0 0 2.557.635 5.414 5.414 0 0 0 2.557-.635L4.75 9.368Zm14.51-.024c.082.04.174.083.275.126.53.223 1.305.45 2.272.45a5.847 5.847 0 0 0 2.547-.576L19.25 9.367Z\"\n })\n }\n };\n});\nvar LightBulbIcon = /*#__PURE__*/createIconComponent(\"LightBulbIcon\", \"octicon octicon-light-bulb\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2.5c-3.81 0-6.5 2.743-6.5 6.119 0 1.536.632 2.572 1.425 3.56.172.215.347.422.527.635l.096.112c.21.25.427.508.63.774.404.531.783 1.128.995 1.834a.75.75 0 0 1-1.436.432c-.138-.46-.397-.89-.753-1.357a18.111 18.111 0 0 0-.582-.714l-.092-.11c-.18-.212-.37-.436-.555-.667C4.87 12.016 4 10.651 4 8.618 4 4.363 7.415 1 12 1s8 3.362 8 7.619c0 2.032-.87 3.397-1.755 4.5-.185.23-.375.454-.555.667l-.092.109c-.21.248-.405.481-.582.714-.356.467-.615.898-.753 1.357a.751.751 0 0 1-1.437-.432c.213-.706.592-1.303.997-1.834.202-.266.419-.524.63-.774l.095-.112c.18-.213.355-.42.527-.634.793-.99 1.425-2.025 1.425-3.561C18.5 5.243 15.81 2.5 12 2.5ZM8.75 18h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5Zm.75 3.75a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75Z\"\n })\n }\n };\n});\nvar LinkIcon = /*#__PURE__*/createIconComponent(\"LinkIcon\", \"octicon octicon-link\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.78 3.653a3.936 3.936 0 1 1 5.567 5.567l-3.627 3.627a3.936 3.936 0 0 1-5.88-.353.75.75 0 0 0-1.18.928 5.436 5.436 0 0 0 8.12.486l3.628-3.628a5.436 5.436 0 1 0-7.688-7.688l-3 3a.75.75 0 0 0 1.06 1.061l3-3Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.28 11.153a3.936 3.936 0 0 1 5.88.353.75.75 0 0 0 1.18-.928 5.436 5.436 0 0 0-8.12-.486L2.592 13.72a5.436 5.436 0 1 0 7.688 7.688l3-3a.75.75 0 1 0-1.06-1.06l-3 3a3.936 3.936 0 0 1-5.567-5.568l3.627-3.627Z\"\n }))\n }\n };\n});\nvar LinkExternalIcon = /*#__PURE__*/createIconComponent(\"LinkExternalIcon\", \"octicon octicon-link-external\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.5 2.25a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V4.06l-6.22 6.22a.75.75 0 1 1-1.06-1.06L19.94 3h-3.69a.75.75 0 0 1-.75-.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 4.25c0-.966.784-1.75 1.75-1.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.25.25 0 0 0-.25.25v15.5c0 .138.112.25.25.25h15.5a.25.25 0 0 0 .25-.25v-8.5a.75.75 0 0 1 1.5 0v8.5a1.75 1.75 0 0 1-1.75 1.75H4.25a1.75 1.75 0 0 1-1.75-1.75V4.25Z\"\n }))\n }\n };\n});\nvar ListOrderedIcon = /*#__PURE__*/createIconComponent(\"ListOrderedIcon\", \"octicon octicon-list-ordered\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 3.25a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 5 3.25Zm0 5a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 5 8.25Zm0 5a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75ZM.924 10.32a.5.5 0 0 1-.851-.525l.001-.001.001-.002.002-.004.007-.011c.097-.144.215-.273.348-.384.228-.19.588-.392 1.068-.392.468 0 .858.181 1.126.484.259.294.377.673.377 1.038 0 .987-.686 1.495-1.156 1.845l-.047.035c-.303.225-.522.4-.654.597h1.357a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5c0-1.005.692-1.52 1.167-1.875l.035-.025c.531-.396.8-.625.8-1.078a.57.57 0 0 0-.128-.376C1.806 10.068 1.695 10 1.5 10a.658.658 0 0 0-.429.163.835.835 0 0 0-.144.153ZM2.003 2.5V6h.503a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1h.503V3.308l-.28.14a.5.5 0 0 1-.446-.895l1.003-.5a.5.5 0 0 1 .723.447Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.604 3.089A.75.75 0 0 1 4 3.75V8.5h.75a.75.75 0 0 1 0 1.5h-3a.75.75 0 1 1 0-1.5h.75V5.151l-.334.223a.75.75 0 0 1-.832-1.248l1.5-1a.75.75 0 0 1 .77-.037ZM8.75 5.5a.75.75 0 0 0 0 1.5h11.5a.75.75 0 0 0 0-1.5H8.75Zm0 6a.75.75 0 0 0 0 1.5h11.5a.75.75 0 0 0 0-1.5H8.75Zm0 6a.75.75 0 0 0 0 1.5h11.5a.75.75 0 0 0 0-1.5H8.75ZM5.5 15.75c0-.704-.271-1.286-.72-1.686a2.302 2.302 0 0 0-1.53-.564c-.535 0-1.094.178-1.53.565-.449.399-.72.982-.72 1.685a.75.75 0 0 0 1.5 0c0-.296.104-.464.217-.564A.805.805 0 0 1 3.25 15c.215 0 .406.072.533.185.113.101.217.268.217.565 0 .332-.069.48-.21.657-.092.113-.216.24-.403.419l-.147.14c-.152.144-.33.313-.52.504l-1.5 1.5a.75.75 0 0 0-.22.53v.25c0 .414.336.75.75.75H5A.75.75 0 0 0 5 19H3.31l.47-.47c.176-.176.333-.324.48-.465l.165-.156a5.98 5.98 0 0 0 .536-.566c.358-.447.539-.925.539-1.593Z\"\n })\n }\n };\n});\nvar ListUnorderedIcon = /*#__PURE__*/createIconComponent(\"ListUnorderedIcon\", \"octicon octicon-list-unordered\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.75 2.5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5ZM2 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM2 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.75 5.5h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1 0-1.5Zm0 6h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1 0-1.5Zm0 6h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1 0-1.5ZM5 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM4 7a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm0 12a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\n })\n }\n };\n});\nvar LocationIcon = /*#__PURE__*/createIconComponent(\"LocationIcon\", \"octicon octicon-location\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m12.596 11.596-3.535 3.536a1.5 1.5 0 0 1-2.122 0l-3.535-3.536a6.5 6.5 0 1 1 9.192-9.193 6.5 6.5 0 0 1 0 9.193Zm-1.06-8.132v-.001a5 5 0 1 0-7.072 7.072L8 14.07l3.536-3.534a5 5 0 0 0 0-7.072ZM8 9a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 9Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 13.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.071 3.429h.001c3.905 3.905 3.905 10.237 0 14.142l-5.403 5.403a2.36 2.36 0 0 1-3.336 0l-5.375-5.375-.028-.028c-3.905-3.905-3.905-10.237 0-14.142 3.904-3.905 10.236-3.905 14.141 0ZM5.99 4.489v.001a8.5 8.5 0 0 0 0 12.02l.023.024.002.002 5.378 5.378a.859.859 0 0 0 1.214 0l5.403-5.404a8.5 8.5 0 0 0-.043-11.977A8.5 8.5 0 0 0 5.99 4.489Z\"\n }))\n }\n };\n});\nvar LockIcon = /*#__PURE__*/createIconComponent(\"LockIcon\", \"octicon octicon-lock\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 9V7.25C6 3.845 8.503 1 12 1s6 2.845 6 6.25V9h.5a2.5 2.5 0 0 1 2.5 2.5v8a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-8A2.5 2.5 0 0 1 5.5 9Zm-1.5 2.5v8a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1h-13a1 1 0 0 0-1 1Zm3-4.25V9h9V7.25c0-2.67-1.922-4.75-4.5-4.75-2.578 0-4.5 2.08-4.5 4.75Z\"\n })\n }\n };\n});\nvar LogIcon = /*#__PURE__*/createIconComponent(\"LogIcon\", \"octicon octicon-log\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 8.25a.75.75 0 0 1 .75-.75h4a.75.75 0 0 1 0 1.5h-4A.75.75 0 0 1 5 8.25ZM4 10.5A.75.75 0 0 0 4 12h4a.75.75 0 0 0 0-1.5H4Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13-.005c1.654 0 3 1.328 3 3 0 .982-.338 1.933-.783 2.818-.443.879-1.028 1.758-1.582 2.588l-.011.017c-.568.853-1.104 1.659-1.501 2.446-.398.789-.623 1.494-.623 2.136a1.5 1.5 0 1 0 2.333-1.248.75.75 0 0 1 .834-1.246A3 3 0 0 1 13 16H3a3 3 0 0 1-3-3c0-1.582.891-3.135 1.777-4.506.209-.322.418-.637.623-.946.473-.709.923-1.386 1.287-2.048H2.51c-.576 0-1.381-.133-1.907-.783A2.68 2.68 0 0 1 0 2.995a3 3 0 0 1 3-3Zm0 1.5a1.5 1.5 0 0 0-1.5 1.5c0 .476.223.834.667 1.132A.75.75 0 0 1 11.75 5.5H5.368c-.467 1.003-1.141 2.015-1.773 2.963-.192.289-.381.571-.558.845C2.13 10.711 1.5 11.916 1.5 13A1.5 1.5 0 0 0 3 14.5h7.401A2.989 2.989 0 0 1 10 13c0-.979.338-1.928.784-2.812.441-.874 1.023-1.748 1.575-2.576l.017-.026c.568-.853 1.103-1.658 1.501-2.448.398-.79.623-1.497.623-2.143 0-.838-.669-1.5-1.5-1.5Zm-10 0a1.5 1.5 0 0 0-1.5 1.5c0 .321.1.569.27.778.097.12.325.227.74.227h7.674A2.737 2.737 0 0 1 10 2.995c0-.546.146-1.059.401-1.5Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.197 10a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Zm-2.382 4a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Zm-1.581 4a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.125 0h15.75a4.11 4.11 0 0 1 2.92 1.205A4.11 4.11 0 0 1 24 4.125c0 1.384-.476 2.794-1.128 4.16-.652 1.365-1.515 2.757-2.352 4.104l-.008.013c-.849 1.368-1.669 2.691-2.28 3.97-.614 1.283-.982 2.45-.982 3.503a2.625 2.625 0 1 0 4.083-2.183.75.75 0 1 1 .834-1.247A4.126 4.126 0 0 1 19.875 24H4.5a4.125 4.125 0 0 1-4.125-4.125c0-2.234 1.258-4.656 2.59-6.902.348-.586.702-1.162 1.05-1.728.8-1.304 1.567-2.553 2.144-3.738H3.39c-.823 0-1.886-.193-2.567-1.035A3.647 3.647 0 0 1 0 4.125 4.125 4.125 0 0 1 4.125 0ZM15.75 19.875c0-1.38.476-2.786 1.128-4.15.649-1.358 1.509-2.743 2.343-4.086l.017-.028c.849-1.367 1.669-2.692 2.28-3.972.614-1.285.982-2.457.982-3.514A2.615 2.615 0 0 0 19.875 1.5a2.625 2.625 0 0 0-2.625 2.625c0 .865.421 1.509 1.167 2.009A.75.75 0 0 1 18 7.507H7.812c-.65 1.483-1.624 3.069-2.577 4.619-.334.544-.666 1.083-.98 1.612-1.355 2.287-2.38 4.371-2.38 6.137A2.625 2.625 0 0 0 4.5 22.5h12.193a4.108 4.108 0 0 1-.943-2.625ZM1.5 4.125c-.01.511.163 1.008.487 1.403.254.313.74.479 1.402.479h12.86a3.648 3.648 0 0 1-.499-1.882 4.11 4.11 0 0 1 .943-2.625H4.125A2.625 2.625 0 0 0 1.5 4.125Z\"\n }))\n }\n };\n});\nvar LogoGistIcon = /*#__PURE__*/createIconComponent(\"LogoGistIcon\", \"octicon octicon-logo-gist\", function () {\n return {\n \"16\": {\n \"width\": 25,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.7 8.73v-1h3.52v5.69c-.78.37-1.95.64-3.59.64C1.11 14.06 0 11.37 0 8.03 0 4.69 1.13 2 4.63 2c1.62 0 2.64.33 3.28.66v1.05c-1.22-.5-2-.73-3.28-.73-2.57 0-3.48 2.21-3.48 5.06 0 2.85.91 5.05 3.47 5.05.89 0 1.98-.07 2.53-.34V8.73Zm10.98.69h.03c2.22.2 2.75.95 2.75 2.23 0 1.21-.76 2.41-3.14 2.41-.75 0-1.83-.19-2.33-.39v-.94c.47.17 1.22.36 2.33.36 1.62 0 2.06-.69 2.06-1.42 0-.71-.22-1.21-1.77-1.34-2.26-.2-2.73-1-2.73-2.08 0-1.11.72-2.31 2.92-2.31.73 0 1.56.09 2.25.39v.94c-.61-.2-1.22-.36-2.27-.36-1.55 0-1.88.57-1.88 1.34 0 .69.28 1.04 1.78 1.17Zm8.58-3.33v.85h-2.42v4.87c0 .95.53 1.34 1.5 1.34.2 0 .42 0 .61-.03v.89c-.17.03-.5.05-.69.05-1.31 0-2.5-.6-2.5-2.13v-5H19.2v-.48l1.56-.44V3.9l1.08-.31v2.5h2.42Zm-13.17-.03v6.41c0 .54.19.7.67.7v.89c-1.14 0-1.72-.47-1.72-1.72V6.06h1.05Zm.25-2.33c0 .44-.34.78-.78.78a.76.76 0 0 1-.77-.78c0-.44.32-.78.77-.78s.78.34.78.78Z\"\n })\n },\n \"24\": {\n \"width\": 38,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.05 13.095v-1.5h5.28v8.535c-1.17.555-2.925.96-5.385.96C1.665 21.09 0 17.055 0 12.045S1.695 3 6.945 3c2.43 0 3.96.495 4.92.99v1.575c-1.83-.75-3-1.095-4.92-1.095-3.855 0-5.22 3.315-5.22 7.59s1.365 7.575 5.205 7.575c1.335 0 2.97-.105 3.795-.51v-6.03H7.05Zm16.47 1.035h.045c3.33.3 4.125 1.425 4.125 3.345 0 1.815-1.14 3.615-4.71 3.615-1.125 0-2.745-.285-3.495-.585v-1.41c.705.255 1.83.54 3.495.54 2.43 0 3.09-1.035 3.09-2.13 0-1.065-.33-1.815-2.655-2.01-3.39-.3-4.095-1.5-4.095-3.12 0-1.665 1.08-3.465 4.38-3.465 1.095 0 2.34.135 3.375.585v1.41c-.915-.3-1.83-.54-3.405-.54-2.325 0-2.82.855-2.82 2.01 0 1.035.42 1.56 2.67 1.755Zm12.87-4.995v1.275h-3.63v7.305c0 1.425.795 2.01 2.25 2.01.3 0 .63 0 .915-.045v1.335c-.255.045-.75.075-1.035.075-1.965 0-3.75-.9-3.75-3.195v-7.5H28.8v-.72l2.34-.66V5.85l1.62-.465v3.75h3.63ZM16.635 9.09v9.615c0 .81.285 1.05 1.005 1.05v1.335c-1.71 0-2.58-.705-2.58-2.58V9.09h1.575Zm.375-3.495c0 .66-.51 1.17-1.17 1.17a1.14 1.14 0 0 1-1.155-1.17c0-.66.48-1.17 1.155-1.17s1.17.51 1.17 1.17Z\"\n })\n }\n };\n});\nvar LogoGithubIcon = /*#__PURE__*/createIconComponent(\"LogoGithubIcon\", \"octicon octicon-logo-github\", function () {\n return {\n \"16\": {\n \"width\": 45,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.81 7.35v5.74c0 .04-.01.11-.06.13 0 0-1.25.89-3.31.89-2.49 0-5.44-.78-5.44-5.92S2.58 1.99 5.1 2c2.18 0 3.06.49 3.2.58.04.05.06.09.06.14L7.94 4.5c0 .09-.09.2-.2.17-.36-.11-.9-.33-2.17-.33-1.47 0-3.05.42-3.05 3.73s1.5 3.7 2.58 3.7c.92 0 1.25-.11 1.25-.11v-2.3H4.88c-.11 0-.19-.08-.19-.17V7.35c0-.09.08-.17.19-.17h3.74c.11 0 .19.08.19.17Zm35.85 2.33c0 3.43-1.11 4.41-3.05 4.41-1.64 0-2.52-.83-2.52-.83s-.04.46-.09.52c-.03.06-.08.08-.14.08h-1.48c-.1 0-.19-.08-.19-.17l.02-11.11c0-.09.08-.17.17-.17h2.13c.09 0 .17.08.17.17v3.77s.82-.53 2.02-.53l-.01-.02c1.2 0 2.97.45 2.97 3.88ZM27.68 2.43c.09 0 .17.08.17.17v11.11c0 .09-.08.17-.17.17h-2.13c-.09 0-.17-.08-.17-.17l.02-4.75h-3.31v4.75c0 .09-.08.17-.17.17h-2.13c-.08 0-.17-.08-.17-.17V2.6c0-.09.08-.17.17-.17h2.13c.09 0 .17.08.17.17v4.09h3.31V2.6c0-.09.08-.17.17-.17Zm8.26 3.64c.11 0 .19.08.19.17l-.02 7.47c0 .09-.06.17-.17.17H34.6c-.07 0-.14-.04-.16-.09-.03-.06-.08-.45-.08-.45s-1.13.77-2.52.77c-1.69 0-2.92-.55-2.92-2.75V6.25c0-.09.08-.17.17-.17h2.14c.09 0 .17.08.17.17V11c0 .75.22 1.09.97 1.09s1.3-.39 1.3-.39V6.26c0-.11.06-.19.17-.19Zm-17.406 5.971h.005a.177.177 0 0 1 .141.179v1.5c0 .07-.03.14-.09.16-.1.05-.74.22-1.27.22-1.16 0-2.86-.25-2.86-2.69V8.13h-1.11c-.09 0-.17-.08-.17-.19V6.58c0-.08.05-.15.13-.17.07-.01 1.16-.28 1.16-.28V3.96c0-.08.05-.13.14-.13h2.16c.09 0 .14.05.14.13v2.11h1.59c.08 0 .16.08.16.17v1.7c0 .11-.07.19-.16.19h-1.59v3.131c0 .47.27.83 1.05.83.247 0 .481-.049.574-.05ZM12.24 6.06c.09 0 .17.08.17.17v7.37c0 .18-.05.27-.25.27h-1.92c-.17 0-.3-.07-.3-.27V6.26c0-.11.08-.2.17-.2Zm29.99 3.78c0-1.81-.73-2.05-1.5-1.97-.6.04-1.08.34-1.08.34v3.52s.49.34 1.22.36c1.03.03 1.36-.34 1.36-2.25ZM11.19 2.68c.75 0 1.36.61 1.36 1.38 0 .77-.61 1.38-1.36 1.38-.77 0-1.38-.61-1.38-1.38 0-.77.61-1.38 1.38-1.38Zm7.34 9.35v.001l.01.01h-.001l-.005-.001v.001c-.009-.001-.015-.011-.024-.011Z\"\n })\n },\n \"24\": {\n \"width\": 68,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.8 17.908h-.03c.013 0 .022.014.035.017l.01-.002-.016-.015Zm.005.017c-.14.001-.49.073-.861.073-1.17 0-1.575-.536-1.575-1.234v-4.652h2.385c.135 0 .24-.12.24-.283V9.302c0-.133-.12-.252-.24-.252H25.37V5.913c0-.119-.075-.193-.21-.193h-3.24c-.136 0-.21.074-.21.193V9.14s-1.636.401-1.741.416a.255.255 0 0 0-.195.253v2.021c0 .164.12.282.255.282h1.665v4.876c0 3.627 2.55 3.998 4.29 3.998.796 0 1.756-.252 1.906-.327.09-.03.135-.134.135-.238v-2.23a.264.264 0 0 0-.219-.265Zm35.549-3.272c0-2.69-1.095-3.047-2.25-2.928-.9.06-1.62.505-1.62.505v5.232s.735.506 1.83.536c1.545.044 2.04-.506 2.04-3.345ZM67 14.415c0 5.099-1.665 6.555-4.576 6.555-2.46 0-3.78-1.233-3.78-1.233s-.06.683-.135.773c-.045.089-.12.118-.21.118h-2.22c-.15 0-.286-.119-.286-.252l.03-16.514a.26.26 0 0 1 .255-.252h3.196a.26.26 0 0 1 .255.252v5.604s1.23-.788 3.03-.788l-.015-.03c1.8 0 4.456.67 4.456 5.767ZM53.918 9.05h-3.15c-.165 0-.255.119-.255.282v8.086s-.826.58-1.95.58c-1.126 0-1.456-.506-1.456-1.62v-7.06a.262.262 0 0 0-.255-.254h-3.21a.262.262 0 0 0-.256.253v7.596c0 3.27 1.846 4.087 4.381 4.087 2.085 0 3.78-1.145 3.78-1.145s.076.58.12.67c.03.074.136.133.24.133h2.011a.243.243 0 0 0 .255-.253l.03-11.103c0-.133-.12-.252-.285-.252Zm-35.556-.015h-3.195c-.135 0-.255.134-.255.297v10.91c0 .297.195.401.45.401h2.88c.3 0 .375-.134.375-.401V9.287a.262.262 0 0 0-.255-.252ZM16.787 4.01c-1.155 0-2.07.907-2.07 2.051 0 1.145.915 2.051 2.07 2.051a2.04 2.04 0 0 0 2.04-2.05 2.04 2.04 0 0 0-2.04-2.052Zm24.74-.372H38.36a.262.262 0 0 0-.255.253v6.08H33.14v-6.08a.262.262 0 0 0-.255-.253h-3.196a.262.262 0 0 0-.255.253v16.514c0 .133.135.252.255.252h3.196a.262.262 0 0 0 .255-.253v-7.06h4.966l-.03 7.06c0 .134.12.253.255.253h3.195a.262.262 0 0 0 .255-.253V3.892a.262.262 0 0 0-.255-.253Zm-28.31 7.313v8.532c0 .06-.015.163-.09.193 0 0-1.875 1.323-4.966 1.323C4.426 21 0 19.84 0 12.2S3.87 2.986 7.651 3c3.27 0 4.59.728 4.8.862.06.075.09.134.09.208l-.63 2.646c0 .134-.134.297-.3.253-.54-.164-1.35-.49-3.255-.49-2.205 0-4.575.623-4.575 5.543s2.25 5.5 3.87 5.5c1.38 0 1.875-.164 1.875-.164V13.94H7.321c-.165 0-.285-.12-.285-.253v-2.735c0-.134.12-.252.285-.252h5.61c.166 0 .286.118.286.252Z\"\n })\n }\n };\n});\nvar MailIcon = /*#__PURE__*/createIconComponent(\"MailIcon\", \"octicon octicon-mail\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25v-8.5C0 2.784.784 2 1.75 2ZM1.5 12.251c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V5.809L8.38 9.397a.75.75 0 0 1-.76 0L1.5 5.809v6.442Zm13-8.181v-.32a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25v.32L8 7.88Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 18.75v-14C0 3.784.784 3 1.75 3ZM1.5 7.412V18.75c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V7.412l-9.52 6.433c-.592.4-1.368.4-1.96 0Zm0-2.662v.852l10.36 7a.25.25 0 0 0 .28 0l10.36-7V4.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z\"\n })\n }\n };\n});\nvar MarkGithubIcon = /*#__PURE__*/createIconComponent(\"MarkGithubIcon\", \"octicon octicon-mark-github\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z\"\n })\n }\n };\n});\nvar MarkdownIcon = /*#__PURE__*/createIconComponent(\"MarkdownIcon\", \"octicon octicon-markdown\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.85 3c.63 0 1.15.52 1.14 1.15v7.7c0 .63-.51 1.15-1.15 1.15H1.15C.52 13 0 12.48 0 11.84V4.15C0 3.52.52 3 1.15 3ZM9 11V5H7L5.5 7 4 5H2v6h2V8l1.5 1.92L7 8v3Zm2.99.5L14.5 8H13V5h-2v3H9.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.289 4.5A1.71 1.71 0 0 1 24 6.226v11.557c0 .946-.766 1.726-1.726 1.726H1.726A1.74 1.74 0 0 1 0 17.768V6.226C0 5.28.78 4.5 1.726 4.5Zm-8.781 12.007V7.501h-3.002l-2.251 3.002-2.252-3.002H3.002v9.006h3.001v-4.503l2.252 2.882 2.251-2.882v4.503Zm4.489.75 3.767-5.253h-2.251V7.501h-3.002v4.503h-2.252Z\"\n })\n }\n };\n});\nvar MegaphoneIcon = /*#__PURE__*/createIconComponent(\"MegaphoneIcon\", \"octicon octicon-megaphone\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.25 9a.75.75 0 0 1 .75.75c0 2.142.456 3.828.733 4.653a.122.122 0 0 0 .05.064.212.212 0 0 0 .117.033h1.31c.085 0 .18-.042.258-.152a.45.45 0 0 0 .075-.366A16.743 16.743 0 0 1 6 9.75a.75.75 0 0 1 1.5 0c0 1.588.25 2.926.494 3.85.293 1.113-.504 2.4-1.783 2.4H4.9c-.686 0-1.35-.41-1.589-1.12A16.4 16.4 0 0 1 2.5 9.75.75.75 0 0 1 3.25 9Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 6a4 4 0 0 1 4-4h2.75a.75.75 0 0 1 .75.75v6.5a.75.75 0 0 1-.75.75H4a4 4 0 0 1-4-4Zm4-2.5a2.5 2.5 0 1 0 0 5h2v-5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.59.082A.75.75 0 0 1 16 .75v10.5a.75.75 0 0 1-1.189.608l-.002-.001h.001l-.014-.01a5.775 5.775 0 0 0-.422-.25 10.63 10.63 0 0 0-1.469-.64C11.576 10.484 9.536 10 6.75 10a.75.75 0 0 1 0-1.5c2.964 0 5.174.516 6.658 1.043.423.151.787.302 1.092.443V2.014c-.305.14-.669.292-1.092.443C11.924 2.984 9.713 3.5 6.75 3.5a.75.75 0 0 1 0-1.5c2.786 0 4.826-.484 6.155-.957.665-.236 1.154-.47 1.47-.64.144-.077.284-.161.421-.25l.014-.01a.75.75 0 0 1 .78-.061Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 1.75v14.5a.75.75 0 0 1-.399.662c-.384.204-.783-.035-1.139-.248l-.003-.002c-.09-.054-.177-.107-.261-.15a15.53 15.53 0 0 0-2-.849c-1.738-.607-4.321-1.223-7.703-1.251a.833.833 0 0 1 .005.088c0 2.279.494 4.279.906 5.547.368 1.131-.438 2.453-1.732 2.453H7.661c-.696 0-1.36-.42-1.6-1.129C5.684 20.255 5 17.811 5 14.75v-.457A5.5 5.5 0 0 1 6.5 3.5h3.75c3.505 0 6.175-.61 7.955-1.21a15.88 15.88 0 0 0 2.002-.82 9.21 9.21 0 0 0 .49-.262c.048-.028.095-.055.142-.085A.751.751 0 0 1 22 1.75ZM10.5 12.912c3.564.029 6.313.678 8.193 1.335.737.258 1.34.517 1.807.74V2.993c-.467.216-1.073.467-1.815.718-1.878.634-4.624 1.26-8.185 1.288ZM6.5 5a4 4 0 0 0 0 8H9V5Zm0 9.75c0 2.847.638 5.123.982 6.141.018.051.074.109.179.109h2.013c.087 0 .179-.043.249-.147a.396.396 0 0 0 .057-.343C9.537 19.148 9 16.986 9 14.5H6.5Z\"\n })\n }\n };\n});\nvar MentionIcon = /*#__PURE__*/createIconComponent(\"MentionIcon\", \"octicon octicon-mention\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.75 2.37a6.501 6.501 0 0 0 6.5 11.26.75.75 0 0 1 .75 1.298A7.999 7.999 0 0 1 .989 4.148 8 8 0 0 1 16 7.75v1.5a2.75 2.75 0 0 1-5.072 1.475 3.999 3.999 0 0 1-6.65-4.19A4 4 0 0 1 12 8v1.25a1.25 1.25 0 0 0 2.5 0V7.867a6.5 6.5 0 0 0-9.75-5.496ZM10.5 8a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.226 7.25c-2.623-4.542-8.432-6.098-12.974-3.475-4.543 2.622-6.099 8.431-3.477 12.974 2.623 4.542 8.431 6.099 12.974 3.477a.75.75 0 0 1 .75 1.299c-5.26 3.037-11.987 1.235-15.024-4.026C-.562 12.24 1.24 5.512 6.501 2.475 11.76-.562 18.488 1.24 21.525 6.501a10.959 10.959 0 0 1 1.455 4.826c.013.056.02.113.02.173v2.25a3.5 3.5 0 0 1-6.623 1.581 5.5 5.5 0 1 1 1.112-3.682.802.802 0 0 1 .011.129v1.972a2 2 0 1 0 4 0v-1.766a9.456 9.456 0 0 0-1.274-4.733ZM16 12a4 4 0 1 0-8 0 4 4 0 0 0 8 0Z\"\n })\n }\n };\n});\nvar MeterIcon = /*#__PURE__*/createIconComponent(\"MeterIcon\", \"octicon octicon-meter\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 1.5a6.5 6.5 0 1 0 6.016 4.035.75.75 0 0 1 1.388-.57 8 8 0 1 1-4.37-4.37.75.75 0 1 1-.569 1.389A6.473 6.473 0 0 0 8 1.5Zm6.28.22a.75.75 0 0 1 0 1.06l-4.063 4.064a2.5 2.5 0 1 1-1.06-1.06L13.22 1.72a.75.75 0 0 1 1.06 0ZM7 8a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2.5a9.5 9.5 0 1 0 9.5 9.5c0-1.406-.305-2.74-.852-3.939a.75.75 0 0 1 1.364-.622C22.648 8.829 23 10.374 23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1c1.626 0 3.17.353 4.561.988a.75.75 0 1 1-.622 1.364A9.463 9.463 0 0 0 12 2.5Zm9.03.47a.75.75 0 0 1 0 1.06l-6.445 6.446a3 3 0 1 1-1.06-1.06L19.97 2.97a.75.75 0 0 1 1.06 0ZM12 10.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z\"\n })\n }\n };\n});\nvar MilestoneIcon = /*#__PURE__*/createIconComponent(\"MilestoneIcon\", \"octicon octicon-milestone\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.75 0a.75.75 0 0 1 .75.75V3h3.634c.414 0 .814.147 1.13.414l2.07 1.75a1.75 1.75 0 0 1 0 2.672l-2.07 1.75a1.75 1.75 0 0 1-1.13.414H8.5v5.25a.75.75 0 0 1-1.5 0V10H2.75A1.75 1.75 0 0 1 1 8.25v-3.5C1 3.784 1.784 3 2.75 3H7V.75A.75.75 0 0 1 7.75 0Zm4.384 8.5a.25.25 0 0 0 .161-.06l2.07-1.75a.248.248 0 0 0 0-.38l-2.07-1.75a.25.25 0 0 0-.161-.06H2.75a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h9.384Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.75 1a.75.75 0 0 1 .75.75V4h6.532c.42 0 .826.15 1.143.425l3.187 2.75a1.75 1.75 0 0 1 0 2.65l-3.187 2.75a1.75 1.75 0 0 1-1.143.425H12.5v9.25a.75.75 0 0 1-1.5 0V13H3.75A1.75 1.75 0 0 1 2 11.25v-5.5C2 4.783 2.784 4 3.75 4H11V1.75a.75.75 0 0 1 .75-.75Zm7.282 4.5H3.75a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h15.282c.06 0 .118-.021.163-.06l3.188-2.75a.248.248 0 0 0 0-.38l-3.188-2.75a.249.249 0 0 0-.163-.06Z\"\n })\n }\n };\n});\nvar MirrorIcon = /*#__PURE__*/createIconComponent(\"MirrorIcon\", \"octicon octicon-mirror\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.547 3.061A.75.75 0 0 1 16 3.75v8.5a.751.751 0 0 1-1.265.545l-4.5-4.25a.75.75 0 0 1 0-1.09l4.5-4.25a.75.75 0 0 1 .812-.144ZM0 12.25v-8.5a.751.751 0 0 1 1.265-.545l4.5 4.25a.75.75 0 0 1 0 1.09l-4.5 4.25A.75.75 0 0 1 0 12.25Zm1.5-6.76v5.02L4.158 8ZM11.842 8l2.658 2.51V5.49ZM8 4a.75.75 0 0 1 .75.75v.5a.75.75 0 0 1-1.5 0v-.5A.75.75 0 0 1 8 4Zm.75-2.25v.5a.75.75 0 0 1-1.5 0v-.5a.75.75 0 0 1 1.5 0Zm0 6v.5a.75.75 0 0 1-1.5 0v-.5a.75.75 0 0 1 1.5 0ZM8 10a.75.75 0 0 1 .75.75v.5a.75.75 0 0 1-1.5 0v-.5A.75.75 0 0 1 8 10Zm0 3a.75.75 0 0 1 .75.75v.5a.75.75 0 0 1-1.5 0v-.5A.75.75 0 0 1 8 13Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.553 6.064A.75.75 0 0 1 22 6.75v10.5a.75.75 0 0 1-1.256.554l-5.75-5.25a.748.748 0 0 1 0-1.108l5.75-5.25a.75.75 0 0 1 .809-.132ZM2.447 17.936A.75.75 0 0 1 2 17.25V6.75a.75.75 0 0 1 1.256-.554l5.75 5.25a.748.748 0 0 1 0 1.108l-5.75 5.25a.75.75 0 0 1-.809.132ZM7.387 12 3.5 8.45v7.1L7.388 12Zm9.226 0 3.887 3.55v-7.1L16.612 12ZM12 2.75a.75.75 0 0 1 .75.75v1a.75.75 0 0 1-1.5 0v-1a.75.75 0 0 1 .75-.75Zm0 4a.75.75 0 0 1 .75.75v1a.75.75 0 0 1-1.5 0v-1a.75.75 0 0 1 .75-.75Zm0 8a.75.75 0 0 1 .75.75v1a.75.75 0 0 1-1.5 0v-1a.75.75 0 0 1 .75-.75Zm0 4a.75.75 0 0 1 .75.75v1a.75.75 0 0 1-1.5 0v-1a.75.75 0 0 1 .75-.75Zm0-8a.75.75 0 0 1 .75.75v1a.75.75 0 0 1-1.5 0v-1a.75.75 0 0 1 .75-.75Z\"\n })\n }\n };\n});\nvar MoonIcon = /*#__PURE__*/createIconComponent(\"MoonIcon\", \"octicon octicon-moon\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.598 1.591a.749.749 0 0 1 .785-.175 7.001 7.001 0 1 1-8.967 8.967.75.75 0 0 1 .961-.96 5.5 5.5 0 0 0 7.046-7.046.75.75 0 0 1 .175-.786Zm1.616 1.945a7 7 0 0 1-7.678 7.678 5.499 5.499 0 1 0 7.678-7.678Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.768 3.96v.001l-.002-.005a9.08 9.08 0 0 0-.218-.779c-.13-.394.21-.8.602-.67.29.096.575.205.855.328l.01.005A10.002 10.002 0 0 1 12 22a10.002 10.002 0 0 1-9.162-5.985l-.004-.01a9.722 9.722 0 0 1-.329-.855c-.13-.392.277-.732.67-.602.257.084.517.157.78.218l.004.002A9 9 0 0 0 14.999 6a9.09 9.09 0 0 0-.231-2.04ZM16.5 6c0 5.799-4.701 10.5-10.5 10.5-.426 0-.847-.026-1.26-.075A8.5 8.5 0 1 0 16.425 4.74c.05.413.075.833.075 1.259Z\"\n })\n }\n };\n});\nvar MortarBoardIcon = /*#__PURE__*/createIconComponent(\"MortarBoardIcon\", \"octicon octicon-mortar-board\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.693 1.066a.747.747 0 0 1 .614 0l7.25 3.25a.75.75 0 0 1 0 1.368L13 6.831v2.794c0 1.024-.81 1.749-1.66 2.173-.893.447-2.075.702-3.34.702-.278 0-.55-.012-.816-.036a.75.75 0 0 1 .133-1.494c.22.02.45.03.683.03 1.082 0 2.025-.221 2.67-.543.69-.345.83-.682.83-.832V7.503L8.307 8.934a.747.747 0 0 1-.614 0L4 7.28v1.663c.296.105.575.275.812.512.438.438.688 1.059.688 1.796v3a.75.75 0 0 1-.75.75h-3a.75.75 0 0 1-.75-.75v-3c0-.737.25-1.358.688-1.796.237-.237.516-.407.812-.512V6.606L.443 5.684a.75.75 0 0 1 0-1.368ZM2.583 5 8 7.428 13.416 5 8 2.572ZM2.5 11.25v2.25H4v-2.25c0-.388-.125-.611-.25-.735a.697.697 0 0 0-.5-.203.707.707 0 0 0-.5.203c-.125.124-.25.347-.25.735Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.292 2.06v-.001l11.25 4.75a.749.749 0 0 1 0 1.382L19 10.108V15a.75.75 0 0 1-.11.391h-.001a2.84 2.84 0 0 1-.392.482c-.249.256-.625.58-1.163.896-1.08.638-2.776 1.23-5.334 1.23-.673 0-1.286-.041-1.846-.113a.75.75 0 0 1 .192-1.487c.492.063 1.042.1 1.654.1 2.317 0 3.746-.533 4.572-1.021.31-.178.596-.397.849-.65l.079-.085V10.74l-5.208 2.2a.75.75 0 0 1-.584 0L5.75 10.424v3.17c.502.129.96.391 1.327.758.579.578.923 1.41.923 2.428v4.5a.761.761 0 0 1-.345.634 2.157 2.157 0 0 1-.21.117 3.923 3.923 0 0 1-.52.213A6.121 6.121 0 0 1 5 22.532a6.092 6.092 0 0 1-1.925-.288 4.065 4.065 0 0 1-.52-.213 1.816 1.816 0 0 1-.22-.124.757.757 0 0 1-.335-.624v-4.5c0-1.02.344-1.85.923-2.43a2.904 2.904 0 0 1 1.327-.757V9.793L.458 8.19a.75.75 0 0 1 0-1.38l11.25-4.75a.75.75 0 0 1 .584 0ZM12 11.436 21.322 7.5 12 3.564 2.678 7.5ZM5 15c-.377 0-.745.141-1.017.413-.265.265-.483.7-.483 1.368v4.022c.299.105.797.228 1.5.228s1.201-.123 1.5-.228V16.78c0-.669-.218-1.103-.483-1.368A1.433 1.433 0 0 0 5 15Z\"\n })\n }\n };\n});\nvar MoveToBottomIcon = /*#__PURE__*/createIconComponent(\"MoveToBottomIcon\", \"octicon octicon-move-to-bottom\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.47 10.78a.749.749 0 0 0 1.06 0l3.75-3.75a.749.749 0 1 0-1.06-1.06L8.75 8.439V1.75a.75.75 0 0 0-1.5 0v6.689L4.78 5.97a.749.749 0 1 0-1.06 1.06l3.75 3.75ZM3.75 13a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 21.25a.75.75 0 0 1 .75-.75h14.5a.75.75 0 0 1 0 1.5H4.75a.75.75 0 0 1-.75-.75ZM5.22 9.97a.749.749 0 0 1 1.06 0l4.97 4.969V2.75a.75.75 0 0 1 1.5 0v12.189l4.97-4.969a.749.749 0 1 1 1.06 1.06l-6.25 6.25a.749.749 0 0 1-1.06 0l-6.25-6.25a.749.749 0 0 1 0-1.06Z\"\n })\n }\n };\n});\nvar MoveToEndIcon = /*#__PURE__*/createIconComponent(\"MoveToEndIcon\", \"octicon octicon-move-to-end\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m10.78 8.53-3.75 3.75a.749.749 0 1 1-1.06-1.06l2.469-2.47H1.75a.75.75 0 0 1 0-1.5h6.689L5.97 4.78a.749.749 0 1 1 1.06-1.06l3.75 3.75a.749.749 0 0 1 0 1.06ZM13 12.25v-8.5a.75.75 0 0 1 1.5 0v8.5a.75.75 0 0 1-1.5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.22 5.22a.749.749 0 0 1 1.06 0l6.25 6.25a.749.749 0 0 1 0 1.06l-6.25 6.25a.749.749 0 1 1-1.06-1.06l4.969-4.97H1.75a.75.75 0 0 1 0-1.5h14.439L11.22 6.28a.749.749 0 0 1 0-1.06Zm10.03-1.47a.75.75 0 0 1 .75.75v15a.75.75 0 0 1-1.5 0v-15a.75.75 0 0 1 .75-.75Z\"\n })\n }\n };\n});\nvar MoveToStartIcon = /*#__PURE__*/createIconComponent(\"MoveToStartIcon\", \"octicon octicon-move-to-start\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.22 7.47a.749.749 0 0 0 0 1.06l3.75 3.75a.749.749 0 1 0 1.06-1.06L7.561 8.75h6.689a.75.75 0 0 0 0-1.5H7.561l2.469-2.47a.749.749 0 1 0-1.06-1.06L5.22 7.47ZM3 3.75a.75.75 0 0 0-1.5 0v8.5a.75.75 0 0 0 1.5 0v-8.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.78 18.78a.749.749 0 0 1-1.06 0l-6.25-6.25a.749.749 0 0 1 0-1.06l6.25-6.25a.749.749 0 1 1 1.06 1.06l-4.969 4.97H22.25a.75.75 0 0 1 0 1.5H7.811l4.969 4.97a.749.749 0 0 1 0 1.06ZM2.75 3.75a.75.75 0 0 1 .75.75v15a.75.75 0 0 1-1.5 0v-15a.75.75 0 0 1 .75-.75Z\"\n })\n }\n };\n});\nvar MoveToTopIcon = /*#__PURE__*/createIconComponent(\"MoveToTopIcon\", \"octicon octicon-move-to-top\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 2.25a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 3 2.25Zm5.53 2.97 3.75 3.75a.749.749 0 1 1-1.06 1.06L8.75 7.561v6.689a.75.75 0 0 1-1.5 0V7.561L4.78 10.03a.749.749 0 1 1-1.06-1.06l3.75-3.75a.749.749 0 0 1 1.06 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.75 3.5a.75.75 0 0 1 0-1.5h14.5a.75.75 0 0 1 0 1.5H4.75Zm.47 9.47a.749.749 0 1 0 1.06 1.06l4.97-4.969V21.25a.75.75 0 0 0 1.5 0V9.061l4.97 4.969a.749.749 0 1 0 1.06-1.06l-6.25-6.25a.749.749 0 0 0-1.06 0l-6.25 6.25Z\"\n })\n }\n };\n});\nvar MultiSelectIcon = /*#__PURE__*/createIconComponent(\"MultiSelectIcon\", \"octicon octicon-multi-select\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.75 7.5h7.5a.75.75 0 0 1 0 1.5h-7.5a.75.75 0 0 1 0-1.5Zm0 5h7.5a.75.75 0 0 1 0 1.5h-7.5a.75.75 0 0 1 0-1.5Zm-4-10h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5ZM2 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm10.314-3.082L11.07 2.417A.25.25 0 0 1 11.256 2h4.488a.25.25 0 0 1 .186.417l-2.244 2.5a.25.25 0 0 1-.372 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.75 11.5h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1 0-1.5Zm0 6h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1 0-1.5Zm-5-12h10a.75.75 0 0 1 0 1.5h-10a.75.75 0 0 1 0-1.5ZM5 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 7a1 1 0 1 1 0-2 1 1 0 0 1 0 2ZM19.309 7.918l-2.245-2.501A.25.25 0 0 1 17.25 5h4.49a.25.25 0 0 1 .185.417l-2.244 2.5a.25.25 0 0 1-.372 0Z\"\n })\n }\n };\n});\nvar MuteIcon = /*#__PURE__*/createIconComponent(\"MuteIcon\", \"octicon octicon-mute\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 2.75v10.5a.751.751 0 0 1-1.238.57L3.473 11H1.75A1.75 1.75 0 0 1 0 9.25v-2.5C0 5.784.784 5 1.75 5h1.722l3.29-2.82A.75.75 0 0 1 8 2.75Zm3.28 2.47L13 6.94l1.72-1.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L14.06 8l1.72 1.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L13 9.06l-1.72 1.72a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L11.94 8l-1.72-1.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-7.042 1.1a.752.752 0 0 1-.488.18h-2a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25h2c.179 0 .352.064.488.18L6.5 11.62V4.38Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 3.75v16.5a.75.75 0 0 1-1.255.555L5.46 16H2.75A1.75 1.75 0 0 1 1 14.25v-4.5C1 8.784 1.784 8 2.75 8h2.71l5.285-4.805A.75.75 0 0 1 12 3.75ZM6.255 9.305a.748.748 0 0 1-.505.195h-3a.25.25 0 0 0-.25.25v4.5c0 .138.112.25.25.25h3c.187 0 .367.069.505.195l4.245 3.86V5.445ZM16.28 8.22a.75.75 0 1 0-1.06 1.06L17.94 12l-2.72 2.72a.75.75 0 1 0 1.06 1.06L19 13.06l2.72 2.72a.75.75 0 1 0 1.06-1.06L20.06 12l2.72-2.72a.75.75 0 0 0-1.06-1.06L19 10.94l-2.72-2.72Z\"\n })\n }\n };\n});\nvar NoEntryIcon = /*#__PURE__*/createIconComponent(\"NoEntryIcon\", \"octicon octicon-no-entry\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.25 7.25a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-1.5 0a6.5 6.5 0 1 0-13 0 6.5 6.5 0 0 0 13 0Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm15.75.75H5.75a.75.75 0 0 1 0-1.5h12.5a.75.75 0 0 1 0 1.5Z\"\n })\n }\n };\n});\nvar NoEntryFillIcon = /*#__PURE__*/createIconComponent(\"NoEntryFillIcon\", \"octicon octicon-no-entry-fill\", function () {\n return {\n \"12\": {\n \"width\": 12,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 0a6 6 0 1 1 0 12A6 6 0 0 1 6 0Zm3 5H3v2h6Z\"\n })\n }\n };\n});\nvar NorthStarIcon = /*#__PURE__*/createIconComponent(\"NorthStarIcon\", \"octicon octicon-north-star\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.5.75a.75.75 0 0 0-1.5 0v5.19L4.391 3.33a.75.75 0 1 0-1.06 1.061L5.939 7H.75a.75.75 0 0 0 0 1.5h5.19l-2.61 2.609a.75.75 0 1 0 1.061 1.06L7 9.561v5.189a.75.75 0 0 0 1.5 0V9.56l2.609 2.61a.75.75 0 1 0 1.06-1.061L9.561 8.5h5.189a.75.75 0 0 0 0-1.5H9.56l2.61-2.609a.75.75 0 0 0-1.061-1.06L8.5 5.939V.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 1.25a.75.75 0 0 0-1.5 0v8.69L6.447 5.385a.75.75 0 1 0-1.061 1.06L9.94 11H1.25a.75.75 0 0 0 0 1.5h8.69l-4.554 4.553a.75.75 0 0 0 1.06 1.061L11 13.561v8.689a.75.75 0 0 0 1.5 0v-8.69l4.553 4.554a.75.75 0 0 0 1.061-1.06L13.561 12.5h8.689a.75.75 0 0 0 0-1.5h-8.69l4.554-4.553a.75.75 0 1 0-1.06-1.061L12.5 9.939V1.25Z\"\n })\n }\n };\n});\nvar NoteIcon = /*#__PURE__*/createIconComponent(\"NoteIcon\", \"octicon octicon-note\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25Zm1.75-.25a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25ZM3.5 6.25a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75Zm.75 2.25h4a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1 0-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V4.75a.25.25 0 0 0-.25-.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 8.75A.75.75 0 0 1 5.75 8h11.5a.75.75 0 0 1 0 1.5H5.75A.75.75 0 0 1 5 8.75Zm0 4a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75Z\"\n }))\n }\n };\n});\nvar NumberIcon = /*#__PURE__*/createIconComponent(\"NumberIcon\", \"octicon octicon-number\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 4.75A.75.75 0 0 1 9.75 4h4a.75.75 0 0 1 .53 1.28l-1.89 1.892c.312.076.604.18.867.319.742.391 1.244 1.063 1.244 2.005 0 .653-.231 1.208-.629 1.627-.386.408-.894.653-1.408.777-1.01.243-2.225.063-3.124-.527a.751.751 0 0 1 .822-1.254c.534.35 1.32.474 1.951.322.306-.073.53-.201.67-.349.129-.136.218-.32.218-.596 0-.308-.123-.509-.444-.678-.373-.197-.98-.318-1.806-.318a.75.75 0 0 1-.53-1.28l1.72-1.72H9.75A.75.75 0 0 1 9 4.75Zm-3.587 5.763c-.35-.05-.77.113-.983.572a.75.75 0 1 1-1.36-.632c.508-1.094 1.589-1.565 2.558-1.425 1 .145 1.872.945 1.872 2.222 0 1.433-1.088 2.192-1.79 2.681-.308.216-.571.397-.772.573H7a.75.75 0 0 1 0 1.5H3.75a.75.75 0 0 1-.75-.75c0-.69.3-1.211.67-1.61.348-.372.8-.676 1.15-.92.8-.56 1.18-.904 1.18-1.474 0-.473-.267-.69-.587-.737ZM5.604.089A.75.75 0 0 1 6 .75v4.77h.711a.75.75 0 0 1 0 1.5H3.759a.75.75 0 0 1 0-1.5H4.5V2.15l-.334.223a.75.75 0 0 1-.832-1.248l1.5-1a.75.75 0 0 1 .77-.037Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.003 7.754a.75.75 0 0 1 .75-.75h5.232a.75.75 0 0 1 .53 1.28l-2.776 2.777c.55.097 1.057.253 1.492.483.905.477 1.504 1.284 1.504 2.418 0 .966-.471 1.75-1.172 2.27-.687.511-1.587.77-2.521.77-1.367 0-2.274-.528-2.667-.756a.75.75 0 0 1 .755-1.297c.331.193.953.553 1.912.553.673 0 1.243-.188 1.627-.473.37-.275.566-.635.566-1.067 0-.5-.219-.836-.703-1.091-.538-.284-1.375-.443-2.471-.443a.75.75 0 0 1-.53-1.28l2.643-2.644h-3.421a.75.75 0 0 1-.75-.75ZM7.88 15.215a1.4 1.4 0 0 0-1.446.83.75.75 0 0 1-1.37-.61 2.899 2.899 0 0 1 2.986-1.71c.589.06 1.139.323 1.557.743.434.446.685 1.058.685 1.778 0 1.641-1.254 2.437-2.12 2.986-.538.341-1.18.694-1.495 1.273H9.75a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1-.75-.75c0-1.799 1.337-2.63 2.243-3.21 1.032-.659 1.55-1.031 1.55-1.8 0-.355-.116-.584-.26-.732a1.071 1.071 0 0 0-.652-.298Zm.234-13.121a.75.75 0 0 1 .386.656V9h1.252a.75.75 0 0 1 0 1.5H5.75a.75.75 0 0 1 0-1.5H7V4.103l-.853.533a.749.749 0 1 1-.795-1.272l2-1.25a.749.749 0 0 1 .762-.02Z\"\n })\n }\n };\n});\nvar OrganizationIcon = /*#__PURE__*/createIconComponent(\"OrganizationIcon\", \"octicon octicon-organization\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.25 12a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5ZM5.5 9.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM6.25 5a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5ZM9 12.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Zm.75-4.25a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5ZM9 5.75A.75.75 0 0 1 9.75 5h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 9 5.75ZM13.25 12a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Zm-.75-2.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM13.25 5a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 20V3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v17c0 .173-.022.34-.063.5H20a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.2-.4l-.5-.375a.75.75 0 0 1 .9-1.2l.5.375c.504.378.8.97.8 1.6v8a2 2 0 0 1-2 2h-3.562a.767.767 0 0 1-.166-.018c-.089.012-.18.018-.272.018h-3.75a.75.75 0 0 1-.75-.75V19h-3v2.25a.75.75 0 0 1-.75.75H4a2 2 0 0 1-2-2Zm2 .5h3v-2.25a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 .75.75v2.25h3a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5H4a.5.5 0 0 0-.5.5v17a.5.5 0 0 0 .5.5Z\"\n }))\n }\n };\n});\nvar PackageIcon = /*#__PURE__*/createIconComponent(\"PackageIcon\", \"octicon octicon-package\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z\"\n })\n }\n };\n});\nvar PackageDependenciesIcon = /*#__PURE__*/createIconComponent(\"PackageDependenciesIcon\", \"octicon octicon-package-dependencies\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.122.392a1.75 1.75 0 0 1 1.756 0l5.25 3.045c.54.313.872.89.872 1.514V7.25a.75.75 0 0 1-1.5 0V5.677L7.75 8.432v6.384a1 1 0 0 1-1.502.865L.872 12.563A1.75 1.75 0 0 1 0 11.049V4.951c0-.624.332-1.2.872-1.514ZM7.125 1.69a.248.248 0 0 0-.25 0l-4.63 2.685L7 7.133l4.755-2.758ZM1.5 11.049a.25.25 0 0 0 .125.216l4.625 2.683V8.432L1.5 5.677Zm11.672-.282L11.999 12h3.251a.75.75 0 0 1 0 1.5h-3.251l1.173 1.233a.75.75 0 1 1-1.087 1.034l-2.378-2.5a.75.75 0 0 1 0-1.034l2.378-2.5a.75.75 0 0 1 1.087 1.034Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.126.64a1.748 1.748 0 0 1 1.75 0l8.25 4.762c.103.06.199.128.286.206a.75.75 0 0 1 .554.96c.023.113.035.23.035.35v3.332a.75.75 0 0 1-1.5 0V7.64l-7.75 4.474V22.36a.75.75 0 0 1-1.125.65l-8.75-5.052a1.75 1.75 0 0 1-.875-1.515V6.917c0-.119.012-.236.035-.35a.749.749 0 0 1 .554-.96c.088-.078.184-.146.286-.205L9.126.639Zm.875 10.173v.001l7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0L2.251 6.34Zm-8.5-3.175v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m16.617 17.5 2.895-2.702a.75.75 0 0 0-1.024-1.096l-4.285 4a.75.75 0 0 0 0 1.096l4.285 4a.75.75 0 1 0 1.024-1.096L16.617 19h6.633a.75.75 0 0 0 0-1.5h-6.633Z\"\n }))\n }\n };\n});\nvar PackageDependentsIcon = /*#__PURE__*/createIconComponent(\"PackageDependentsIcon\", \"octicon octicon-package-dependents\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.122.392a1.75 1.75 0 0 1 1.756 0l5.25 3.045c.54.313.872.89.872 1.514V7.25a.75.75 0 0 1-1.5 0V5.677L7.75 8.432v6.384a1 1 0 0 1-1.502.865L.872 12.563A1.75 1.75 0 0 1 0 11.049V4.951c0-.624.332-1.2.872-1.514ZM7.125 1.69a.248.248 0 0 0-.25 0l-4.63 2.685L7 7.133l4.755-2.758ZM1.5 11.049a.25.25 0 0 0 .125.216l4.625 2.683V8.432L1.5 5.677Zm10.828 3.684 1.173-1.233H10.25a.75.75 0 0 1 0-1.5h3.251l-1.173-1.233a.75.75 0 1 1 1.087-1.034l2.378 2.5a.75.75 0 0 1 0 1.034l-2.378 2.5a.75.75 0 0 1-1.087-1.034Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.126.64a1.748 1.748 0 0 1 1.75 0l8.25 4.762c.103.06.199.128.286.206a.75.75 0 0 1 .554.96c.023.113.035.23.035.35v3.332a.75.75 0 0 1-1.5 0V7.64l-7.75 4.474V22.36a.75.75 0 0 1-1.125.65l-8.75-5.052a1.75 1.75 0 0 1-.875-1.515V6.917c0-.119.012-.236.035-.35a.749.749 0 0 1 .554-.96c.088-.078.184-.146.286-.205L9.126.639Zm.875 10.173v.001l7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0L2.251 6.34Zm-8.5-3.175v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m21.347 17.5-2.894-2.702a.75.75 0 1 1 1.023-1.096l4.286 4a.75.75 0 0 1 0 1.096l-4.286 4a.75.75 0 1 1-1.023-1.096L21.347 19h-6.633a.75.75 0 0 1 0-1.5h6.633Z\"\n }))\n }\n };\n});\nvar PaintbrushIcon = /*#__PURE__*/createIconComponent(\"PaintbrushIcon\", \"octicon octicon-paintbrush\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.134 1.535c.7-.509 1.416-.942 2.076-1.155.649-.21 1.463-.267 2.069.34.603.601.568 1.411.368 2.07-.202.668-.624 1.39-1.125 2.096-1.011 1.424-2.496 2.987-3.775 4.249-1.098 1.084-2.132 1.839-3.04 2.3a3.744 3.744 0 0 1-1.055 3.217c-.431.431-1.065.691-1.657.861-.614.177-1.294.287-1.914.357A21.151 21.151 0 0 1 .797 16H.743l.007-.75H.749L.742 16a.75.75 0 0 1-.743-.742l.743-.008-.742.007v-.054a21.25 21.25 0 0 1 .13-2.284c.067-.647.187-1.287.358-1.914.17-.591.43-1.226.86-1.657a3.746 3.746 0 0 1 3.227-1.054c.466-.893 1.225-1.907 2.314-2.982 1.271-1.255 2.833-2.75 4.245-3.777ZM1.62 13.089c-.051.464-.086.929-.104 1.395.466-.018.932-.053 1.396-.104a10.511 10.511 0 0 0 1.668-.309c.526-.151.856-.325 1.011-.48a2.25 2.25 0 1 0-3.182-3.182c-.155.155-.329.485-.48 1.01a10.515 10.515 0 0 0-.309 1.67Zm10.396-10.34c-1.224.89-2.605 2.189-3.822 3.384l1.718 1.718c1.21-1.205 2.51-2.597 3.387-3.833.47-.662.78-1.227.912-1.662.134-.444.032-.551.009-.575h-.001V1.78c-.014-.014-.113-.113-.548.027-.432.14-.995.462-1.655.942Zm-4.832 7.266-.001.001a9.859 9.859 0 0 0 1.63-1.142L7.155 7.216a9.7 9.7 0 0 0-1.161 1.607c.482.302.889.71 1.19 1.192Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.642 6.653c-1.31 1.812-3.251 3.86-4.945 5.575l-.091.092-2.69-2.69.098-.098c1.69-1.71 3.732-3.656 5.544-4.962.911-.657 1.715-1.115 2.353-1.318.652-.207.915-.091 1.039.033.113.113.231.367.019 1.02-.207.635-.668 1.436-1.327 2.348ZM10.9 10.736l2.605 2.605c-.88.754-1.684 1.294-2.378 1.655a4.832 4.832 0 0 0-1.892-1.89c.36-.69.903-1.482 1.665-2.37Zm-3.086 1.856a4.825 4.825 0 0 0-4.33 1.328c-.525.525-.88 1.302-1.13 2.079-.256.795-.43 1.682-.541 2.507a19.055 19.055 0 0 0-.173 2.216c-.004.3.003.567.022.778.009.104.022.212.044.31.01.05.027.113.053.18.02.051.074.178.19.295.117.117.245.17.297.19.066.026.13.043.178.054.099.021.207.035.31.044.211.019.479.025.779.021.603-.008 1.39-.06 2.216-.172.825-.112 1.711-.285 2.507-.54.776-.25 1.553-.606 2.079-1.132a4.825 4.825 0 0 0 1.327-4.333c1.209-.6 2.622-1.618 4.121-3.135 1.694-1.714 3.709-3.835 5.093-5.75.688-.952 1.258-1.904 1.538-2.764.274-.842.334-1.826-.384-2.544-.72-.719-1.703-.672-2.555-.401-.865.275-1.822.843-2.776 1.53-1.92 1.384-4.036 3.407-5.733 5.125-1.5 1.518-2.53 2.896-3.132 4.114Zm1.44 2.388a3.33 3.33 0 0 1 0 4.71c-.271.27-.774.537-1.478.763-.684.22-1.477.378-2.248.482-.769.104-1.495.152-2.035.16a9.247 9.247 0 0 1-.351-.002 9.182 9.182 0 0 1-.002-.35c.007-.542.055-1.267.16-2.036.104-.771.261-1.564.481-2.249.227-.703.493-1.206.764-1.478a3.33 3.33 0 0 1 4.71 0Z\"\n })\n }\n };\n});\nvar PaperAirplaneIcon = /*#__PURE__*/createIconComponent(\"PaperAirplaneIcon\", \"octicon octicon-paper-airplane\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M.989 8 .064 2.68a1.342 1.342 0 0 1 1.85-1.462l13.402 5.744a1.13 1.13 0 0 1 0 2.076L1.913 14.782a1.343 1.343 0 0 1-1.85-1.463L.99 8Zm.603-5.288L2.38 7.25h4.87a.75.75 0 0 1 0 1.5H2.38l-.788 4.538L13.929 8Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.513 1.96a1.374 1.374 0 0 1 1.499-.21l19.335 9.215a1.147 1.147 0 0 1 0 2.07L3.012 22.25a1.374 1.374 0 0 1-1.947-1.46L2.49 12 1.065 3.21a1.375 1.375 0 0 1 .448-1.25Zm2.375 10.79-1.304 8.042L21.031 12 2.584 3.208l1.304 8.042h7.362a.75.75 0 0 1 0 1.5Z\"\n })\n }\n };\n});\nvar PaperclipIcon = /*#__PURE__*/createIconComponent(\"PaperclipIcon\", \"octicon octicon-paperclip\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.212 3.02a1.753 1.753 0 0 0-2.478.003l-5.83 5.83a3.007 3.007 0 0 0-.88 2.127c0 .795.315 1.551.88 2.116.567.567 1.333.89 2.126.89.79 0 1.548-.321 2.116-.89l5.48-5.48a.75.75 0 0 1 1.061 1.06l-5.48 5.48a4.492 4.492 0 0 1-3.177 1.33c-1.2 0-2.345-.487-3.187-1.33a4.483 4.483 0 0 1-1.32-3.177c0-1.195.475-2.341 1.32-3.186l5.83-5.83a3.25 3.25 0 0 1 5.553 2.297c0 .863-.343 1.691-.953 2.301L7.439 12.39c-.375.377-.884.59-1.416.593a1.998 1.998 0 0 1-1.412-.593 1.992 1.992 0 0 1 0-2.828l5.48-5.48a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-5.48 5.48a.492.492 0 0 0 0 .707.499.499 0 0 0 .352.154.51.51 0 0 0 .356-.154l5.833-5.827a1.755 1.755 0 0 0 0-2.481Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.187 3.588a2.75 2.75 0 0 0-3.889 0L5.575 13.31a4.5 4.5 0 0 0 6.364 6.364l8.662-8.662a.75.75 0 0 1 1.061 1.06L13 20.735a6 6 0 0 1-8.485-8.485l9.723-9.723a4.247 4.247 0 0 1 4.124-1.139 4.247 4.247 0 0 1 3.025 3.025 4.247 4.247 0 0 1-1.139 4.124l-9.193 9.193a2.64 2.64 0 0 1-1.858.779 2.626 2.626 0 0 1-1.854-.779c-.196-.196-.338-.47-.43-.726a2.822 2.822 0 0 1-.168-.946c0-.7.284-1.373.775-1.864l8.132-8.131a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734l-8.131 8.132a1.148 1.148 0 0 0-.336.803c.003.204.053.405.146.587.01.018.018.028.02.032.22.215.501.332.786.332.29 0 .58-.121.798-.34l9.192-9.192a2.75 2.75 0 0 0 0-3.89Z\"\n })\n }\n };\n});\nvar PasskeyFillIcon = /*#__PURE__*/createIconComponent(\"PasskeyFillIcon\", \"octicon octicon-passkey-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.743 4.757a3.757 3.757 0 1 1 5.851 3.119 5.991 5.991 0 0 1 2.15 1.383c.17.17.257.405.258.646.003.598.001 1.197 0 1.795L11 12.778v.721a.5.5 0 0 1-.5.5H1.221a.749.749 0 0 1-.714-.784 6.004 6.004 0 0 1 3.899-5.339 3.754 3.754 0 0 1-1.663-3.119Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.75 6.875c0 .874-.448 1.643-1.127 2.09a.265.265 0 0 0-.123.22v.59c0 .067-.026.13-.073.177l-.356.356a.125.125 0 0 0 0 .177l.356.356c.047.047.073.11.073.176v.231c0 .067-.026.13-.073.177l-.356.356a.125.125 0 0 0 0 .177l.356.356c.047.047.073.11.073.177v.287a.247.247 0 0 1-.065.168l-.8.88a.52.52 0 0 1-.77 0l-.8-.88a.247.247 0 0 1-.065-.168V9.185a.264.264 0 0 0-.123-.22 2.5 2.5 0 1 1 3.873-2.09ZM14 6.5a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.496 2a5.25 5.25 0 0 0-2.519 9.857A9.006 9.006 0 0 0 .5 20.228a.751.751 0 0 0 .728.772h5.257c3.338.001 6.677.002 10.015 0a.5.5 0 0 0 .5-.5v-4.669a.95.95 0 0 0-.171-.551 9.02 9.02 0 0 0-4.814-3.423A5.25 5.25 0 0 0 9.496 2Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.625 10.313c0 1.31-.672 2.464-1.691 3.134a.398.398 0 0 0-.184.33v.886a.372.372 0 0 1-.11.265l-.534.534a.188.188 0 0 0 0 .265l.534.534c.071.07.11.166.11.265v.347a.374.374 0 0 1-.11.265l-.534.534a.188.188 0 0 0 0 .265l.534.534a.37.37 0 0 1 .11.265v.431a.379.379 0 0 1-.097.253l-1.2 1.319a.781.781 0 0 1-1.156 0l-1.2-1.319a.379.379 0 0 1-.097-.253v-5.39a.398.398 0 0 0-.184-.33 3.75 3.75 0 1 1 5.809-3.134ZM21 9.75a1.125 1.125 0 1 0-2.25 0 1.125 1.125 0 0 0 2.25 0Z\"\n }))\n }\n };\n});\nvar PasteIcon = /*#__PURE__*/createIconComponent(\"PasteIcon\", \"octicon octicon-paste\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.626 3.533a.249.249 0 0 0-.126.217v9.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-9.5a.249.249 0 0 0-.126-.217.75.75 0 0 1 .752-1.298c.541.313.874.89.874 1.515v9.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-9.5c0-.625.333-1.202.874-1.515a.75.75 0 0 1 .752 1.298ZM5.75 1h4.5a.75.75 0 0 1 .75.75v3a.75.75 0 0 1-.75.75h-4.5A.75.75 0 0 1 5 4.75v-3A.75.75 0 0 1 5.75 1Zm.75 3h3V2.5h-3Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.962 2.513a.75.75 0 0 1-.475.949l-.816.272a.25.25 0 0 0-.171.237V21.25c0 .138.112.25.25.25h14.5a.25.25 0 0 0 .25-.25V3.97a.25.25 0 0 0-.17-.236l-.817-.272a.75.75 0 0 1 .474-1.424l.816.273A1.751 1.751 0 0 1 21 3.97v17.28A1.75 1.75 0 0 1 19.25 23H4.75A1.75 1.75 0 0 1 3 21.25V3.97a1.75 1.75 0 0 1 1.197-1.66l.816-.272a.75.75 0 0 1 .949.475Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 1.75C7 .784 7.784 0 8.75 0h6.5C16.216 0 17 .784 17 1.75v1.5A1.75 1.75 0 0 1 15.25 5h-6.5A1.75 1.75 0 0 1 7 3.25Zm1.75-.25a.25.25 0 0 0-.25.25v1.5c0 .138.112.25.25.25h6.5a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25Z\"\n }))\n }\n };\n});\nvar PencilIcon = /*#__PURE__*/createIconComponent(\"PencilIcon\", \"octicon octicon-pencil\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.263 2.177a1.75 1.75 0 0 1 2.474 0l2.586 2.586a1.75 1.75 0 0 1 0 2.474L19.53 10.03l-.012.013L8.69 20.378a1.753 1.753 0 0 1-.699.409l-5.523 1.68a.748.748 0 0 1-.747-.188.748.748 0 0 1-.188-.747l1.673-5.5a1.75 1.75 0 0 1 .466-.756L14.476 4.963ZM4.708 16.361a.26.26 0 0 0-.067.108l-1.264 4.154 4.177-1.271a.253.253 0 0 0 .1-.059l10.273-9.806-2.94-2.939-10.279 9.813ZM19 8.44l2.263-2.262a.25.25 0 0 0 0-.354l-2.586-2.586a.25.25 0 0 0-.354 0L16.061 5.5Z\"\n })\n }\n };\n});\nvar PeopleIcon = /*#__PURE__*/createIconComponent(\"PeopleIcon\", \"octicon octicon-people\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.5 8a5.5 5.5 0 1 1 8.596 4.547 9.005 9.005 0 0 1 5.9 8.18.751.751 0 0 1-1.5.045 7.5 7.5 0 0 0-14.993 0 .75.75 0 0 1-1.499-.044 9.005 9.005 0 0 1 5.9-8.181A5.496 5.496 0 0 1 3.5 8ZM9 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm8.29 4c-.148 0-.292.01-.434.03a.75.75 0 1 1-.212-1.484 4.53 4.53 0 0 1 3.38 8.097 6.69 6.69 0 0 1 3.956 6.107.75.75 0 0 1-1.5 0 5.193 5.193 0 0 0-3.696-4.972l-.534-.16v-1.676l.41-.209A3.03 3.03 0 0 0 17.29 8Z\"\n })\n }\n };\n});\nvar PersonIcon = /*#__PURE__*/createIconComponent(\"PersonIcon\", \"octicon octicon-person\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.561 8.073a6.005 6.005 0 0 1 3.432 5.142.75.75 0 1 1-1.498.07 4.5 4.5 0 0 0-8.99 0 .75.75 0 0 1-1.498-.07 6.004 6.004 0 0 1 3.431-5.142 3.999 3.999 0 1 1 5.123 0ZM10.5 5a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2.5a5.5 5.5 0 0 1 3.096 10.047 9.005 9.005 0 0 1 5.9 8.181.75.75 0 1 1-1.499.044 7.5 7.5 0 0 0-14.993 0 .75.75 0 0 1-1.5-.045 9.005 9.005 0 0 1 5.9-8.18A5.5 5.5 0 0 1 12 2.5ZM8 8a4 4 0 1 0 8 0 4 4 0 0 0-8 0Z\"\n })\n }\n };\n});\nvar PersonAddIcon = /*#__PURE__*/createIconComponent(\"PersonAddIcon\", \"octicon octicon-person-add\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.9 8.548h-.001a5.528 5.528 0 0 1 3.1 4.659.75.75 0 1 1-1.498.086A4.01 4.01 0 0 0 5.5 9.5a4.01 4.01 0 0 0-4.001 3.793.75.75 0 1 1-1.498-.085 5.527 5.527 0 0 1 3.1-4.66 3.5 3.5 0 1 1 4.799 0ZM13.25 0a.75.75 0 0 1 .75.75V2h1.25a.75.75 0 0 1 0 1.5H14v1.25a.75.75 0 0 1-1.5 0V3.5h-1.25a.75.75 0 0 1 0-1.5h1.25V.75a.75.75 0 0 1 .75-.75ZM5.5 4a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 4Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 9.5a5 5 0 1 1 7.916 4.062 7.973 7.973 0 0 1 5.018 7.166.75.75 0 1 1-1.499.044 6.469 6.469 0 0 0-12.932 0 .75.75 0 0 1-1.499-.044 7.972 7.972 0 0 1 5.059-7.181A4.994 4.994 0 0 1 4 9.5ZM9 6a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Zm10.25-5a.75.75 0 0 1 .75.75V4h2.25a.75.75 0 0 1 0 1.5H20v2.25a.75.75 0 0 1-1.5 0V5.5h-2.25a.75.75 0 0 1 0-1.5h2.25V1.75a.75.75 0 0 1 .75-.75Z\"\n })\n }\n };\n});\nvar PersonFillIcon = /*#__PURE__*/createIconComponent(\"PersonFillIcon\", \"octicon octicon-person-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.243 4.757a3.757 3.757 0 1 1 5.851 3.119 6.006 6.006 0 0 1 3.9 5.339.75.75 0 0 1-.715.784H2.721a.75.75 0 0 1-.714-.784 6.006 6.006 0 0 1 3.9-5.34 3.753 3.753 0 0 1-1.664-3.118Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2.5a5.25 5.25 0 0 0-2.519 9.857 9.005 9.005 0 0 0-6.477 8.37.75.75 0 0 0 .727.773H20.27a.75.75 0 0 0 .727-.772 9.005 9.005 0 0 0-6.477-8.37A5.25 5.25 0 0 0 12 2.5Z\"\n })\n }\n };\n});\nvar PinIcon = /*#__PURE__*/createIconComponent(\"PinIcon\", \"octicon octicon-pin\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m11.294.984 3.722 3.722a1.75 1.75 0 0 1-.504 2.826l-1.327.613a3.089 3.089 0 0 0-1.707 2.084l-.584 2.454c-.317 1.332-1.972 1.8-2.94.832L5.75 11.311 1.78 15.28a.749.749 0 1 1-1.06-1.06l3.969-3.97-2.204-2.204c-.968-.968-.5-2.623.832-2.94l2.454-.584a3.08 3.08 0 0 0 2.084-1.707l.613-1.327a1.75 1.75 0 0 1 2.826-.504ZM6.283 9.723l2.732 2.731a.25.25 0 0 0 .42-.119l.584-2.454a4.586 4.586 0 0 1 2.537-3.098l1.328-.613a.25.25 0 0 0 .072-.404l-3.722-3.722a.25.25 0 0 0-.404.072l-.613 1.328a4.584 4.584 0 0 1-3.098 2.537l-2.454.584a.25.25 0 0 0-.119.42l2.731 2.732Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m16.114 1.553 6.333 6.333a1.75 1.75 0 0 1-.603 2.869l-1.63.633a5.67 5.67 0 0 0-3.395 3.725l-1.131 3.959a1.75 1.75 0 0 1-2.92.757L9 16.061l-5.595 5.594a.749.749 0 1 1-1.06-1.06L7.939 15l-3.768-3.768a1.75 1.75 0 0 1 .757-2.92l3.959-1.131a5.666 5.666 0 0 0 3.725-3.395l.633-1.63a1.75 1.75 0 0 1 2.869-.603ZM5.232 10.171l8.597 8.597a.25.25 0 0 0 .417-.108l1.131-3.959A7.17 7.17 0 0 1 19.67 9.99l1.63-.634a.25.25 0 0 0 .086-.409l-6.333-6.333a.25.25 0 0 0-.409.086l-.634 1.63a7.17 7.17 0 0 1-4.711 4.293L5.34 9.754a.25.25 0 0 0-.108.417Z\"\n })\n }\n };\n});\nvar PinSlashIcon = /*#__PURE__*/createIconComponent(\"PinSlashIcon\", \"octicon octicon-pin-slash\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1.655.595 13.75 13.75q.22.219.22.53 0 .311-.22.53-.219.22-.53.22-.311 0-.53-.22L.595 1.655q-.22-.219-.22-.53 0-.311.22-.53.219-.22.53-.22.311 0 .53.22ZM.72 14.22l4.5-4.5q.219-.22.53-.22.311 0 .53.22.22.219.22.53 0 .311-.22.53l-4.5 4.5q-.219.22-.53.22-.311 0-.53-.22-.22-.219-.22-.53 0-.311.22-.53Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m5.424 6.146-1.759.419q-.143.034-.183.175-.04.141.064.245l5.469 5.469q.104.104.245.064.141-.04.175-.183l.359-1.509q.072-.302.337-.465.264-.163.567-.091.302.072.465.337.162.264.09.567l-.359 1.509q-.238.999-1.226 1.278-.988.28-1.714-.446L2.485 8.046q-.726-.726-.446-1.714.279-.988 1.278-1.226l1.759-.419q.303-.072.567.091.265.163.337.465.072.302-.091.567-.163.264-.465.336ZM7.47 3.47q.155-.156.247-.355l.751-1.627Q8.851.659 9.75.498q.899-.16 1.544.486l3.722 3.722q.646.645.486 1.544-.161.899-.99 1.282l-1.627.751q-.199.092-.355.247-.219.22-.53.22-.311 0-.53-.22-.22-.219-.22-.53 0-.311.22-.53.344-.345.787-.549l1.627-.751q.118-.055.141-.183.023-.128-.069-.221l-3.722-3.722q-.092-.092-.221-.069-.128.023-.183.141l-.751 1.627q-.204.443-.549.787-.219.22-.53.22-.311 0-.53-.22-.22-.219-.22-.53 0-.311.22-.53Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.345 20.595 8.47 14.47q.219-.22.53-.22.311 0 .53.22.22.219.22.53 0 .311-.22.53l-6.125 6.125q-.219.22-.53.22-.311 0-.53-.22-.22-.219-.22-.53 0-.311.22-.53Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m16.72 11.97.358-.358a6.738 6.738 0 0 1 2.326-1.518l1.896-.738a.25.25 0 0 0 .086-.409l-6.333-6.333a.25.25 0 0 0-.409.086l-.521 1.34a8.663 8.663 0 0 1-2.243 3.265.75.75 0 0 1-1.01-1.11 7.132 7.132 0 0 0 1.854-2.699l.521-1.34a1.75 1.75 0 0 1 2.869-.603l6.333 6.333a1.75 1.75 0 0 1-.603 2.869l-1.896.737a5.26 5.26 0 0 0-1.81 1.18l-.358.358a.749.749 0 1 1-1.06-1.06Zm-12.549-.738a1.75 1.75 0 0 1 .757-2.92l3.366-.962.412 1.443-3.366.961a.25.25 0 0 0-.108.417l8.597 8.597a.25.25 0 0 0 .417-.108l.961-3.366 1.443.412-.962 3.366a1.75 1.75 0 0 1-2.92.757Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m3.405 2.095 18.75 18.75q.22.219.22.53 0 .311-.22.53-.219.22-.53.22-.311 0-.53-.22L2.345 3.155q-.22-.219-.22-.53 0-.311.22-.53.219-.22.53-.22.311 0 .53.22Z\"\n }))\n }\n };\n});\nvar PivotColumnIcon = /*#__PURE__*/createIconComponent(\"PivotColumnIcon\", \"octicon octicon-pivot-column\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1.75C0 .784.784 0 1.75 0h12.5C15.217 0 16 .784 16 1.75v5.5a.75.75 0 0 1-1.5 0V6.5h-8v8h.75a.75.75 0 0 1 0 1.5h-5.5A1.75 1.75 0 0 1 0 14.25ZM1.5 6.5v7.75c0 .138.112.25.25.25H5v-8Zm5-1.5h8V1.75a.25.25 0 0 0-.25-.25H6.5ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m11.017 9.89-2.882 2.677a.249.249 0 0 0 0 .366l2.882 2.677a.25.25 0 0 0 .421-.183V13.5H12.5A3.5 3.5 0 0 0 16 10a.75.75 0 0 0-1.5 0 2 2 0 0 1-2 2h-1.062v-1.927a.25.25 0 0 0-.421-.183Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 3.75C2 2.783 2.783 2 3.75 2h16.5c.966 0 1.75.783 1.75 1.75V10a.75.75 0 0 1-1.5 0V8.75H8.75V20.5H10a.75.75 0 0 1 0 1.5H3.75A1.75 1.75 0 0 1 2 20.25Zm6.75-.25v3.75H20.5v-3.5a.25.25 0 0 0-.25-.25Zm-1.5 17V8.75H3.5v11.5c0 .138.112.25.25.25ZM3.5 7.25h3.75V3.5h-3.5a.25.25 0 0 0-.25.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.25 12.312a.75.75 0 0 1 .75.75v2.626a3.75 3.75 0 0 1-3.75 3.75h-3.502l2.032 2.032a.749.749 0 1 1-1.06 1.06l-3.25-3.25a.749.749 0 0 1 0-1.06l3.25-3.25a.749.749 0 1 1 1.06 1.06l-1.907 1.908h3.377a2.25 2.25 0 0 0 2.25-2.25v-2.626a.75.75 0 0 1 .75-.75Z\"\n }))\n }\n };\n});\nvar PlayIcon = /*#__PURE__*/createIconComponent(\"PlayIcon\", \"octicon octicon-play\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.5 15.584V8.416a.5.5 0 0 1 .77-.42l5.576 3.583a.5.5 0 0 1 0 .842l-5.576 3.584a.5.5 0 0 1-.77-.42Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9.5A9.5 9.5 0 0 0 2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5Z\"\n }))\n }\n };\n});\nvar PlugIcon = /*#__PURE__*/createIconComponent(\"PlugIcon\", \"octicon octicon-plug\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 8H2.5a1 1 0 0 0-1 1v5.25a.75.75 0 0 1-1.5 0V9a2.5 2.5 0 0 1 2.5-2.5H4V5.133a1.75 1.75 0 0 1 1.533-1.737l2.831-.353.76-.913c.332-.4.825-.63 1.344-.63h.782c.966 0 1.75.784 1.75 1.75V4h2.25a.75.75 0 0 1 0 1.5H13v4h2.25a.75.75 0 0 1 0 1.5H13v.75a1.75 1.75 0 0 1-1.75 1.75h-.782c-.519 0-1.012-.23-1.344-.63l-.761-.912-2.83-.354A1.75 1.75 0 0 1 4 9.867Zm6.276-4.91-.95 1.14a.753.753 0 0 1-.483.265l-3.124.39a.25.25 0 0 0-.219.248v4.734c0 .126.094.233.219.249l3.124.39a.752.752 0 0 1 .483.264l.95 1.14a.25.25 0 0 0 .192.09h.782a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25h-.782a.25.25 0 0 0-.192.09Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 11.5H2.938c-.794 0-1.438.644-1.438 1.437v8.313a.75.75 0 0 1-1.5 0v-8.312A2.939 2.939 0 0 1 2.937 10H7V6.151c0-.897.678-1.648 1.57-1.74l6.055-.626 1.006-1.174A1.752 1.752 0 0 1 16.96 2h1.29c.966 0 1.75.784 1.75 1.75V6h3.25a.75.75 0 0 1 0 1.5H20V14h3.25a.75.75 0 0 1 0 1.5H20v2.25a1.75 1.75 0 0 1-1.75 1.75h-1.29a1.75 1.75 0 0 1-1.329-.611l-1.006-1.174-6.055-.627A1.749 1.749 0 0 1 7 15.348Zm9.77-7.913v.001l-1.201 1.4a.75.75 0 0 1-.492.258l-6.353.657a.25.25 0 0 0-.224.249v9.196a.25.25 0 0 0 .224.249l6.353.657c.191.02.368.112.493.258l1.2 1.401a.252.252 0 0 0 .19.087h1.29a.25.25 0 0 0 .25-.25v-14a.25.25 0 0 0-.25-.25h-1.29a.252.252 0 0 0-.19.087Z\"\n })\n }\n };\n});\nvar PlusIcon = /*#__PURE__*/createIconComponent(\"PlusIcon\", \"octicon octicon-plus\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.75 4.5a.75.75 0 0 1 .75.75V11h5.75a.75.75 0 0 1 0 1.5H12.5v5.75a.75.75 0 0 1-1.5 0V12.5H5.25a.75.75 0 0 1 0-1.5H11V5.25a.75.75 0 0 1 .75-.75Z\"\n })\n }\n };\n});\nvar PlusCircleIcon = /*#__PURE__*/createIconComponent(\"PlusCircleIcon\", \"octicon octicon-plus-circle\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.75 7.75a.75.75 0 0 0-1.5 0v3.5h-3.5a.75.75 0 0 0 0 1.5h3.5v3.5a.75.75 0 0 0 1.5 0v-3.5h3.5a.75.75 0 0 0 0-1.5h-3.5v-3.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"\n }))\n }\n };\n});\nvar ProjectIcon = /*#__PURE__*/createIconComponent(\"ProjectIcon\", \"octicon octicon-project\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.25 6a.75.75 0 0 0-.75.75v7.5a.75.75 0 0 0 1.5 0v-7.5A.75.75 0 0 0 7.25 6ZM12 6a.75.75 0 0 0-.75.75v4.5a.75.75 0 0 0 1.5 0v-4.5A.75.75 0 0 0 12 6Zm4 .75a.75.75 0 0 1 1.5 0v9.5a.75.75 0 0 1-1.5 0v-9.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75C2 2.784 2.784 2 3.75 2ZM3.5 3.75v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H3.75a.25.25 0 0 0-.25.25Z\"\n }))\n }\n };\n});\nvar ProjectRoadmapIcon = /*#__PURE__*/createIconComponent(\"ProjectRoadmapIcon\", \"octicon octicon-project-roadmap\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.75 7a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5ZM5 4.75A.75.75 0 0 1 5.75 4h5.5a.75.75 0 0 1 0 1.5h-5.5A.75.75 0 0 1 5 4.75ZM6.75 10a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.75 7a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5ZM7 11.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75ZM9.75 15a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z\"\n }))\n }\n };\n});\nvar ProjectSymlinkIcon = /*#__PURE__*/createIconComponent(\"ProjectSymlinkIcon\", \"octicon octicon-project-symlink\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16h-8.5a.75.75 0 0 1 0-1.5h8.5a.25.25 0 0 0 .25-.25V6.5h-13v1.75a.75.75 0 0 1-1.5 0ZM6.5 5h8V1.75a.25.25 0 0 0-.25-.25H6.5Zm-5 0H5V1.5H1.75a.25.25 0 0 0-.25.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 13.737a2.25 2.25 0 0 1 2.262-2.25L4 11.49v1.938c0 .218.26.331.42.183l2.883-2.677a.25.25 0 0 0 0-.366L4.42 7.89a.25.25 0 0 0-.42.183V9.99l-.23-.001A3.75 3.75 0 0 0 0 13.738v1.012a.75.75 0 0 0 1.5 0v-1.013Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H9.75a.75.75 0 0 1 0-1.5h10.5a.25.25 0 0 0 .25-.25V9h-17v3A.75.75 0 0 1 2 12ZM9 7.5h11.5V3.75a.25.25 0 0 0-.25-.25H9Zm-5.5 0h4v-4H3.75a.25.25 0 0 0-.25.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m9.308 14.5-2.104-2.236a.75.75 0 1 1 1.092-1.028l3.294 3.5a.75.75 0 0 1 0 1.028l-3.294 3.5a.75.75 0 1 1-1.092-1.028L9.308 16H6.09a2.59 2.59 0 0 0-2.59 2.59v2.66a.75.75 0 0 1-1.5 0v-2.66a4.09 4.09 0 0 1 4.09-4.09h3.218Z\"\n }))\n }\n };\n});\nvar ProjectTemplateIcon = /*#__PURE__*/createIconComponent(\"ProjectTemplateIcon\", \"octicon octicon-project-template\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 1.75v1.562a.75.75 0 1 1-1.5 0V1.75C0 .784.784 0 1.75 0h1.562a.75.75 0 1 1 0 1.5H1.75a.25.25 0 0 0-.25.25ZM6.438 0h3.124a.75.75 0 1 1 0 1.5H6.438a.75.75 0 1 1 0-1.5Zm6.25 0h1.562C15.217 0 16 .784 16 1.75v1.562a.75.75 0 1 1-1.5 0V1.75a.25.25 0 0 0-.25-.25h-1.562a.75.75 0 1 1 0-1.5ZM1.5 6.438v3.124a.75.75 0 1 1-1.5 0V6.438a.75.75 0 1 1 1.5 0Zm14.5 0v3.124a.75.75 0 1 1-1.5 0V6.438a.75.75 0 1 1 1.5 0Zm-14.5 6.25v1.562c0 .138.112.25.25.25h1.562a.75.75 0 1 1 0 1.5H1.75A1.75 1.75 0 0 1 0 14.25v-1.562a.75.75 0 1 1 1.5 0Zm14.5 0v1.562A1.75 1.75 0 0 1 14.25 16h-1.562a.75.75 0 1 1 0-1.5h1.562a.25.25 0 0 0 .25-.25v-1.562a.75.75 0 1 1 1.5 0ZM6.438 14.5h3.124a.75.75 0 1 1 0 1.5H6.438a.75.75 0 1 1 0-1.5ZM6.5 3v1A.75.75 0 0 1 5 4V3a.75.75 0 0 1 1.5 0ZM2.25 5.75A.75.75 0 0 1 3 5h1a.75.75 0 0 1 0 1.5H3a.75.75 0 0 1-.75-.75Zm4.5 0A.75.75 0 0 1 7.5 5h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm-1 1a.75.75 0 0 1 .75.75v1a.75.75 0 0 1-1.5 0v-1a.75.75 0 0 1 .75-.75Zm.75 4v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0Zm3.5-5a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 3.5a.25.25 0 0 0-.25.25v2.062a.75.75 0 1 1-1.5 0V3.75C2 2.783 2.783 2 3.75 2h2.062a.75.75 0 1 1 0 1.5Zm13.688-.75a.75.75 0 0 1 .75-.75h2.062c.966 0 1.75.783 1.75 1.75v2.062a.75.75 0 1 1-1.5 0V3.75a.25.25 0 0 0-.25-.25h-2.062a.75.75 0 0 1-.75-.75ZM2.75 17.438a.75.75 0 0 1 .75.75v2.062c0 .138.112.25.25.25h2.062a.75.75 0 1 1 0 1.5H3.75A1.75 1.75 0 0 1 2 20.25v-2.062a.75.75 0 0 1 .75-.75Zm18.5 0a.75.75 0 0 1 .75.75v2.062A1.75 1.75 0 0 1 20.25 22h-2.062a.75.75 0 1 1 0-1.5h2.062a.25.25 0 0 0 .25-.25v-2.062a.75.75 0 0 1 .75-.75Zm-18.5-8.25a.75.75 0 0 1 .75.75v4.124a.75.75 0 1 1-1.5 0V9.938a.75.75 0 0 1 .75-.75ZM9.188 2.75a.75.75 0 0 1 .75-.75h4.124a.75.75 0 1 1 0 1.5H9.938a.75.75 0 0 1-.75-.75Zm0 18.5a.75.75 0 0 1 .75-.75h4.124a.75.75 0 1 1 0 1.5H9.938a.75.75 0 0 1-.75-.75ZM21.25 9.188a.75.75 0 0 1 .75.75v4.124a.75.75 0 1 1-1.5 0V9.938a.75.75 0 0 1 .75-.75ZM3.75 8.25a.75.75 0 0 1 .75-.75h2a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1-.75-.75Zm5.5 0A.75.75 0 0 1 10 7.5h2A.75.75 0 0 1 12 9h-2a.75.75 0 0 1-.75-.75Zm-1-4.5A.75.75 0 0 1 9 4.5v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75Zm0 5.5A.75.75 0 0 1 9 10v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75Zm0 4.75a.75.75 0 0 1 .75.75v4a.75.75 0 0 1-1.5 0v-4a.75.75 0 0 1 .75-.75ZM14 8.25a.75.75 0 0 1 .75-.75h4a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1-.75-.75Z\"\n })\n }\n };\n});\nvar PulseIcon = /*#__PURE__*/createIconComponent(\"PulseIcon\", \"octicon octicon-pulse\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.002 2.5a.75.75 0 0 1 .691.464l6.302 15.305 2.56-6.301a.75.75 0 0 1 .695-.468h4a.75.75 0 0 1 0 1.5h-3.495l-3.06 7.532a.75.75 0 0 1-1.389.004L8.997 5.21l-3.054 7.329A.75.75 0 0 1 5.25 13H.75a.75.75 0 0 1 0-1.5h4l3.558-8.538a.75.75 0 0 1 .694-.462Z\"\n })\n }\n };\n});\nvar QuestionIcon = /*#__PURE__*/createIconComponent(\"QuestionIcon\", \"octicon octicon-question\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.92 6.085h.001a.749.749 0 1 1-1.342-.67c.169-.339.436-.701.849-.977C6.845 4.16 7.369 4 8 4a2.756 2.756 0 0 1 1.637.525c.503.377.863.965.863 1.725 0 .448-.115.83-.329 1.15-.205.307-.47.513-.692.662-.109.072-.22.138-.313.195l-.006.004a6.24 6.24 0 0 0-.26.16.952.952 0 0 0-.276.245.75.75 0 0 1-1.248-.832c.184-.264.42-.489.692-.661.103-.067.207-.132.313-.195l.007-.004c.1-.061.182-.11.258-.161a.969.969 0 0 0 .277-.245C8.96 6.514 9 6.427 9 6.25a.612.612 0 0 0-.262-.525A1.27 1.27 0 0 0 8 5.5c-.369 0-.595.09-.74.187a1.01 1.01 0 0 0-.34.398ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.97 8.265a1.45 1.45 0 0 0-.487.57.75.75 0 0 1-1.341-.67c.2-.402.513-.826.997-1.148C10.627 6.69 11.244 6.5 12 6.5c.658 0 1.369.195 1.934.619a2.45 2.45 0 0 1 1.004 2.006c0 1.033-.513 1.72-1.027 2.215-.19.183-.399.358-.579.508l-.147.123a4.329 4.329 0 0 0-.435.409v1.37a.75.75 0 1 1-1.5 0v-1.473c0-.237.067-.504.247-.736.22-.28.486-.517.718-.714l.183-.153.001-.001c.172-.143.324-.27.47-.412.368-.355.569-.676.569-1.136a.953.953 0 0 0-.404-.806C12.766 8.118 12.384 8 12 8c-.494 0-.814.121-1.03.265ZM13 17a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"\n }))\n }\n };\n});\nvar QuoteIcon = /*#__PURE__*/createIconComponent(\"QuoteIcon\", \"octicon octicon-quote\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 2.5h10.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5Zm4 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5ZM2.5 7.75v6a.75.75 0 0 1-1.5 0v-6a.75.75 0 0 1 1.5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 6.25a.75.75 0 0 1 .75-.75h13.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 6.25Zm5 6.063a.75.75 0 0 1 .75-.75h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1-.75-.75Zm0 5.937a.75.75 0 0 1 .75-.75h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1-.75-.75ZM3.75 11a.75.75 0 0 1 .75.75v7a.75.75 0 0 1-1.5 0v-7a.75.75 0 0 1 .75-.75Z\"\n })\n }\n };\n});\nvar ReadIcon = /*#__PURE__*/createIconComponent(\"ReadIcon\", \"octicon octicon-read\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.115.65a1.752 1.752 0 0 1 1.77 0l6.25 3.663c.536.314.865.889.865 1.51v6.427A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25V5.823c0-.621.33-1.196.865-1.51Zm1.011 1.293a.252.252 0 0 0-.252 0l-5.72 3.353L6.468 7.76a2.748 2.748 0 0 1 3.066 0l4.312-2.464-5.719-3.353ZM13.15 12.5 8.772 9.06a1.25 1.25 0 0 0-1.544 0L2.85 12.5Zm1.35-5.85-3.687 2.106 3.687 2.897ZM5.187 8.756 1.5 6.65v5.003Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.89 1.767a2.252 2.252 0 0 1 2.22 0l9.75 5.525A2.25 2.25 0 0 1 24 9.249v9.501A2.25 2.25 0 0 1 21.75 21H2.25A2.25 2.25 0 0 1 0 18.75v-9.5c0-.81.435-1.558 1.14-1.958Zm1.48 1.305a.75.75 0 0 0-.74 0l-9.316 5.28 7.41 4.233a3.75 3.75 0 0 1 4.553 0l7.41-4.234-9.317-5.28ZM20.65 19.5l-7.26-5.704a2.25 2.25 0 0 0-2.78 0L3.35 19.5Zm1.85-9.886-6.95 3.971 6.663 5.236c.089.07.161.159.21.26a.745.745 0 0 0 .077-.331ZM8.45 13.585 1.5 9.614v9.136c0 .119.028.23.076.33a.744.744 0 0 1 .21-.259Z\"\n })\n }\n };\n});\nvar RedoIcon = /*#__PURE__*/createIconComponent(\"RedoIcon\", \"octicon octicon-redo\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.78 6.28a.749.749 0 0 0 0-1.06l-3.5-3.5a.749.749 0 1 0-1.06 1.06L12.439 5H5.251l-.001.007L5.251 5a.8.8 0 0 0-.171.019A4.501 4.501 0 0 0 5.5 14h1.704a.75.75 0 0 0 0-1.5H5.5a3 3 0 1 1 0-6h6.939L10.22 8.72a.749.749 0 1 0 1.06 1.06l3.5-3.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.72 2.22a.75.75 0 0 1 1.06 0l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 1 1-1.06-1.06l4.97-4.97H8.25c-.797 0-2.008.245-3 .959-.952.686-1.75 1.835-1.75 3.791s.798 3.105 1.75 3.791c.992.714 2.203.959 3 .959h3a.75.75 0 0 1 0 1.5h-3c-1.037 0-2.575-.305-3.876-1.241C3.035 18.545 2 16.944 2 14.5c0-2.444 1.035-4.045 2.374-5.009C5.675 8.555 7.214 8.25 8.25 8.25h11.44l-4.97-4.97a.75.75 0 0 1 0-1.06Z\"\n })\n }\n };\n});\nvar RelFilePathIcon = /*#__PURE__*/createIconComponent(\"RelFilePathIcon\", \"octicon octicon-rel-file-path\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.94 3.045a.75.75 0 0 0-1.38-.59l-4.5 10.5a.75.75 0 1 0 1.38.59l4.5-10.5ZM5 11.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.564 4.42a.75.75 0 0 0-1.378-.59l-6.75 15.75a.75.75 0 0 0 1.378.59l6.75-15.75ZM7 18.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"\n })\n }\n };\n});\nvar ReplyIcon = /*#__PURE__*/createIconComponent(\"ReplyIcon\", \"octicon octicon-reply\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.78 1.97a.75.75 0 0 1 0 1.06L3.81 6h6.44A4.75 4.75 0 0 1 15 10.75v2.5a.75.75 0 0 1-1.5 0v-2.5a3.25 3.25 0 0 0-3.25-3.25H3.81l2.97 2.97a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L1.47 7.28a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.53 5.03a.75.75 0 1 0-1.06-1.06l-6.25 6.25a.75.75 0 0 0 0 1.06l6.25 6.25a.75.75 0 1 0 1.06-1.06L5.56 11.5H17a3.248 3.248 0 0 1 3.25 3.248v4.502a.75.75 0 0 0 1.5 0v-4.502A4.748 4.748 0 0 0 17 10H5.56l4.97-4.97Z\"\n })\n }\n };\n});\nvar RepoIcon = /*#__PURE__*/createIconComponent(\"RepoIcon\", \"octicon octicon-repo\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 2.75A2.75 2.75 0 0 1 5.75 0h14.5a.75.75 0 0 1 .75.75v20.5a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h5.25v-4H6A1.5 1.5 0 0 0 4.5 18v.75c0 .716.43 1.334 1.05 1.605a.75.75 0 0 1-.6 1.374A3.251 3.251 0 0 1 3 18.75ZM19.5 1.5H5.75c-.69 0-1.25.56-1.25 1.25v12.651A2.989 2.989 0 0 1 6 15h13.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 18.25a.25.25 0 0 1 .25-.25h5a.25.25 0 0 1 .25.25v5.01a.25.25 0 0 1-.397.201l-2.206-1.604a.25.25 0 0 0-.294 0L7.397 23.46a.25.25 0 0 1-.397-.2v-5.01Z\"\n }))\n }\n };\n});\nvar RepoCloneIcon = /*#__PURE__*/createIconComponent(\"RepoCloneIcon\", \"octicon octicon-repo-clone\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.5 0A2.5 2.5 0 0 0 1 2.5v9A2.5 2.5 0 0 0 3.5 14h2.75a.75.75 0 0 0 0-1.5H3.5a1 1 0 0 1 0-2h2.75a.75.75 0 0 0 0-1.5H3.5c-.356 0-.694.074-1 .208V2.5a1 1 0 0 1 1-1h8v2.75a.75.75 0 0 0 1.5 0V.75a.75.75 0 0 0-.75-.75H3.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 8.058C8 7.023 8.75 6 9.887 6h5.363a.75.75 0 0 1 .75.75v8.5a.75.75 0 0 1-.75.75h-5A2.25 2.25 0 0 1 8 13.75Zm6.5 3.442v-4H9.887c-.07 0-.156.031-.238.125a.663.663 0 0 0-.149.433v3.57c.235-.083.487-.128.75-.128Zm-5 2.25c0 .414.336.75.75.75h4.25V13h-4.25a.75.75 0 0 0-.75.75Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.375.375a2.5 2.5 0 0 0-2.5 2.5v15.25a2.5 2.5 0 0 0 2.5 2.5h5.187a.75.75 0 1 0 0-1.5H4.375a1 1 0 0 1-1-1v-1.75a1 1 0 0 1 1-1h5.687a.75.75 0 1 0 0-1.5H4.375c-.356 0-.694.074-1 .208V2.875a1 1 0 0 1 1-1h13.25v5.25a.75.75 0 0 0 1.5 0v-6a.75.75 0 0 0-.75-.75h-14Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.375 12.087c0-1.396 1.005-2.712 2.456-2.712h8.044a.75.75 0 0 1 .75.75v12.75a.75.75 0 0 1-.75.75h-7.5a3 3 0 0 1-3-3Zm9.75 5.538v-6.75h-7.294c-.433 0-.956.441-.956 1.212v5.939a2.989 2.989 0 0 1 1.5-.401Zm-8.25 3a1.5 1.5 0 0 0 1.5 1.5h6.75v-3h-6.75a1.5 1.5 0 0 0-1.5 1.5Z\"\n }))\n }\n };\n});\nvar RepoDeleteIcon = /*#__PURE__*/createIconComponent(\"RepoDeleteIcon\", \"octicon octicon-repo-delete\", function () {\n return {\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.75 0A2.75 2.75 0 0 0 2 2.75v16.5A2.75 2.75 0 0 0 4.75 22h8a.75.75 0 0 0 0-1.5h-8c-.69 0-1.25-.56-1.25-1.25V18A1.5 1.5 0 0 1 5 16.5h7.75a.75.75 0 0 0 0-1.5H5c-.546 0-1.059.146-1.5.401V2.75c0-.69.56-1.25 1.25-1.25H18.5v12.25a.75.75 0 0 0 1.5 0v-13a.75.75 0 0 0-.75-.75H4.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.22 16.22a.75.75 0 0 1 1.06 0L19 18.94l2.72-2.72a.75.75 0 1 1 1.06 1.06L20.06 20l2.72 2.72a.75.75 0 1 1-1.06 1.06L19 21.06l-2.72 2.72a.75.75 0 1 1-1.06-1.06L17.94 20l-2.72-2.72a.75.75 0 0 1 0-1.06Z\"\n }))\n }\n };\n});\nvar RepoDeletedIcon = /*#__PURE__*/createIconComponent(\"RepoDeletedIcon\", \"octicon octicon-repo-deleted\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 2.5A2.5 2.5 0 0 1 3.5 0h8.75a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0V1.5h-8a1 1 0 0 0-1 1v6.708A2.492 2.492 0 0 1 3.5 9h4.75a.75.75 0 0 1 0 1.5H3.5a1 1 0 1 0 0 2h4.75a.75.75 0 0 1 0 1.5H3.5A2.5 2.5 0 0 1 1 11.5v-9Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.28 10.22a.75.75 0 1 0-1.06 1.06L11.94 13l-1.72 1.72a.75.75 0 1 0 1.06 1.06L13 14.06l1.72 1.72a.75.75 0 1 0 1.06-1.06L14.06 13l1.72-1.72a.75.75 0 1 0-1.06-1.06L13 11.94l-1.72-1.72Z\"\n }))\n }\n };\n});\nvar RepoForkedIcon = /*#__PURE__*/createIconComponent(\"RepoForkedIcon\", \"octicon octicon-repo-forked\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.75 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM15 4.75a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm-12.5 0a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM5.75 6.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 6.5ZM12 21a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 12 21Zm6.25-14.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 18.25 6.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.5 7.75v1A2.25 2.25 0 0 0 8.75 11h6.5a2.25 2.25 0 0 0 2.25-2.25v-1H19v1a3.75 3.75 0 0 1-3.75 3.75h-6.5A3.75 3.75 0 0 1 5 8.75v-1Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.25 16.25v-5h1.5v5h-1.5Z\"\n }))\n }\n };\n});\nvar RepoLockedIcon = /*#__PURE__*/createIconComponent(\"RepoLockedIcon\", \"octicon octicon-repo-locked\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 2.5A2.5 2.5 0 0 1 3.5 0h8.75a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0V1.5h-8a1 1 0 0 0-1 1v6.708A2.492 2.492 0 0 1 3.5 9h2.75a.75.75 0 0 1 0 1.5H3.5a1 1 0 1 0 0 2h2.75a.75.75 0 0 1 0 1.5H3.5A2.5 2.5 0 0 1 1 11.5v-9Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 10.168V9a3 3 0 1 1 6 0v1.168c.591.281 1 .884 1 1.582v2.5A1.75 1.75 0 0 1 14.25 16h-4.5A1.75 1.75 0 0 1 8 14.25v-2.5c0-.698.409-1.3 1-1.582ZM13.5 10V9a1.5 1.5 0 0 0-3 0v1Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 2.75A2.75 2.75 0 0 1 4.75 0h14.5a.75.75 0 0 1 .75.75v8a.75.75 0 0 1-1.5 0V1.5H4.75c-.69 0-1.25.56-1.25 1.25v12.651A2.987 2.987 0 0 1 5 15h6.25a.75.75 0 0 1 0 1.5H5A1.5 1.5 0 0 0 3.5 18v1.25c0 .69.56 1.25 1.25 1.25h6a.75.75 0 0 1 0 1.5h-6A2.75 2.75 0 0 1 2 19.25V2.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 14.5a3.5 3.5 0 1 1 7 0V16h.25c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0 1 22.25 24h-7.5A1.75 1.75 0 0 1 13 22.25v-4.5c0-.966.784-1.75 1.75-1.75H15Zm3.5-2a2 2 0 0 0-2 2V16h4v-1.5a2 2 0 0 0-2-2Z\"\n }))\n }\n };\n});\nvar RepoPullIcon = /*#__PURE__*/createIconComponent(\"RepoPullIcon\", \"octicon octicon-repo-pull\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 2.5A2.5 2.5 0 0 1 3.5 0h8.75a.75.75 0 0 1 .75.75V6a.75.75 0 0 1-1.5 0V1.5h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 3.5 9h3a.75.75 0 0 1 0 1.5h-3a1 1 0 0 0 0 2h3a.75.75 0 0 1 0 1.5h-3A2.5 2.5 0 0 1 1 11.5v-9Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.21 13.479a.75.75 0 1 0 1.061 1.061l2.504-2.505a.75.75 0 0 0 0-1.061L13.271 8.47a.75.75 0 0 0-1.061 1.06l1.224 1.225H8.75a.75.75 0 1 0 0 1.5h4.685l-1.225 1.224Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.875 2.875a2.5 2.5 0 0 1 2.5-2.5h14a.75.75 0 0 1 .75.75v9.125a.75.75 0 0 1-1.5 0V1.875H4.375a1 1 0 0 0-1 1v11.208a2.486 2.486 0 0 1 1-.208h5.937a.75.75 0 1 1 0 1.5H4.375a1 1 0 0 0-1 1v1.75a1 1 0 0 0 1 1h6a.75.75 0 0 1 0 1.5h-6a2.5 2.5 0 0 1-2.5-2.5V2.875Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.643 20.484a.749.749 0 1 0 1.061 1.06l3.757-3.757a.75.75 0 0 0 0-1.06l-3.757-3.757a.75.75 0 0 0-1.061 1.06l2.476 2.477H13a.75.75 0 0 0 0 1.5h8.12l-2.477 2.477Z\"\n }))\n }\n };\n});\nvar RepoPushIcon = /*#__PURE__*/createIconComponent(\"RepoPushIcon\", \"octicon octicon-repo-push\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 2.5A2.5 2.5 0 0 1 3.5 0h8.75a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0V1.5h-8a1 1 0 0 0-1 1v6.708A2.493 2.493 0 0 1 3.5 9h3.25a.75.75 0 0 1 0 1.5H3.5a1 1 0 0 0 0 2h5.75a.75.75 0 0 1 0 1.5H3.5A2.5 2.5 0 0 1 1 11.5Zm13.23 7.79h-.001l-1.224-1.224v6.184a.75.75 0 0 1-1.5 0V9.066L10.28 10.29a.75.75 0 0 1-1.06-1.061l2.505-2.504a.75.75 0 0 1 1.06 0L15.29 9.23a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.75 0A2.75 2.75 0 0 0 2 2.75v16.5A2.75 2.75 0 0 0 4.75 22h11a.75.75 0 0 0 0-1.5h-11c-.69 0-1.25-.56-1.25-1.25V18A1.5 1.5 0 0 1 5 16.5h7.25a.75.75 0 0 0 0-1.5H5c-.546 0-1.059.146-1.5.401V2.75c0-.69.56-1.25 1.25-1.25H18.5v7a.75.75 0 0 0 1.5 0V.75a.75.75 0 0 0-.75-.75H4.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m20 13.903 2.202 2.359a.75.75 0 0 0 1.096-1.024l-3.5-3.75a.75.75 0 0 0-1.096 0l-3.5 3.75a.75.75 0 1 0 1.096 1.024l2.202-2.36v9.348a.75.75 0 0 0 1.5 0v-9.347Z\"\n }))\n }\n };\n});\nvar RepoTemplateIcon = /*#__PURE__*/createIconComponent(\"RepoTemplateIcon\", \"octicon octicon-repo-template\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.25 8a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-.75a.75.75 0 0 1 0-1.5h.75v-.25a.75.75 0 0 1 .75-.75ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2ZM2.75 8a.75.75 0 0 1 .75.75v.268c.083-.012.166-.018.25-.018h.5a.75.75 0 0 1 0 1.5h-.5a.25.25 0 0 0-.25.25v.75c0 .28.114.532.3.714a.75.75 0 1 1-1.05 1.072A2.495 2.495 0 0 1 2 11.5V8.75A.75.75 0 0 1 2.75 8ZM11 .75a.75.75 0 0 1 .75-.75h1.5a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0V1.5h-.75A.75.75 0 0 1 11 .75Zm-5 0A.75.75 0 0 1 6.75 0h2.5a.75.75 0 0 1 0 1.5h-2.5A.75.75 0 0 1 6 .75Zm0 9A.75.75 0 0 1 6.75 9h2.5a.75.75 0 0 1 0 1.5h-2.5A.75.75 0 0 1 6 9.75ZM4.992.662a.75.75 0 0 1-.636.848c-.436.063-.783.41-.846.846a.751.751 0 0 1-1.485-.212A2.501 2.501 0 0 1 4.144.025a.75.75 0 0 1 .848.637ZM2.75 4a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5A.75.75 0 0 1 2.75 4Zm10.5 0a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5a.75.75 0 0 1 .75-.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.75 0A2.75 2.75 0 0 0 3 2.75v1a.75.75 0 0 0 1.5 0v-1c0-.69.56-1.25 1.25-1.25h1a.75.75 0 0 0 0-1.5h-1Zm4 0a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5Zm7.5 0a.75.75 0 0 0 0 1.5h2.25v2.25a.75.75 0 0 0 1.5 0v-3a.75.75 0 0 0-.75-.75h-3ZM4.5 6.5a.75.75 0 0 0-1.5 0v3.75a.75.75 0 0 0 1.5 0V6.5Zm16.5 0a.75.75 0 0 0-1.5 0v3.75a.75.75 0 0 0 1.5 0V6.5ZM4.5 13.25a.75.75 0 0 0-1.5 0v5.5a3.25 3.25 0 0 0 1.95 2.98.75.75 0 1 0 .6-1.375A1.75 1.75 0 0 1 4.5 18.75V18A1.5 1.5 0 0 1 6 16.5h.75a.75.75 0 0 0 0-1.5H6c-.546 0-1.059.146-1.5.401V13.25Zm16.5 0a.75.75 0 0 0-1.5 0V15h-2.25a.75.75 0 0 0 0 1.5h2.25v4h-5.25a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 .75-.75v-8ZM9.75 15a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5Zm-2.353 8.461A.25.25 0 0 1 7 23.26v-5.01a.25.25 0 0 1 .25-.25h5a.25.25 0 0 1 .25.25v5.01a.25.25 0 0 1-.397.201l-2.206-1.604a.25.25 0 0 0-.294 0L7.397 23.46Z\"\n })\n }\n };\n});\nvar ReportIcon = /*#__PURE__*/createIconComponent(\"ReportIcon\", \"octicon octicon-report\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.586a.25.25 0 0 0-.177.073l-3.5 3.5A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.427-3.427A1.75 1.75 0 0 1 11.164 17h9.586a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25ZM12 6a.75.75 0 0 1 .75.75v4a.75.75 0 0 1-1.5 0v-4A.75.75 0 0 1 12 6Zm0 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\n })\n }\n };\n});\nvar RocketIcon = /*#__PURE__*/createIconComponent(\"RocketIcon\", \"octicon octicon-rocket\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.322.75h1.176a1.75 1.75 0 0 1 1.75 1.749v1.177a10.75 10.75 0 0 1-2.925 7.374l-1.228 1.304a23.699 23.699 0 0 1-1.596 1.542v5.038c0 .615-.323 1.184-.85 1.5l-4.514 2.709a.75.75 0 0 1-1.12-.488l-.963-4.572a1.305 1.305 0 0 1-.14-.129L8.04 15.96l-1.994-1.873a1.305 1.305 0 0 1-.129-.14l-4.571-.963a.75.75 0 0 1-.49-1.12l2.71-4.514c.316-.527.885-.85 1.5-.85h5.037a23.668 23.668 0 0 1 1.542-1.594l1.304-1.23A10.753 10.753 0 0 1 20.321.75Zm-6.344 4.018v-.001l-1.304 1.23a22.275 22.275 0 0 0-3.255 3.851l-2.193 3.29 1.859 1.744a.545.545 0 0 1 .034.034l1.743 1.858 3.288-2.192a22.263 22.263 0 0 0 3.854-3.257l1.228-1.303a9.251 9.251 0 0 0 2.517-6.346V2.5a.25.25 0 0 0-.25-.25h-1.177a9.252 9.252 0 0 0-6.344 2.518ZM6.5 21c-1.209 1.209-3.901 1.445-4.743 1.49a.236.236 0 0 1-.18-.067.236.236 0 0 1-.067-.18c.045-.842.281-3.534 1.49-4.743.9-.9 2.6-.9 3.5 0 .9.9.9 2.6 0 3.5Zm-.592-8.588L8.17 9.017c.23-.346.47-.685.717-1.017H5.066a.25.25 0 0 0-.214.121l-2.167 3.612ZM16 15.112c-.333.248-.672.487-1.018.718l-3.393 2.262.678 3.223 3.612-2.167a.25.25 0 0 0 .121-.214ZM17.5 8a1.5 1.5 0 1 1-3.001-.001A1.5 1.5 0 0 1 17.5 8Z\"\n })\n }\n };\n});\nvar RowsIcon = /*#__PURE__*/createIconComponent(\"RowsIcon\", \"octicon octicon-rows\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 10.75v2.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25v-2.5C0 9.784.784 9 1.75 9h12.5c.966 0 1.75.784 1.75 1.75Zm0-8v2.5A1.75 1.75 0 0 1 14.25 7H1.75A1.75 1.75 0 0 1 0 5.25v-2.5C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75Zm-1.75-.25H1.75a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-2.5a.25.25 0 0 0-.25-.25Zm0 8H1.75a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-2.5a.25.25 0 0 0-.25-.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 3.75v5.5A1.75 1.75 0 0 1 20.25 11H3.75A1.75 1.75 0 0 1 2 9.25v-5.5C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75Zm0 11v5.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25v-5.5c0-.966.784-1.75 1.75-1.75h16.5c.966 0 1.75.784 1.75 1.75ZM20.25 3.5H3.75a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Zm0 11H3.75a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Z\"\n })\n }\n };\n});\nvar RssIcon = /*#__PURE__*/createIconComponent(\"RssIcon\", \"octicon octicon-rss\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.002 2.725a.75.75 0 0 1 .797-.699C8.79 2.42 13.58 7.21 13.974 13.201a.75.75 0 0 1-1.497.098 10.502 10.502 0 0 0-9.776-9.776.747.747 0 0 1-.7-.798ZM2.84 7.05h-.002a7.002 7.002 0 0 1 6.113 6.111.75.75 0 0 1-1.49.178 5.503 5.503 0 0 0-4.8-4.8.75.75 0 0 1 .179-1.489ZM2 13a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.5 3.25a.75.75 0 0 1 .75-.75C14.053 2.5 22 10.447 22 20.25a.75.75 0 0 1-1.5 0C20.5 11.275 13.225 4 4.25 4a.75.75 0 0 1-.75-.75Zm.75 6.25C10.187 9.5 15 14.313 15 20.25a.75.75 0 0 1-1.5 0A9.25 9.25 0 0 0 4.25 11a.75.75 0 0 1 0-1.5ZM3.5 19a2 2 0 1 1 3.999-.001A2 2 0 0 1 3.5 19Z\"\n })\n }\n };\n});\nvar RubyIcon = /*#__PURE__*/createIconComponent(\"RubyIcon\", \"octicon octicon-ruby\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.637 2.291A.748.748 0 0 1 4.23 2h7.54c.232 0 .451.107.593.291l3.48 4.5a.75.75 0 0 1-.072.999l-7.25 7a.75.75 0 0 1-1.042 0l-7.25-7a.75.75 0 0 1-.072-.999ZM4.598 3.5 1.754 7.177 8 13.207l6.246-6.03L11.402 3.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.873 3.26A.748.748 0 0 1 6.44 3h11.31c.223 0 .434.099.576.27l5 6a.75.75 0 0 1-.028.992l-10.75 11.5a.75.75 0 0 1-1.096 0l-10.75-11.5a.75.75 0 0 1-.02-1.003l5.19-6Zm.91 1.24L2.258 9.73 12 20.153l9.75-10.43L17.399 4.5Z\"\n })\n }\n };\n});\nvar ScreenFullIcon = /*#__PURE__*/createIconComponent(\"ScreenFullIcon\", \"octicon octicon-screen-full\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 10a.75.75 0 0 1 .75.75v2.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 0 1.5h-2.5A1.75 1.75 0 0 1 1 13.25v-2.5a.75.75 0 0 1 .75-.75Zm12.5 0a.75.75 0 0 1 .75.75v2.5A1.75 1.75 0 0 1 13.25 15h-2.5a.75.75 0 0 1 0-1.5h2.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 .75-.75ZM2.75 2.5a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0v-2.5C1 1.784 1.784 1 2.75 1h2.5a.75.75 0 0 1 0 1.5ZM10 1.75a.75.75 0 0 1 .75-.75h2.5c.966 0 1.75.784 1.75 1.75v2.5a.75.75 0 0 1-1.5 0v-2.5a.25.25 0 0 0-.25-.25h-2.5a.75.75 0 0 1-.75-.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 15a.75.75 0 0 1 .75.75v3.5c0 .138.112.25.25.25h3.5a.75.75 0 0 1 0 1.5h-3.5A1.75 1.75 0 0 1 3 19.25v-3.5a.75.75 0 0 1 .75-.75Zm16.5 0a.75.75 0 0 1 .75.75v3.5A1.75 1.75 0 0 1 19.25 21h-3.5a.75.75 0 0 1 0-1.5h3.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 .75-.75ZM4.75 4.5a.25.25 0 0 0-.25.25v3.5a.75.75 0 0 1-1.5 0v-3.5C3 3.784 3.784 3 4.75 3h3.5a.75.75 0 0 1 0 1.5ZM15 3.75a.75.75 0 0 1 .75-.75h3.5c.966 0 1.75.784 1.75 1.75v3.5a.75.75 0 0 1-1.5 0v-3.5a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1-.75-.75Z\"\n })\n }\n };\n});\nvar ScreenNormalIcon = /*#__PURE__*/createIconComponent(\"ScreenNormalIcon\", \"octicon octicon-screen-normal\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.75 1a.75.75 0 0 1 .75.75v2.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 0 1.5h-2.5A1.75 1.75 0 0 1 10 4.25v-2.5a.75.75 0 0 1 .75-.75Zm-5.5 0a.75.75 0 0 1 .75.75v2.5A1.75 1.75 0 0 1 4.25 6h-2.5a.75.75 0 0 1 0-1.5h2.5a.25.25 0 0 0 .25-.25v-2.5A.75.75 0 0 1 5.25 1ZM1 10.75a.75.75 0 0 1 .75-.75h2.5c.966 0 1.75.784 1.75 1.75v2.5a.75.75 0 0 1-1.5 0v-2.5a.25.25 0 0 0-.25-.25h-2.5a.75.75 0 0 1-.75-.75Zm9 1c0-.966.784-1.75 1.75-1.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.75 3a.75.75 0 0 1 .75.75v3.5c0 .138.112.25.25.25h3.5a.75.75 0 0 1 0 1.5h-3.5A1.75 1.75 0 0 1 15 7.25v-3.5a.75.75 0 0 1 .75-.75Zm-7.5 0a.75.75 0 0 1 .75.75v3.5A1.75 1.75 0 0 1 7.25 9h-3.5a.75.75 0 0 1 0-1.5h3.5a.25.25 0 0 0 .25-.25v-3.5A.75.75 0 0 1 8.25 3ZM3 15.75a.75.75 0 0 1 .75-.75h3.5c.966 0 1.75.784 1.75 1.75v3.5a.75.75 0 0 1-1.5 0v-3.5a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1-.75-.75Zm12 1c0-.966.784-1.75 1.75-1.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v3.5a.75.75 0 0 1-1.5 0Z\"\n })\n }\n };\n});\nvar SearchIcon = /*#__PURE__*/createIconComponent(\"SearchIcon\", \"octicon octicon-search\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.25 2a8.25 8.25 0 0 1 6.34 13.53l5.69 5.69a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-5.69-5.69A8.25 8.25 0 1 1 10.25 2ZM3.5 10.25a6.75 6.75 0 1 0 13.5 0 6.75 6.75 0 0 0-13.5 0Z\"\n })\n }\n };\n});\nvar ServerIcon = /*#__PURE__*/createIconComponent(\"ServerIcon\", \"octicon octicon-server\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.75 6.5a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5ZM6 7.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 7.25Zm4 9a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-3.25-.75a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.25 2h17.5c.966 0 1.75.784 1.75 1.75v7c0 .372-.116.716-.314 1 .198.284.314.628.314 1v7a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75v-7c0-.358.109-.707.314-1a1.741 1.741 0 0 1-.314-1v-7C1.5 2.784 2.284 2 3.25 2Zm0 10.5a.25.25 0 0 0-.25.25v7c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-7a.25.25 0 0 0-.25-.25Zm0-1.5h17.5a.25.25 0 0 0 .25-.25v-7a.25.25 0 0 0-.25-.25H3.25a.25.25 0 0 0-.25.25v7c0 .138.112.25.25.25Z\"\n }))\n }\n };\n});\nvar ShareIcon = /*#__PURE__*/createIconComponent(\"ShareIcon\", \"octicon octicon-share\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 6.5a.25.25 0 0 0-.25.25v6.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-6.5a.25.25 0 0 0-.25-.25h-1a.75.75 0 0 1 0-1.5h1c.966 0 1.75.784 1.75 1.75v6.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-6.5C2 5.784 2.784 5 3.75 5h1a.75.75 0 0 1 0 1.5ZM7.823.177a.25.25 0 0 1 .354 0l2.896 2.896a.25.25 0 0 1-.177.427H8.75v5.75a.75.75 0 0 1-1.5 0V3.5H5.104a.25.25 0 0 1-.177-.427Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.5 9.75v10.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V9.75a.25.25 0 0 0-.25-.25h-2.5a.75.75 0 0 1 0-1.5h2.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 18.25 22H5.75A1.75 1.75 0 0 1 4 20.25V9.75C4 8.784 4.784 8 5.75 8h2.5a.75.75 0 0 1 0 1.5h-2.5a.25.25 0 0 0-.25.25Zm7.03-8.53 3.25 3.25a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-1.97-1.97v10.69a.75.75 0 0 1-1.5 0V3.56L9.28 5.53a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0Z\"\n })\n }\n };\n});\nvar ShareAndroidIcon = /*#__PURE__*/createIconComponent(\"ShareAndroidIcon\", \"octicon octicon-share-android\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 3a3 3 0 0 1-5.175 2.066l-3.92 2.179a2.994 2.994 0 0 1 0 1.51l3.92 2.179a3 3 0 1 1-.73 1.31l-3.92-2.178a3 3 0 1 1 0-4.133l3.92-2.178A3 3 0 1 1 15 3Zm-1.5 10a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 13.5 13Zm-9-5a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 4.5 8Zm9-5a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 13.5 3Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 5.5a3.498 3.498 0 0 1-6.062 2.385l-5.112 3.021a3.498 3.498 0 0 1 0 2.188l5.112 3.021a3.5 3.5 0 1 1-.764 1.29l-5.112-3.02a3.499 3.499 0 1 1-3.843-5.642 3.499 3.499 0 0 1 3.843.872l5.112-3.021A3.5 3.5 0 1 1 20 5.5Zm-1.5 13a2 2 0 1 0-3.999-.001 2 2 0 0 0 3.999.001Zm0-13a2 2 0 1 0-3.999-.001A2 2 0 0 0 18.5 5.5ZM5.5 14a2 2 0 1 0 .001-3.999A2 2 0 0 0 5.5 14Z\"\n })\n }\n };\n});\nvar ShieldIcon = /*#__PURE__*/createIconComponent(\"ShieldIcon\", \"octicon octicon-shield\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 15.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-.25-8.25a.75.75 0 0 0-1.5 0v4.5a.75.75 0 0 0 1.5 0v-4.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.46.637a1.748 1.748 0 0 1 1.08 0l8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.77 10.705-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.771 20.704 2 16.19 2 10V4.976c0-.76.49-1.43 1.21-1.664Zm.617 1.426a.253.253 0 0 0-.154 0L3.673 4.74a.25.25 0 0 0-.173.237V10c0 5.461 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.46 20.5 10V4.976a.25.25 0 0 0-.173-.237Z\"\n }))\n }\n };\n});\nvar ShieldCheckIcon = /*#__PURE__*/createIconComponent(\"ShieldCheckIcon\", \"octicon octicon-shield-check\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z\"\n }))\n }\n };\n});\nvar ShieldLockIcon = /*#__PURE__*/createIconComponent(\"ShieldLockIcon\", \"octicon octicon-shield-lock\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM9.5 6.5c0 .536-.286 1.032-.75 1.3v2.45a.75.75 0 0 1-1.5 0V7.8A1.5 1.5 0 1 1 9.5 6.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.46 1.137a1.748 1.748 0 0 1 1.08 0l8.25 2.675A1.75 1.75 0 0 1 22 5.476V10.5c0 6.19-3.77 10.705-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.771 21.204 2 16.69 2 10.5V5.476c0-.76.49-1.43 1.21-1.664Zm.617 1.426a.253.253 0 0 0-.154 0L3.673 5.24a.25.25 0 0 0-.173.237V10.5c0 5.461 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0c5.15-1.943 8.43-5.965 8.43-11.426V5.476a.25.25 0 0 0-.173-.237ZM13 12.232V15a1 1 0 0 1-2 0v-2.768a2 2 0 1 1 2 0Z\"\n })\n }\n };\n});\nvar ShieldSlashIcon = /*#__PURE__*/createIconComponent(\"ShieldSlashIcon\", \"octicon octicon-shield-slash\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.533.133a1.75 1.75 0 0 0-1.066 0l-2.091.67a.75.75 0 0 0 .457 1.428l2.09-.67a.25.25 0 0 1 .153 0l5.25 1.68a.25.25 0 0 1 .174.239V7c0 .233-.008.464-.025.694a.75.75 0 1 0 1.495.112c.02-.27.03-.538.03-.806V3.48a1.75 1.75 0 0 0-1.217-1.667L8.533.133ZM1 2.857l-.69-.5a.75.75 0 1 1 .88-1.214l14.5 10.5a.75.75 0 1 1-.88 1.214l-1.282-.928c-.995 1.397-2.553 2.624-4.864 3.608-.425.181-.905.18-1.329 0-2.447-1.042-4.049-2.356-5.032-3.855C1.32 10.182 1 8.566 1 7Zm1.5 1.086V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297.05.02.106.02.153 0 2.127-.905 3.439-1.982 4.237-3.108Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.54 1.137a1.748 1.748 0 0 0-1.08 0L6.018 2.905a.75.75 0 1 0 .464 1.427l5.441-1.768a.239.239 0 0 1 .154 0l8.25 2.675a.249.249 0 0 1 .173.237V10.5c0 1.284-.24 2.83-.696 3.971a.75.75 0 1 0 1.392.557C21.74 13.67 22 11.927 22 10.5V5.476a1.75 1.75 0 0 0-1.21-1.664l-8.25-2.675ZM2.017 4.843l-.974-.748a.751.751 0 0 1 .914-1.19l20.5 15.75a.751.751 0 0 1-.914 1.19l-2.012-1.546-.702.852-.008.009a.07.07 0 0 1-.008.01c-1.603 1.821-3.731 3.223-6.214 4.16a1.699 1.699 0 0 1-1.198-.001C5.771 21.205 2 16.689 2 10.5V5c0-.054.006-.107.017-.157ZM3.5 5.982V10.5c0 5.461 3.281 9.483 8.431 11.426a.193.193 0 0 0 .138 0c2.283-.861 4.192-2.131 5.61-3.738l.662-.803Z\"\n })\n }\n };\n});\nvar ShieldXIcon = /*#__PURE__*/createIconComponent(\"ShieldXIcon\", \"octicon octicon-shield-x\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM6.78 5.22 8 6.44l1.22-1.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 7.5l1.22 1.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 8.56 6.78 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 7.5 5.72 6.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.28 7.72a.75.75 0 0 0-1.06 1.06l2.72 2.72-2.72 2.72a.75.75 0 1 0 1.06 1.06L12 12.56l2.72 2.72a.75.75 0 1 0 1.06-1.06l-2.72-2.72 2.72-2.72a.75.75 0 0 0-1.06-1.06L12 10.44 9.28 7.72Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z\"\n }))\n }\n };\n});\nvar SidebarCollapseIcon = /*#__PURE__*/createIconComponent(\"SidebarCollapseIcon\", \"octicon octicon-sidebar-collapse\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.823 7.823a.25.25 0 0 1 0 .354l-2.396 2.396A.25.25 0 0 1 4 10.396V5.604a.25.25 0 0 1 .427-.177Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25H9.5v-13H1.75a.25.25 0 0 0-.25.25ZM11 14.5h3.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.22 14.47 9.69 12 7.22 9.53a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l3 3a.75.75 0 0 1 0 1.06l-3 3a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75C2 2.784 2.784 2 3.75 2ZM3.5 3.75v16.5c0 .138.112.25.25.25H15v-17H3.75a.25.25 0 0 0-.25.25Zm13 16.75h3.75a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H16.5Z\"\n }))\n }\n };\n});\nvar SidebarExpandIcon = /*#__PURE__*/createIconComponent(\"SidebarExpandIcon\", \"octicon octicon-sidebar-expand\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m4.177 7.823 2.396-2.396A.25.25 0 0 1 7 5.604v4.792a.25.25 0 0 1-.427.177L4.177 8.177a.25.25 0 0 1 0-.354Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25H9.5v-13Zm12.5 13a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11v13Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.28 9.53 8.81 12l2.47 2.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-3-3a.75.75 0 0 1 0-1.06l3-3a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75C2 2.784 2.784 2 3.75 2ZM3.5 3.75v16.5c0 .138.112.25.25.25H15v-17H3.75a.25.25 0 0 0-.25.25Zm13 16.75h3.75a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H16.5Z\"\n }))\n }\n };\n});\nvar SignInIcon = /*#__PURE__*/createIconComponent(\"SignInIcon\", \"octicon octicon-sign-in\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 0 1 0 1.5h-2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 0 1.5h-2.5A1.75 1.75 0 0 1 2 13.25Zm6.56 4.5h5.69a.75.75 0 0 1 0 1.5H8.56l1.97 1.97a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L6.22 8.53a.75.75 0 0 1 0-1.06l3.25-3.25a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 3.25c0-.966.784-1.75 1.75-1.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.25.25 0 0 0-.25.25v17.5c0 .138.112.25.25.25h5.5a.75.75 0 0 1 0 1.5h-5.5A1.75 1.75 0 0 1 3 20.75Zm9.994 9.5 3.3 3.484a.75.75 0 0 1-1.088 1.032l-4.5-4.75a.75.75 0 0 1 0-1.032l4.5-4.75a.75.75 0 0 1 1.088 1.032l-3.3 3.484h8.256a.75.75 0 0 1 0 1.5Z\"\n })\n }\n };\n});\nvar SignOutIcon = /*#__PURE__*/createIconComponent(\"SignOutIcon\", \"octicon octicon-sign-out\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 0 1 0 1.5h-2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 0 1.5h-2.5A1.75 1.75 0 0 1 2 13.25Zm10.44 4.5-1.97-1.97a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l3.25 3.25a.75.75 0 0 1 0 1.06l-3.25 3.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.97-1.97H6.75a.75.75 0 0 1 0-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 3.25c0-.966.784-1.75 1.75-1.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.25.25 0 0 0-.25.25v17.5c0 .138.112.25.25.25h5.5a.75.75 0 0 1 0 1.5h-5.5A1.75 1.75 0 0 1 3 20.75Zm16.006 9.5H10.75a.75.75 0 0 1 0-1.5h8.256l-3.3-3.484a.75.75 0 0 1 1.088-1.032l4.5 4.75a.75.75 0 0 1 0 1.032l-4.5 4.75a.75.75 0 0 1-1.088-1.032Z\"\n })\n }\n };\n});\nvar SingleSelectIcon = /*#__PURE__*/createIconComponent(\"SingleSelectIcon\", \"octicon octicon-single-select\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m5.06 7.356 2.795 2.833c.08.081.21.081.29 0l2.794-2.833c.13-.131.038-.356-.145-.356H5.206c-.183 0-.275.225-.145.356Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25Zm1.75-.25a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m7.854 10.854 3.792 3.792a.5.5 0 0 0 .708 0l3.793-3.792a.5.5 0 0 0-.354-.854H8.207a.5.5 0 0 0-.353.854Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z\"\n }))\n }\n };\n});\nvar SkipIcon = /*#__PURE__*/createIconComponent(\"SkipIcon\", \"octicon octicon-skip\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm9.78-2.22-5.5 5.5a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l5.5-5.5a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.28 7.78a.75.75 0 0 0-1.06-1.06l-9.5 9.5a.75.75 0 1 0 1.06 1.06l9.5-9.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"\n }))\n }\n };\n});\nvar SkipFillIcon = /*#__PURE__*/createIconComponent(\"SkipFillIcon\", \"octicon octicon-skip-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm11.333-2.167a.825.825 0 0 0-1.166-1.166l-5.5 5.5a.825.825 0 0 0 1.166 1.166Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.333-4.167a.825.825 0 0 0-1.166-1.166l-9.5 9.5a.825.825 0 0 0 1.166 1.166Z\"\n })\n }\n };\n});\nvar SlidersIcon = /*#__PURE__*/createIconComponent(\"SlidersIcon\", \"octicon octicon-sliders\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 18.25a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75Zm-8-12a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5A.75.75 0 0 1 3 6.25Zm13 6a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75ZM8.75 16a.75.75 0 0 1 .75.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 .75-.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 18.25a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm0-6a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75ZM16.75 10a.75.75 0 0 1 .75.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 .75-.75ZM14 6.25a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75ZM11.25 4a.75.75 0 0 1 .75.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 .75-.75Z\"\n }))\n }\n };\n});\nvar SmileyIcon = /*#__PURE__*/createIconComponent(\"SmileyIcon\", \"octicon octicon-smiley\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm3.82 1.636a.75.75 0 0 1 1.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 0 1 1.222.87l-.022-.015c.02.013.021.015.021.015v.001l-.001.002-.002.003-.005.007-.014.019a2.066 2.066 0 0 1-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.331 3.331 0 0 1-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 0 1 .183-1.044ZM12 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM5 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm5.25 2.25.592.416a97.71 97.71 0 0 0-.592-.416Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.456 14.494a.75.75 0 0 1 1.068.17 3.08 3.08 0 0 0 .572.492A3.381 3.381 0 0 0 12 15.72c.855 0 1.487-.283 1.904-.562a3.081 3.081 0 0 0 .572-.492l.021-.026a.75.75 0 0 1 1.197.905l-.027.034c-.013.016-.03.038-.052.063-.044.05-.105.119-.184.198a4.569 4.569 0 0 1-.695.566A4.88 4.88 0 0 1 12 17.22a4.88 4.88 0 0 1-2.736-.814 4.57 4.57 0 0 1-.695-.566 3.253 3.253 0 0 1-.236-.261c-.259-.332-.223-.824.123-1.084Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 10.75a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM16.25 12a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"\n }))\n }\n };\n});\nvar SortAscIcon = /*#__PURE__*/createIconComponent(\"SortAscIcon\", \"octicon octicon-sort-asc\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m12.927 2.573 3 3A.25.25 0 0 1 15.75 6H13.5v6.75a.75.75 0 0 1-1.5 0V6H9.75a.25.25 0 0 1-.177-.427l3-3a.25.25 0 0 1 .354 0ZM0 12.25a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75Zm0-4a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5H.75A.75.75 0 0 1 0 8.25Zm0-4a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5H.75A.75.75 0 0 1 0 4.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.5 17.25a.75.75 0 0 1-1.5 0V7.56l-2.22 2.22a.75.75 0 1 1-1.06-1.06l3.5-3.5a.75.75 0 0 1 1.06 0l3.5 3.5a.75.75 0 0 1-1.06 1.06L18.5 7.56v9.69Zm-15.75.25a.75.75 0 0 1 0-1.5h9.5a.75.75 0 0 1 0 1.5h-9.5Zm0-5a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 0 1.5h-5.5Zm0-5a.75.75 0 0 1 0-1.5h3.5a.75.75 0 0 1 0 1.5h-3.5Z\"\n })\n }\n };\n});\nvar SortDescIcon = /*#__PURE__*/createIconComponent(\"SortDescIcon\", \"octicon octicon-sort-desc\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 4.25a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 0 1.5H.75A.75.75 0 0 1 0 4.25Zm0 4a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5H.75A.75.75 0 0 1 0 8.25Zm0 4a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75ZM13.5 10h2.25a.25.25 0 0 1 .177.427l-3 3a.25.25 0 0 1-.354 0l-3-3A.25.25 0 0 1 9.75 10H12V3.75a.75.75 0 0 1 1.5 0V10Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.5 16.44V6.75a.75.75 0 0 0-1.5 0v9.69l-2.22-2.22a.75.75 0 1 0-1.06 1.06l3.5 3.5a.75.75 0 0 0 1.06 0l3.5-3.5a.75.75 0 1 0-1.06-1.06l-2.22 2.22ZM2 7.25a.75.75 0 0 1 .75-.75h9.5a.75.75 0 0 1 0 1.5h-9.5A.75.75 0 0 1 2 7.25Zm0 5a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75Zm0 5a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75Z\"\n })\n }\n };\n});\nvar SparkleFillIcon = /*#__PURE__*/createIconComponent(\"SparkleFillIcon\", \"octicon octicon-sparkle-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.53 1.282a.5.5 0 0 1 .94 0l.478 1.306a7.492 7.492 0 0 0 4.464 4.464l1.305.478a.5.5 0 0 1 0 .94l-1.305.478a7.492 7.492 0 0 0-4.464 4.464l-.478 1.305a.5.5 0 0 1-.94 0l-.478-1.305a7.492 7.492 0 0 0-4.464-4.464L1.282 8.47a.5.5 0 0 1 0-.94l1.306-.478a7.492 7.492 0 0 0 4.464-4.464Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.296 1.924c.24-.656 1.168-.656 1.408 0l.717 1.958a11.25 11.25 0 0 0 6.697 6.697l1.958.717c.657.24.657 1.168 0 1.408l-1.958.717a11.25 11.25 0 0 0-6.697 6.697l-.717 1.958c-.24.657-1.168.657-1.408 0l-.717-1.958a11.25 11.25 0 0 0-6.697-6.697l-1.958-.717c-.656-.24-.656-1.168 0-1.408l1.958-.717a11.25 11.25 0 0 0 6.697-6.697l.717-1.958Z\"\n })\n }\n };\n});\nvar SponsorTiersIcon = /*#__PURE__*/createIconComponent(\"SponsorTiersIcon\", \"octicon octicon-sponsor-tiers\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.586 1C12.268 1 13.5 2.37 13.5 4.25c0 1.745-.996 3.359-2.622 4.831-.166.15-.336.297-.509.438l1.116 5.584a.75.75 0 0 1-.991.852l-2.409-.876a.25.25 0 0 0-.17 0l-2.409.876a.75.75 0 0 1-.991-.852L5.63 9.519a13.78 13.78 0 0 1-.51-.438C3.497 7.609 2.5 5.995 2.5 4.25 2.5 2.37 3.732 1 5.414 1c.963 0 1.843.403 2.474 1.073L8 2.198l.112-.125a3.385 3.385 0 0 1 2.283-1.068L10.586 1Zm-3.621 9.495-.718 3.594 1.155-.42a1.75 1.75 0 0 1 1.028-.051l.168.051 1.154.42-.718-3.592c-.199.13-.37.235-.505.314l-.169.097a.75.75 0 0 1-.72 0 9.54 9.54 0 0 1-.515-.308l-.16-.105ZM10.586 2.5c-.863 0-1.611.58-1.866 1.459-.209.721-1.231.721-1.44 0C7.025 3.08 6.277 2.5 5.414 2.5 4.598 2.5 4 3.165 4 4.25c0 1.23.786 2.504 2.128 3.719.49.443 1.018.846 1.546 1.198l.325.21.076-.047.251-.163a13.341 13.341 0 0 0 1.546-1.198C11.214 6.754 12 5.479 12 4.25c0-1.085-.598-1.75-1.414-1.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.004 1.25C18.311 1.25 20 3.128 20 5.75c0 2.292-1.23 4.464-3.295 6.485-.481.47-.98.909-1.482 1.31l.265 1.32 1.375 7.5a.75.75 0 0 1-.982.844l-3.512-1.207a.75.75 0 0 0-.488 0L8.37 23.209a.75.75 0 0 1-.982-.844l1.378-7.512.261-1.309c-.5-.4-1-.838-1.481-1.31C5.479 10.215 4.25 8.043 4.25 5.75c0-2.622 1.689-4.5 3.996-4.5 1.55 0 2.947.752 3.832 1.967l.047.067.047-.067a4.726 4.726 0 0 1 3.612-1.962l.22-.005ZM13.89 14.531c-.418.285-.828.542-1.218.77l-.18.103a.75.75 0 0 1-.734 0l-.071-.04-.46-.272c-.282-.173-.573-.36-.868-.562l-.121.605-1.145 6.239 2.3-.79a2.248 2.248 0 0 1 1.284-.054l.18.053 2.299.79-1.141-6.226-.125-.616ZM16.004 2.75c-1.464 0-2.731.983-3.159 2.459-.209.721-1.231.721-1.44 0-.428-1.476-1.695-2.459-3.16-2.459-1.44 0-2.495 1.173-2.495 3 0 1.811 1.039 3.647 2.844 5.412a19.624 19.624 0 0 0 3.734 2.84l-.019-.011-.184-.111.147-.088a19.81 19.81 0 0 0 3.015-2.278l.37-.352C17.46 9.397 18.5 7.561 18.5 5.75c0-1.827-1.055-3-2.496-3Z\"\n })\n }\n };\n});\nvar SquareIcon = /*#__PURE__*/createIconComponent(\"SquareIcon\", \"octicon octicon-square\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 5.75C4 4.784 4.784 4 5.75 4h4.5c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0 1 10.25 12h-4.5A1.75 1.75 0 0 1 4 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v4.5c0 .138.112.25.25.25h4.5a.25.25 0 0 0 .25-.25v-4.5a.25.25 0 0 0-.25-.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 7.75C6 6.784 6.784 6 7.75 6h8.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 16.25 18h-8.5A1.75 1.75 0 0 1 6 16.25Zm1.75-.25a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25Z\"\n })\n }\n };\n});\nvar SquareFillIcon = /*#__PURE__*/createIconComponent(\"SquareFillIcon\", \"octicon octicon-square-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.75 4h4.5c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0 1 10.25 12h-4.5A1.75 1.75 0 0 1 4 10.25v-4.5C4 4.784 4.784 4 5.75 4Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.75 6h8.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 16.25 18h-8.5A1.75 1.75 0 0 1 6 16.25v-8.5C6 6.784 6.784 6 7.75 6Z\"\n })\n }\n };\n});\nvar SquirrelIcon = /*#__PURE__*/createIconComponent(\"SquirrelIcon\", \"octicon octicon-squirrel\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.499.75a.75.75 0 0 1 1.5 0v.996C5.9 2.903 6.793 3.65 7.662 4.376l.24.202c-.036-.694.055-1.422.426-2.163C9.1.873 10.794-.045 12.622.26 14.408.558 16 1.94 16 4.25c0 1.278-.954 2.575-2.44 2.734l.146.508.065.22c.203.701.412 1.455.476 2.226.142 1.707-.4 3.03-1.487 3.898C11.714 14.671 10.27 15 8.75 15h-6a.75.75 0 0 1 0-1.5h1.376a4.484 4.484 0 0 1-.563-1.191 3.835 3.835 0 0 1-.05-2.063 4.647 4.647 0 0 1-2.025-.293.75.75 0 0 1 .525-1.406c1.357.507 2.376-.006 2.698-.318l.009-.01a.747.747 0 0 1 1.06 0 .748.748 0 0 1-.012 1.074c-.912.92-.992 1.835-.768 2.586.221.74.745 1.337 1.196 1.621H8.75c1.343 0 2.398-.296 3.074-.836.635-.507 1.036-1.31.928-2.602-.05-.603-.216-1.224-.422-1.93l-.064-.221c-.12-.407-.246-.84-.353-1.29a2.425 2.425 0 0 1-.507-.441 3.075 3.075 0 0 1-.633-1.248.75.75 0 0 1 1.455-.364c.046.185.144.436.31.627.146.168.353.305.712.305.738 0 1.25-.615 1.25-1.25 0-1.47-.95-2.315-2.123-2.51-1.172-.196-2.227.387-2.706 1.345-.46.92-.27 1.774.019 3.062l.042.19a.884.884 0 0 1 .01.05c.348.443.666.949.94 1.553a.75.75 0 1 1-1.365.62c-.553-1.217-1.32-1.94-2.3-2.768L6.7 5.527c-.814-.68-1.75-1.462-2.692-2.619a3.737 3.737 0 0 0-1.023.88c-.406.495-.663 1.036-.722 1.508.116.122.306.21.591.239.388.038.797-.06 1.032-.19a.75.75 0 0 1 .728 1.31c-.515.287-1.23.439-1.906.373-.682-.067-1.473-.38-1.879-1.193L.75 5.677V5.5c0-.984.48-1.94 1.077-2.664.46-.559 1.05-1.055 1.673-1.353V.75Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.377 3.49c-1.862-.31-3.718.62-4.456 2.095-.428.857-.691 1.624-.728 2.361-.035.71.138 1.444.67 2.252.644.854 1.199 1.913 1.608 3.346a.75.75 0 1 1-1.442.412c-.353-1.236-.82-2.135-1.372-2.865l-.008-.01c-.53-.698-1.14-1.242-1.807-1.778a50.724 50.724 0 0 0-.667-.524C9.024 7.884 7.71 6.863 6.471 5.16c-.59.287-1.248.798-1.806 1.454-.665.78-1.097 1.66-1.158 2.446.246.36.685.61 1.246.715.643.12 1.278.015 1.633-.182a.75.75 0 1 1 .728 1.311c-.723.402-1.728.516-2.637.346-.916-.172-1.898-.667-2.398-1.666L2 9.427V9.25c0-1.323.678-2.615 1.523-3.607.7-.824 1.59-1.528 2.477-1.917V2.75a.75.75 0 1 1 1.5 0v1.27c1.154 1.67 2.363 2.612 3.568 3.551.207.162.415.323.621.489.001-.063.003-.126.006-.188.052-1.034.414-2.017.884-2.958 1.06-2.118 3.594-3.313 6.044-2.904 1.225.204 2.329.795 3.125 1.748C22.546 4.713 23 5.988 23 7.5c0 1.496-.913 3.255-2.688 3.652.838 1.699 1.438 3.768 1.181 5.697-.269 2.017-1.04 3.615-2.582 4.675C17.409 22.558 15.288 23 12.5 23H4.75a.75.75 0 0 1 0-1.5h2.322c-.58-.701-.998-1.578-1.223-2.471-.327-1.3-.297-2.786.265-4.131-.92.091-1.985-.02-3.126-.445a.75.75 0 1 1 .524-1.406c1.964.733 3.428.266 4.045-.19.068-.06.137-.12.208-.18a.745.745 0 0 1 .861-.076.746.746 0 0 1 .32.368.752.752 0 0 1-.173.819c-.077.076-.16.15-.252.221-1.322 1.234-1.62 3.055-1.218 4.654.438 1.737 1.574 2.833 2.69 2.837H12.5c2.674 0 4.429-.433 5.56-1.212 1.094-.752 1.715-1.904 1.946-3.637.236-1.768-.445-3.845-1.407-5.529a.576.576 0 0 1-.012-.02 3.557 3.557 0 0 1-1.553-.94c-.556-.565-.89-1.243-1.012-1.73a.75.75 0 0 1 1.456-.364c.057.231.26.67.626 1.043.35.357.822.623 1.443.623 1.172 0 1.953-1.058 1.953-2.234 0-1.205-.357-2.127-.903-2.78-.547-.654-1.318-1.08-2.22-1.23Z\"\n })\n }\n };\n});\nvar StackIcon = /*#__PURE__*/createIconComponent(\"StackIcon\", \"octicon octicon-stack\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.122.392a1.75 1.75 0 0 1 1.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 0 1-1.756 0L2.119 5.456a1.251 1.251 0 0 1 0-2.162ZM8.125 1.69a.248.248 0 0 0-.25 0l-4.63 2.685 4.63 2.685a.248.248 0 0 0 .25 0l4.63-2.685ZM1.601 7.789a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0L1.874 8.814A.75.75 0 0 1 1.6 7.789Zm0 3.5a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0l-5.248-3.044a.75.75 0 0 1-.273-1.025Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z\"\n }))\n }\n };\n});\nvar StarIcon = /*#__PURE__*/createIconComponent(\"StarIcon\", \"octicon octicon-star\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 .25a.75.75 0 0 1 .673.418l3.058 6.197 6.839.994a.75.75 0 0 1 .415 1.279l-4.948 4.823 1.168 6.811a.751.751 0 0 1-1.088.791L12 18.347l-6.117 3.216a.75.75 0 0 1-1.088-.79l1.168-6.812-4.948-4.823a.75.75 0 0 1 .416-1.28l6.838-.993L11.328.668A.75.75 0 0 1 12 .25Zm0 2.445L9.44 7.882a.75.75 0 0 1-.565.41l-5.725.832 4.143 4.038a.748.748 0 0 1 .215.664l-.978 5.702 5.121-2.692a.75.75 0 0 1 .698 0l5.12 2.692-.977-5.702a.748.748 0 0 1 .215-.664l4.143-4.038-5.725-.831a.75.75 0 0 1-.565-.41L12 2.694Z\"\n })\n }\n };\n});\nvar StarFillIcon = /*#__PURE__*/createIconComponent(\"StarFillIcon\", \"octicon octicon-star-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m12.672.668 3.059 6.197 6.838.993a.75.75 0 0 1 .416 1.28l-4.948 4.823 1.168 6.812a.75.75 0 0 1-1.088.79L12 18.347l-6.116 3.216a.75.75 0 0 1-1.088-.791l1.168-6.811-4.948-4.823a.749.749 0 0 1 .416-1.279l6.838-.994L11.327.668a.75.75 0 0 1 1.345 0Z\"\n })\n }\n };\n});\nvar StopIcon = /*#__PURE__*/createIconComponent(\"StopIcon\", \"octicon octicon-stop\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 7a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0v-4.5A.75.75 0 0 1 12 7Zm0 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.328 1.47a.749.749 0 0 1 .53-.22h8.284c.199 0 .389.079.53.22l5.858 5.858c.141.14.22.33.22.53v8.284a.749.749 0 0 1-.22.53l-5.858 5.858a.749.749 0 0 1-.53.22H7.858a.749.749 0 0 1-.53-.22L1.47 16.672a.749.749 0 0 1-.22-.53V7.858c0-.199.079-.389.22-.53Zm.84 1.28L2.75 8.169v7.662l5.419 5.419h7.662l5.419-5.418V8.168L15.832 2.75Z\"\n }))\n }\n };\n});\nvar StopwatchIcon = /*#__PURE__*/createIconComponent(\"StopwatchIcon\", \"octicon octicon-stopwatch\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.75.75A.75.75 0 0 1 6.5 0h3a.75.75 0 0 1 0 1.5h-.75v1l-.001.041a6.724 6.724 0 0 1 3.464 1.435l.007-.006.75-.75a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734l-.75.75-.006.007a6.75 6.75 0 1 1-10.548 0L2.72 5.03l-.75-.75a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l.75.75.007.006A6.72 6.72 0 0 1 7.25 2.541V1.5H6.5a.75.75 0 0 1-.75-.75ZM8 14.5a5.25 5.25 0 1 0-.001-10.501A5.25 5.25 0 0 0 8 14.5Zm.389-6.7 1.33-1.33a.75.75 0 1 1 1.061 1.06L9.45 8.861A1.503 1.503 0 0 1 8 10.75a1.499 1.499 0 1 1 .389-2.95Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.25 0h3.5a.75.75 0 0 1 0 1.5h-1v1.278a9.954 9.954 0 0 1 5.636 2.276L19.72 3.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.315 1.316A9.959 9.959 0 0 1 22 12.75c0 5.523-4.477 10-10 10s-10-4.477-10-10a9.959 9.959 0 0 1 2.535-6.654L3.22 4.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l1.335 1.334a9.958 9.958 0 0 1 5.635-2.276V1.5h-1a.75.75 0 0 1 0-1.5ZM12 21.25a8.5 8.5 0 1 0-.001-17.001A8.5 8.5 0 0 0 12 21.25Zm4.03-12.53a.75.75 0 0 1 0 1.06l-2.381 2.382a1.75 1.75 0 1 1-1.06-1.06l2.38-2.382a.75.75 0 0 1 1.061 0Z\"\n })\n }\n };\n});\nvar StrikethroughIcon = /*#__PURE__*/createIconComponent(\"StrikethroughIcon\", \"octicon octicon-strikethrough\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.055 8.5c.524.536.815 1.257.811 2.007a3.133 3.133 0 0 1-1.12 2.408C9.948 13.597 8.748 14 7.096 14c-1.706 0-3.104-.607-3.902-1.377a.751.751 0 0 1 1.042-1.079c.48.463 1.487.956 2.86.956 1.422 0 2.232-.346 2.676-.726.435-.372.594-.839.594-1.267 0-.472-.208-.857-.647-1.197-.448-.346-1.116-.623-1.951-.81H1.75a.75.75 0 0 1 0-1.5h12.5a.75.75 0 0 1 0 1.5ZM7.581 3.25c-2.036 0-2.778 1.082-2.778 1.786 0 .055.002.107.006.157a.75.75 0 0 1-1.496.114 3.506 3.506 0 0 1-.01-.271c0-1.832 1.75-3.286 4.278-3.286 1.418 0 2.721.58 3.514 1.093a.75.75 0 1 1-.814 1.26c-.64-.414-1.662-.853-2.7-.853Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m16.533 12.5.054.043c.93.75 1.538 1.77 1.538 3.066a4.13 4.13 0 0 1-1.479 3.177c-1.058.904-2.679 1.464-4.974 1.464-2.35 0-4.252-.837-5.318-1.865a.75.75 0 1 1 1.042-1.08c.747.722 2.258 1.445 4.276 1.445 2.065 0 3.296-.504 3.999-1.105a2.63 2.63 0 0 0 .954-2.036c0-.764-.337-1.38-.979-1.898-.649-.523-1.598-.931-2.76-1.211H3.75a.75.75 0 0 1 0-1.5h16.5a.75.75 0 0 1 0 1.5ZM12.36 5C9.37 5 8.105 6.613 8.105 7.848c0 .411.072.744.193 1.02a.75.75 0 0 1-1.373.603 3.988 3.988 0 0 1-.32-1.623c0-2.363 2.271-4.348 5.755-4.348 1.931 0 3.722.794 4.814 1.5a.75.75 0 1 1-.814 1.26c-.94-.607-2.448-1.26-4-1.26Z\"\n })\n }\n };\n});\nvar SunIcon = /*#__PURE__*/createIconComponent(\"SunIcon\", \"octicon octicon-sun\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 12a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-1.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm5.657-8.157a.75.75 0 0 1 0 1.061l-1.061 1.06a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.06-1.06a.75.75 0 0 1 1.06 0Zm-9.193 9.193a.75.75 0 0 1 0 1.06l-1.06 1.061a.75.75 0 1 1-1.061-1.06l1.06-1.061a.75.75 0 0 1 1.061 0ZM8 0a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0V.75A.75.75 0 0 1 8 0ZM3 8a.75.75 0 0 1-.75.75H.75a.75.75 0 0 1 0-1.5h1.5A.75.75 0 0 1 3 8Zm13 0a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1 0-1.5h1.5A.75.75 0 0 1 16 8Zm-8 5a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5A.75.75 0 0 1 8 13Zm3.536-1.464a.75.75 0 0 1 1.06 0l1.061 1.06a.75.75 0 0 1-1.06 1.061l-1.061-1.06a.75.75 0 0 1 0-1.061ZM2.343 2.343a.75.75 0 0 1 1.061 0l1.06 1.061a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-1.06-1.06a.75.75 0 0 1 0-1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 19a7 7 0 1 1 0-14 7 7 0 0 1 0 14Zm0-1.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 1 0 0 11Zm-5.657.157a.75.75 0 0 1 0 1.06l-1.768 1.768a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.767-1.768a.75.75 0 0 1 1.061 0ZM3.515 3.515a.75.75 0 0 1 1.06 0l1.768 1.768a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L3.515 4.575a.75.75 0 0 1 0-1.06ZM12 0a.75.75 0 0 1 .75.75v2.5a.75.75 0 0 1-1.5 0V.75A.75.75 0 0 1 12 0ZM4 12a.75.75 0 0 1-.75.75H.75a.75.75 0 0 1 0-1.5h2.5A.75.75 0 0 1 4 12Zm8 8a.75.75 0 0 1 .75.75v2.5a.75.75 0 0 1-1.5 0v-2.5A.75.75 0 0 1 12 20Zm12-8a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h2.5A.75.75 0 0 1 24 12Zm-6.343 5.657a.75.75 0 0 1 1.06 0l1.768 1.768a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-1.768-1.767a.75.75 0 0 1 0-1.061Zm2.828-14.142a.75.75 0 0 1 0 1.06l-1.768 1.768a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l1.767-1.768a.75.75 0 0 1 1.061 0Z\"\n })\n }\n };\n});\nvar SyncIcon = /*#__PURE__*/createIconComponent(\"SyncIcon\", \"octicon octicon-sync\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.705 8.005a.75.75 0 0 1 .834.656 5.5 5.5 0 0 0 9.592 2.97l-1.204-1.204a.25.25 0 0 1 .177-.427h3.646a.25.25 0 0 1 .25.25v3.646a.25.25 0 0 1-.427.177l-1.38-1.38A7.002 7.002 0 0 1 1.05 8.84a.75.75 0 0 1 .656-.834ZM8 2.5a5.487 5.487 0 0 0-4.131 1.869l1.204 1.204A.25.25 0 0 1 4.896 6H1.25A.25.25 0 0 1 1 5.75V2.104a.25.25 0 0 1 .427-.177l1.38 1.38A7.002 7.002 0 0 1 14.95 7.16a.75.75 0 0 1-1.49.178A5.5 5.5 0 0 0 8 2.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.38 8A9.502 9.502 0 0 1 12 2.5a9.502 9.502 0 0 1 9.215 7.182.75.75 0 1 0 1.456-.364C21.473 4.539 17.15 1 12 1a10.995 10.995 0 0 0-9.5 5.452V4.75a.75.75 0 0 0-1.5 0V8.5a1 1 0 0 0 1 1h3.75a.75.75 0 0 0 0-1.5H3.38Zm-.595 6.318a.75.75 0 0 0-1.455.364C2.527 19.461 6.85 23 12 23c4.052 0 7.592-2.191 9.5-5.451v1.701a.75.75 0 0 0 1.5 0V15.5a1 1 0 0 0-1-1h-3.75a.75.75 0 0 0 0 1.5h2.37A9.502 9.502 0 0 1 12 21.5c-4.446 0-8.181-3.055-9.215-7.182Z\"\n })\n }\n };\n});\nvar TabIcon = /*#__PURE__*/createIconComponent(\"TabIcon\", \"octicon octicon-tab\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m10.78 8.53-3.75 3.75a.749.749 0 1 1-1.06-1.06l2.469-2.47H1.75a.75.75 0 0 1 0-1.5h6.689L5.97 4.78a.749.749 0 1 1 1.06-1.06l3.75 3.75a.749.749 0 0 1 0 1.06ZM13 12.25v-8.5a.75.75 0 0 1 1.5 0v8.5a.75.75 0 0 1-1.5 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 4.25a.75.75 0 0 0-1.5 0v15a.75.75 0 0 0 1.5 0v-15Zm-9.72 14.28a.75.75 0 1 1-1.06-1.06l4.97-4.97H1.75a.75.75 0 0 1 0-1.5h14.44l-4.97-4.97a.75.75 0 0 1 1.06-1.06l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25Z\"\n })\n }\n };\n});\nvar TabExternalIcon = /*#__PURE__*/createIconComponent(\"TabExternalIcon\", \"octicon octicon-tab-external\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.25 4a.25.25 0 0 0-.25.25v9a.75.75 0 0 1-.75.75H.75a.75.75 0 0 1 0-1.5h.75V4.25c0-.966.784-1.75 1.75-1.75h9.5c.966 0 1.75.784 1.75 1.75v8.25h.75a.75.75 0 0 1 0 1.5h-1.5a.75.75 0 0 1-.75-.75v-9a.25.25 0 0 0-.25-.25h-9.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m7.97 7.97-2.75 2.75a.75.75 0 1 0 1.06 1.06l2.75-2.75 1.543 1.543a.25.25 0 0 0 .427-.177V6.25a.25.25 0 0 0-.25-.25H6.604a.25.25 0 0 0-.177.427L7.97 7.97Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 5.75C3 4.784 3.784 4 4.75 4h14.5c.966 0 1.75.784 1.75 1.75V18.5h2a.75.75 0 0 1 0 1.5h-2.65a.85.85 0 0 1-.85-.85V5.75a.25.25 0 0 0-.25-.25H4.75a.25.25 0 0 0-.25.25v13.4c0 .47-.38.85-.85.85H1a.75.75 0 0 1 0-1.5h2V5.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.404 13.7a.75.75 0 0 1-1.29.547 689.448 689.448 0 0 0-1.92-1.976l-4.141 4.14a.75.75 0 0 1-1.061-1.06l4.14-4.14-1.94-1.94A.75.75 0 0 1 10.703 8h4.95a.75.75 0 0 1 .75.75v4.95Z\"\n }))\n }\n };\n});\nvar TableIcon = /*#__PURE__*/createIconComponent(\"TableIcon\", \"octicon octicon-table\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25ZM9 9v11.5h11.25a.25.25 0 0 0 .25-.25V9Zm11.5-1.5V3.75a.25.25 0 0 0-.25-.25H9v4ZM3.5 9v11.25c0 .138.112.25.25.25H7.5V9Zm4-1.5v-4H3.75a.25.25 0 0 0-.25.25V7.5Z\"\n })\n }\n };\n});\nvar TagIcon = /*#__PURE__*/createIconComponent(\"TagIcon\", \"octicon octicon-tag\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.75 6.5a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 1h8.44a1.5 1.5 0 0 1 1.06.44l10.25 10.25a1.5 1.5 0 0 1 0 2.12l-8.44 8.44a1.5 1.5 0 0 1-2.12 0L1.44 12A1.497 1.497 0 0 1 1 10.94V2.5A1.5 1.5 0 0 1 2.5 1Zm0 1.5v8.44l10.25 10.25 8.44-8.44L10.94 2.5Z\"\n }))\n }\n };\n});\nvar TasklistIcon = /*#__PURE__*/createIconComponent(\"TasklistIcon\", \"octicon octicon-tasklist\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 2h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1Zm4.655 8.595a.75.75 0 0 1 0 1.06L4.03 14.28a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.095-2.095a.75.75 0 0 1 1.06 0ZM9.75 2.5h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5Zm0 5h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5Zm0 5h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5Zm-7.25-9v3h3v-3Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 6a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1Zm1.5 4.5h4v-4h-4Zm8.25-5a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5Zm0 6a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5Zm0 6a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5Zm-2.97-2.53a.75.75 0 0 1 0 1.06l-3.5 3.5a.75.75 0 0 1-1.06 0l-2-2a.75.75 0 1 1 1.06-1.06l1.47 1.47 2.97-2.97a.75.75 0 0 1 1.06 0Z\"\n })\n }\n };\n});\nvar TelescopeIcon = /*#__PURE__*/createIconComponent(\"TelescopeIcon\", \"octicon octicon-telescope\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.184 1.143v-.001l1.422 2.464a1.75 1.75 0 0 1-.757 2.451L3.104 11.713a1.75 1.75 0 0 1-2.275-.702l-.447-.775a1.75 1.75 0 0 1 .53-2.32L11.682.573a1.748 1.748 0 0 1 2.502.57Zm-4.709 9.32h-.001l2.644 3.863a.75.75 0 1 1-1.238.848l-1.881-2.75v2.826a.75.75 0 0 1-1.5 0v-2.826l-1.881 2.75a.75.75 0 1 1-1.238-.848l2.049-2.992a.746.746 0 0 1 .293-.253l1.809-.87a.749.749 0 0 1 .944.252ZM9.436 3.92h-.001l-4.97 3.39.942 1.63 5.42-2.61Zm3.091-2.108h.001l-1.85 1.26 1.505 2.605 2.016-.97a.247.247 0 0 0 .13-.151.247.247 0 0 0-.022-.199l-1.422-2.464a.253.253 0 0 0-.161-.119.254.254 0 0 0-.197.038ZM1.756 9.157a.25.25 0 0 0-.075.33l.447.775a.25.25 0 0 0 .325.1l1.598-.769-.83-1.436-1.465 1Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M.408 15.13a2 2 0 0 1 .59-2.642L17.038 1.33a1.999 1.999 0 0 1 2.85.602l2.828 4.644a2 2 0 0 1-.851 2.847l-17.762 8.43a2 2 0 0 1-2.59-.807Zm5.263-4.066 1.987 3.44 8.712-4.135-2.857-4.76Zm12.06-1.34.001-.001 3.49-1.656a.498.498 0 0 0 .212-.712l-2.826-4.644a.503.503 0 0 0-.713-.151l-3.148 2.19Zm-13.295 2.2L1.854 13.72a.5.5 0 0 0-.147.66l1.105 1.915a.5.5 0 0 0 .648.201l2.838-1.347ZM17.155 22.87a.75.75 0 0 0 .226-1.036l-4-6.239a.75.75 0 0 0-.941-.278l-2.75 1.25a.75.75 0 0 0-.318.274l-3.25 4.989a.75.75 0 0 0 1.256.819l3.131-4.806.51-.232v5.64a.75.75 0 1 0 1.5 0v-6.22l3.6 5.613a.75.75 0 0 0 1.036.226Z\"\n })\n }\n };\n});\nvar TelescopeFillIcon = /*#__PURE__*/createIconComponent(\"TelescopeFillIcon\", \"octicon octicon-telescope-fill\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.905.42a1.5 1.5 0 0 1 2.144.49l1.692 2.93a1.5 1.5 0 0 1-.649 2.102L2.895 11.815a1.5 1.5 0 0 1-1.95-.602l-.68-1.176a1.5 1.5 0 0 1 .455-1.99L11.905.422Zm-3.374 9.79a.75.75 0 0 1 .944.253l2.644 3.864a.751.751 0 0 1-1.238.847L9 12.424v2.826a.75.75 0 0 1-1.5 0v-2.826l-1.881 2.75a.75.75 0 1 1-1.238-.848l2.048-2.992a.752.752 0 0 1 .293-.252l1.81-.871Zm2.476-3.965v-.001l1.356-.653-1.52-2.631-1.243.848ZM3.279 8.119l.835 1.445 1.355-.653-.947-1.64Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.155 22.87a.75.75 0 0 0 .226-1.036l-4-6.239a.75.75 0 0 0-.941-.277l-2.75 1.25a.75.75 0 0 0-.318.273l-3.25 4.989a.75.75 0 0 0 1.256.819l3.131-4.806.51-.232v5.64a.75.75 0 1 0 1.5 0v-6.22l3.6 5.613a.75.75 0 0 0 1.036.226ZM.408 15.13a2 2 0 0 1 .59-2.642L17.038 1.33a1.999 1.999 0 0 1 2.85.602l2.828 4.644a2 2 0 0 1-.851 2.847l-17.762 8.43a2 2 0 0 1-2.59-.807Zm13.105-9.521 2.857 4.76 1.361-.646-2.984-4.973Zm-7.842 5.455-1.235.86 1.862 3.225 1.36-.645Z\"\n })\n }\n };\n});\nvar TerminalIcon = /*#__PURE__*/createIconComponent(\"TerminalIcon\", \"octicon octicon-terminal\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25Zm1.75-.25a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM7.25 8a.749.749 0 0 1-.22.53l-2.25 2.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L5.44 8 3.72 6.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.25 2.25c.141.14.22.331.22.53Zm1.5 1.5h3a.75.75 0 0 1 0 1.5h-3a.75.75 0 0 1 0-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25 12a.75.75 0 0 1-.22.53l-2.75 2.75a.75.75 0 0 1-1.06-1.06L7.44 12 5.22 9.78a.75.75 0 1 1 1.06-1.06l2.75 2.75c.141.14.22.331.22.53Zm2 2a.75.75 0 0 0 0 1.5h5a.75.75 0 0 0 0-1.5h-5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V4.75a.25.25 0 0 0-.25-.25Z\"\n }))\n }\n };\n});\nvar ThreeBarsIcon = /*#__PURE__*/createIconComponent(\"ThreeBarsIcon\", \"octicon octicon-three-bars\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75Zm0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75ZM1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 5.25a.75.75 0 0 0 0 1.5h16.5a.75.75 0 0 0 0-1.5H3.75Zm0 6a.75.75 0 0 0 0 1.5h16.5a.75.75 0 0 0 0-1.5H3.75Zm0 6a.75.75 0 0 0 0 1.5h16.5a.75.75 0 0 0 0-1.5H3.75Z\"\n })\n }\n };\n});\nvar ThumbsdownIcon = /*#__PURE__*/createIconComponent(\"ThumbsdownIcon\", \"octicon octicon-thumbsdown\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.083 15.986c-.763-.087-1.499-.295-2.011-.884-.504-.581-.655-1.378-.655-2.299 0-.468.087-1.12.157-1.638l.015-.112H3.167c-.603 0-1.174-.086-1.669-.334a2.415 2.415 0 0 1-1.136-1.2c-.454-.998-.438-2.447-.188-4.316l.04-.306C.32 4.108.41 3.424.526 2.864c.132-.63.316-1.209.669-1.672C1.947.205 3.211.053 4.917.053c1.848 0 3.234.332 4.388.652l.474.133c.658.187 1.201.341 1.726.415a1.75 1.75 0 0 1 1.662-1.2h1c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 0 1-1.75 1.75h-1a1.75 1.75 0 0 1-1.514-.872c-.259.105-.59.268-.919.508-.671.491-1.317 1.285-1.317 2.614v.5c0 1.201-.994 2.336-2.334 2.183Zm4.334-13.232c-.706-.089-1.39-.284-2.072-.479l-.441-.125c-1.096-.304-2.335-.597-3.987-.597-1.794 0-2.28.222-2.529.548-.147.193-.275.505-.393 1.07-.105.502-.188 1.124-.295 1.93l-.04.3c-.25 1.882-.19 2.933.067 3.497a.923.923 0 0 0 .443.48c.208.104.52.175.997.175h1.75c.685 0 1.295.577 1.205 1.335-.022.192-.049.39-.075.586-.066.488-.13.97-.13 1.329 0 .808.144 1.15.288 1.316.137.157.401.303 1.048.377.307.035.664-.237.664-.693v-.5c0-1.922.978-3.127 1.932-3.825a5.878 5.878 0 0 1 1.568-.809Zm1.75 6.798h1a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25h-1a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.596 21.957c-1.301.092-2.303-.986-2.303-2.206v-1.053c0-2.666-1.813-3.785-2.774-4.2a1.884 1.884 0 0 0-.523-.13A1.75 1.75 0 0 1 5.25 16h-1.5A1.75 1.75 0 0 1 2 14.25V3.75C2 2.784 2.784 2 3.75 2h1.5a1.75 1.75 0 0 1 1.742 1.58c.838-.06 1.667-.296 2.69-.586l.602-.17C11.748 2.419 13.497 2 15.828 2c2.188 0 3.693.204 4.583 1.372.422.554.65 1.255.816 2.05.148.708.262 1.57.396 2.58l.051.39c.319 2.386.328 4.18-.223 5.394-.293.644-.743 1.125-1.355 1.431-.59.296-1.284.404-2.036.404h-2.05l.056.429c.025.18.05.372.076.572.06.483.117 1.006.117 1.438 0 1.245-.222 2.253-.92 2.942-.684.674-1.668.879-2.743.955ZM7 5.082v7.779c.383.025.759.113 1.113.26 1.192.514 3.68 2.027 3.68 5.577v1.053c0 .436.347.734.698.71 1.021-.072 1.52-.258 1.795-.528.26-.256.473-.748.473-1.873 0-.328-.045-.768-.105-1.25l-.07-.527c-.04-.297-.079-.59-.105-.834-.082-.758.53-1.328 1.211-1.328h2.37c.625 0 1.06-.092 1.365-.245.285-.142.5-.359.66-.711.355-.78.422-2.176.102-4.574l-.05-.385c-.137-1.027-.243-1.827-.379-2.477-.152-.73-.324-1.165-.54-1.448-.386-.507-1.113-.781-3.39-.781-2.136 0-3.736.379-5.142.771-.191.052-.38.106-.568.16-1.039.296-2.059.587-3.118.651ZM3.75 3.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z\"\n })\n }\n };\n});\nvar ThumbsupIcon = /*#__PURE__*/createIconComponent(\"ThumbsupIcon\", \"octicon octicon-thumbsup\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.834.066c.763.087 1.5.295 2.01.884.505.581.656 1.378.656 2.3 0 .467-.087 1.119-.157 1.637L11.328 5h1.422c.603 0 1.174.085 1.668.333.508.254.911.679 1.137 1.2.453.998.438 2.447.188 4.316l-.04.306c-.105.79-.195 1.473-.313 2.033-.131.63-.315 1.209-.668 1.672C13.97 15.847 12.706 16 11 16c-1.848 0-3.234-.333-4.388-.653-.165-.045-.323-.09-.475-.133-.658-.186-1.2-.34-1.725-.415A1.75 1.75 0 0 1 2.75 16h-1A1.75 1.75 0 0 1 0 14.25v-7.5C0 5.784.784 5 1.75 5h1a1.75 1.75 0 0 1 1.514.872c.258-.105.59-.268.918-.508C5.853 4.874 6.5 4.079 6.5 2.75v-.5c0-1.202.994-2.337 2.334-2.184ZM4.5 13.3c.705.088 1.39.284 2.072.478l.441.125c1.096.305 2.334.598 3.987.598 1.794 0 2.28-.223 2.528-.549.147-.193.276-.505.394-1.07.105-.502.188-1.124.295-1.93l.04-.3c.25-1.882.189-2.933-.068-3.497a.921.921 0 0 0-.442-.48c-.208-.104-.52-.174-.997-.174H11c-.686 0-1.295-.577-1.206-1.336.023-.192.05-.39.076-.586.065-.488.13-.97.13-1.328 0-.809-.144-1.15-.288-1.316-.137-.158-.402-.304-1.048-.378C8.357 1.521 8 1.793 8 2.25v.5c0 1.922-.978 3.128-1.933 3.825a5.831 5.831 0 0 1-1.567.81ZM2.75 6.5h-1a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h1a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.596 2.043c1.075.076 2.059.281 2.743.956.698.688.92 1.696.92 2.941 0 .432-.057.955-.117 1.438-.026.2-.051.392-.076.572l-.056.429h2.05c.752 0 1.446.108 2.036.404.612.306 1.062.787 1.355 1.431.551 1.214.542 3.008.223 5.394l-.051.39c-.134 1.01-.248 1.872-.396 2.58-.166.795-.394 1.496-.816 2.05-.89 1.168-2.395 1.372-4.583 1.372-2.331 0-4.08-.418-5.544-.824l-.602-.17c-1.023-.29-1.852-.526-2.69-.586A1.75 1.75 0 0 1 5.25 22h-1.5A1.75 1.75 0 0 1 2 20.25V9.75C2 8.784 2.784 8 3.75 8h1.5a1.75 1.75 0 0 1 1.746 1.633 1.85 1.85 0 0 0 .523-.131c.961-.415 2.774-1.534 2.774-4.2V4.249c0-1.22 1.002-2.298 2.303-2.206ZM7 18.918c1.059.064 2.079.355 3.118.652l.568.16c1.406.39 3.006.77 5.142.77 2.277 0 3.004-.274 3.39-.781.216-.283.388-.718.54-1.448.136-.65.242-1.45.379-2.477l.05-.384c.32-2.4.253-3.795-.102-4.575-.16-.352-.375-.568-.66-.711-.305-.153-.74-.245-1.365-.245h-2.37c-.681 0-1.293-.57-1.211-1.328.026-.243.065-.537.105-.834l.07-.527c.06-.482.105-.921.105-1.25 0-1.125-.213-1.617-.473-1.873-.275-.27-.774-.455-1.795-.528-.351-.024-.698.274-.698.71v1.053c0 3.55-2.488 5.063-3.68 5.577-.372.16-.754.232-1.113.26ZM3.75 20.5h1.5a.25.25 0 0 0 .25-.25V9.75a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25Z\"\n })\n }\n };\n});\nvar ToolsIcon = /*#__PURE__*/createIconComponent(\"ToolsIcon\", \"octicon octicon-tools\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.433 2.304A4.492 4.492 0 0 0 3.5 6c0 1.598.832 3.002 2.09 3.802.518.328.929.923.902 1.64v.008l-.164 3.337a.75.75 0 1 1-1.498-.073l.163-3.33c.002-.085-.05-.216-.207-.316A5.996 5.996 0 0 1 2 6a5.993 5.993 0 0 1 2.567-4.92 1.482 1.482 0 0 1 1.673-.04c.462.296.76.827.76 1.423v2.82c0 .082.041.16.11.206l.75.51a.25.25 0 0 0 .28 0l.75-.51A.249.249 0 0 0 9 5.282V2.463c0-.596.298-1.127.76-1.423a1.482 1.482 0 0 1 1.673.04A5.993 5.993 0 0 1 14 6a5.996 5.996 0 0 1-2.786 5.068c-.157.1-.209.23-.207.315l.163 3.33a.752.752 0 0 1-1.094.714.75.75 0 0 1-.404-.64l-.164-3.345c-.027-.717.384-1.312.902-1.64A4.495 4.495 0 0 0 12.5 6a4.492 4.492 0 0 0-1.933-3.696c-.024.017-.067.067-.067.16v2.818a1.75 1.75 0 0 1-.767 1.448l-.75.51a1.75 1.75 0 0 1-1.966 0l-.75-.51A1.75 1.75 0 0 1 5.5 5.282V2.463c0-.092-.043-.142-.067-.159Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.875 2.292a.114.114 0 0 0-.032.018A7.239 7.239 0 0 0 4.75 8.25a7.248 7.248 0 0 0 3.654 6.297c.57.327.982.955.941 1.682v.002l-.317 6.058a.75.75 0 1 1-1.498-.078l.317-6.062v-.004c.006-.09-.047-.215-.188-.296A8.749 8.749 0 0 1 3.25 8.25a8.738 8.738 0 0 1 3.732-7.169 1.547 1.547 0 0 1 1.709-.064c.484.292.809.835.809 1.46v4.714a.25.25 0 0 0 .119.213l2.25 1.385c.08.05.182.05.262 0l2.25-1.385a.25.25 0 0 0 .119-.213V2.478c0-.626.325-1.169.81-1.461a1.547 1.547 0 0 1 1.708.064 8.741 8.741 0 0 1 3.732 7.17 8.747 8.747 0 0 1-4.41 7.598c-.14.081-.193.206-.188.296v.004l.318 6.062a.75.75 0 1 1-1.498.078l-.317-6.058v-.002c-.041-.727.37-1.355.94-1.682A7.247 7.247 0 0 0 19.25 8.25a7.239 7.239 0 0 0-3.093-5.94.114.114 0 0 0-.032-.018l-.01-.001c-.003 0-.014 0-.031.01-.036.022-.084.079-.084.177V7.19c0 .608-.315 1.172-.833 1.49l-2.25 1.385a1.75 1.75 0 0 1-1.834 0l-2.25-1.384A1.752 1.752 0 0 1 8 7.192V2.477c0-.098-.048-.155-.084-.176a.068.068 0 0 0-.031-.011l-.01.001Z\"\n })\n }\n };\n});\nvar TrackedByClosedCompletedIcon = /*#__PURE__*/createIconComponent(\"TrackedByClosedCompletedIcon\", \"octicon octicon-tracked-by-closed-completed\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 8a6.5 6.5 0 1 1 13 0A.75.75 0 0 0 16 8a8 8 0 1 0-8 8 .75.75 0 0 0 0-1.5A6.5 6.5 0 0 1 1.5 8Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8.677 12.427 2.896 2.896a.25.25 0 0 0 .427-.177V13h3.25a.75.75 0 0 0 0-1.5H12V9.354a.25.25 0 0 0-.427-.177l-2.896 2.896a.25.25 0 0 0 0 .354ZM11.28 6.78a.749.749 0 1 0-1.06-1.06L7.25 8.689 5.78 7.22a.749.749 0 1 0-1.06 1.06l2 2a.749.749 0 0 0 1.06 0l3.5-3.5Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2.5A9.5 9.5 0 0 0 2.5 12a9.5 9.5 0 0 0 9.5 9.5.75.75 0 0 1 0 1.5C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11a.75.75 0 0 1-1.5 0A9.5 9.5 0 0 0 12 2.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m13.759 17.48 3.728 3.314a.308.308 0 0 0 .513-.23V18h4.25a.75.75 0 0 0 0-1.5H18v-2.564a.308.308 0 0 0-.513-.23l-3.728 3.314a.307.307 0 0 0 0 .46Zm3.521-8.2a.749.749 0 1 0-1.06-1.06l-5.97 5.969-2.47-2.469a.749.749 0 1 0-1.06 1.06l3 3a.749.749 0 0 0 1.06 0l6.5-6.5Z\"\n }))\n }\n };\n});\nvar TrackedByClosedNotPlannedIcon = /*#__PURE__*/createIconComponent(\"TrackedByClosedNotPlannedIcon\", \"octicon octicon-tracked-by-closed-not-planned\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 8a6.5 6.5 0 1 1 13 0A.75.75 0 0 0 16 8a8 8 0 1 0-8 8 .75.75 0 0 0 0-1.5A6.5 6.5 0 0 1 1.5 8Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8.677 12.427 2.896 2.896a.25.25 0 0 0 .427-.177V13h3.25a.75.75 0 0 0 0-1.5H12V9.354a.25.25 0 0 0-.427-.177l-2.896 2.896a.25.25 0 0 0 0 .354ZM11.28 5.78a.749.749 0 1 0-1.06-1.06l-5.5 5.5a.749.749 0 1 0 1.06 1.06l5.5-5.5Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2.5A9.5 9.5 0 0 0 2.5 12a9.5 9.5 0 0 0 9.5 9.5.75.75 0 0 1 0 1.5C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11a.75.75 0 0 1-1.5 0A9.5 9.5 0 0 0 12 2.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m13.759 17.48 3.728 3.314a.308.308 0 0 0 .513-.23V18h4.25a.75.75 0 0 0 0-1.5H18v-2.564a.308.308 0 0 0-.513-.23l-3.728 3.314a.307.307 0 0 0 0 .46Zm3.521-9.7a.749.749 0 1 0-1.06-1.06l-9.5 9.5a.749.749 0 1 0 1.06 1.06l9.5-9.5Z\"\n }))\n }\n };\n});\nvar TrashIcon = /*#__PURE__*/createIconComponent(\"TrashIcon\", \"octicon octicon-trash\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 1.75V3h5.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H8V1.75C8 .784 8.784 0 9.75 0h4.5C15.216 0 16 .784 16 1.75Zm-6.5 0V3h5V1.75a.25.25 0 0 0-.25-.25h-4.5a.25.25 0 0 0-.25.25ZM4.997 6.178a.75.75 0 1 0-1.493.144L4.916 20.92a1.75 1.75 0 0 0 1.742 1.58h10.684a1.75 1.75 0 0 0 1.742-1.581l1.413-14.597a.75.75 0 0 0-1.494-.144l-1.412 14.596a.25.25 0 0 1-.249.226H6.658a.25.25 0 0 1-.249-.226L4.997 6.178Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.206 7.501a.75.75 0 0 1 .793.705l.5 8.5A.75.75 0 1 1 9 16.794l-.5-8.5a.75.75 0 0 1 .705-.793Zm6.293.793A.75.75 0 1 0 14 8.206l-.5 8.5a.75.75 0 0 0 1.498.088l.5-8.5Z\"\n }))\n }\n };\n});\nvar TriangleDownIcon = /*#__PURE__*/createIconComponent(\"TriangleDownIcon\", \"octicon octicon-triangle-down\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.646 15.146 5.854 9.354a.5.5 0 0 1 .353-.854h11.586a.5.5 0 0 1 .353.854l-5.793 5.792a.5.5 0 0 1-.707 0Z\"\n })\n }\n };\n});\nvar TriangleLeftIcon = /*#__PURE__*/createIconComponent(\"TriangleLeftIcon\", \"octicon octicon-triangle-left\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.573 4.427 6.177 7.823a.25.25 0 0 0 0 .354l3.396 3.396a.25.25 0 0 0 .427-.177V4.604a.25.25 0 0 0-.427-.177Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8.854 11.646 5.792-5.792a.5.5 0 0 1 .854.353v11.586a.5.5 0 0 1-.854.353l-5.792-5.792a.5.5 0 0 1 0-.708Z\"\n })\n }\n };\n});\nvar TriangleRightIcon = /*#__PURE__*/createIconComponent(\"TriangleRightIcon\", \"octicon octicon-triangle-right\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m15.146 12.354-5.792 5.792a.5.5 0 0 1-.854-.353V6.207a.5.5 0 0 1 .854-.353l5.792 5.792a.5.5 0 0 1 0 .708Z\"\n })\n }\n };\n});\nvar TriangleUpIcon = /*#__PURE__*/createIconComponent(\"TriangleUpIcon\", \"octicon octicon-triangle-up\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m4.427 9.573 3.396-3.396a.25.25 0 0 1 .354 0l3.396 3.396a.25.25 0 0 1-.177.427H4.604a.25.25 0 0 1-.177-.427Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m12.354 8.854 5.792 5.792a.5.5 0 0 1-.353.854H6.207a.5.5 0 0 1-.353-.854l5.792-5.792a.5.5 0 0 1 .708 0Z\"\n })\n }\n };\n});\nvar TrophyIcon = /*#__PURE__*/createIconComponent(\"TrophyIcon\", \"octicon octicon-trophy\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.217 6.962A3.75 3.75 0 0 1 0 3.25v-.5C0 1.784.784 1 1.75 1h1.356c.228-.585.796-1 1.462-1h6.864c.647 0 1.227.397 1.462 1h1.356c.966 0 1.75.784 1.75 1.75v.5a3.75 3.75 0 0 1-3.217 3.712 5.014 5.014 0 0 1-2.771 3.117l.144 1.446c.005.05.03.12.114.204.086.087.217.17.373.227.283.103.618.274.89.568.285.31.467.723.467 1.226v.75h1.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H4v-.75c0-.503.182-.916.468-1.226.27-.294.606-.465.889-.568.139-.048.266-.126.373-.227.084-.085.109-.153.114-.204l.144-1.446a5.015 5.015 0 0 1-2.77-3.117ZM4.5 1.568V5.5a3.5 3.5 0 1 0 7 0V1.568a.068.068 0 0 0-.068-.068H4.568a.068.068 0 0 0-.068.068Zm2.957 8.902-.12 1.204c-.093.925-.858 1.47-1.467 1.691a.766.766 0 0 0-.3.176c-.037.04-.07.093-.07.21v.75h5v-.75c0-.117-.033-.17-.07-.21a.766.766 0 0 0-.3-.176c-.609-.221-1.374-.766-1.466-1.69l-.12-1.204a5.064 5.064 0 0 1-1.087 0ZM13 2.5v2.872a2.25 2.25 0 0 0 1.5-2.122v-.5a.25.25 0 0 0-.25-.25H13Zm-10 0H1.75a.25.25 0 0 0-.25.25v.5c0 .98.626 1.813 1.5 2.122Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.09 10.121A5.251 5.251 0 0 1 1 5V3.75C1 2.784 1.784 2 2.75 2h2.364c.236-.586.81-1 1.48-1h10.812c.67 0 1.244.414 1.48 1h2.489c.966 0 1.75.784 1.75 1.75V5a5.252 5.252 0 0 1-4.219 5.149 7.01 7.01 0 0 1-4.644 5.478l.231 3.003a.5.5 0 0 0 .034.031c.079.065.303.203.836.282.838.124 1.637.81 1.637 1.807v.75h2.25a.75.75 0 0 1 0 1.5H4.75a.75.75 0 0 1 0-1.5H7v-.75c0-.996.8-1.683 1.637-1.807.533-.08.757-.217.836-.282a.5.5 0 0 0 .034-.031l.231-3.003A7.012 7.012 0 0 1 5.09 10.12ZM6.5 2.594V9a5.5 5.5 0 1 0 11 0V2.594a.094.094 0 0 0-.094-.094H6.594a.094.094 0 0 0-.094.094Zm4.717 13.363-.215 2.793-.001.021-.003.043a1.212 1.212 0 0 1-.022.147c-.05.237-.194.567-.553.86-.348.286-.853.5-1.566.605a.478.478 0 0 0-.274.136.264.264 0 0 0-.083.188v.75h7v-.75a.264.264 0 0 0-.083-.188.478.478 0 0 0-.274-.136c-.713-.105-1.218-.32-1.567-.604-.358-.294-.502-.624-.552-.86a1.22 1.22 0 0 1-.025-.19l-.001-.022-.215-2.793a7.069 7.069 0 0 1-1.566 0ZM19 8.578A3.751 3.751 0 0 0 21.625 5V3.75a.25.25 0 0 0-.25-.25H19ZM5 3.5H2.75a.25.25 0 0 0-.25.25V5A3.752 3.752 0 0 0 5 8.537Z\"\n })\n }\n };\n});\nvar TypographyIcon = /*#__PURE__*/createIconComponent(\"TypographyIcon\", \"octicon octicon-typography\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.71 10H2.332l-.874 2.498a.75.75 0 0 1-1.415-.496l3.39-9.688a1.217 1.217 0 0 1 2.302.018l3.227 9.681a.75.75 0 0 1-1.423.474Zm3.13-4.358C10.53 4.374 11.87 4 13 4c1.5 0 3 .939 3 2.601v5.649a.75.75 0 0 1-1.448.275C13.995 12.82 13.3 13 12.5 13c-.77 0-1.514-.231-2.078-.709-.577-.488-.922-1.199-.922-2.041 0-.694.265-1.411.887-1.944C11 7.78 11.88 7.5 13 7.5h1.5v-.899c0-.54-.5-1.101-1.5-1.101-.869 0-1.528.282-1.84.858a.75.75 0 1 1-1.32-.716ZM6.21 8.5 4.574 3.594 2.857 8.5Zm8.29.5H13c-.881 0-1.375.22-1.637.444-.253.217-.363.5-.363.806 0 .408.155.697.39.896.249.21.63.354 1.11.354.732 0 1.26-.209 1.588-.449.35-.257.412-.495.412-.551Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.414 15H3.586l-1.631 4.505a.75.75 0 1 1-1.41-.51l5.08-14.03a1.463 1.463 0 0 1 2.75 0l5.08 14.03a.75.75 0 1 1-1.411.51Zm4.532-5.098c.913-1.683 2.703-2.205 4.284-2.205 1.047 0 2.084.312 2.878.885.801.577 1.392 1.455 1.392 2.548v8.12a.75.75 0 0 1-1.5 0v-.06l-.044.025c-.893.52-2.096.785-3.451.785-1.051 0-2.048-.315-2.795-.948-.76-.643-1.217-1.578-1.217-2.702 0-.919.349-1.861 1.168-2.563.81-.694 2-1.087 3.569-1.087H22v-1.57c0-.503-.263-.967-.769-1.332-.513-.37-1.235-.6-2.001-.6-1.319 0-2.429.43-2.966 1.42a.75.75 0 0 1-1.318-.716ZM9.87 13.5 7 5.572 4.13 13.5Zm12.13.7h-2.77c-1.331 0-2.134.333-2.593.726a1.822 1.822 0 0 0-.644 1.424c0 .689.267 1.203.686 1.557.43.365 1.065.593 1.826.593 1.183 0 2.102-.235 2.697-.581.582-.34.798-.74.798-1.134Z\"\n })\n }\n };\n});\nvar UndoIcon = /*#__PURE__*/createIconComponent(\"UndoIcon\", \"octicon octicon-undo\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.22 6.28a.749.749 0 0 1 0-1.06l3.5-3.5a.749.749 0 1 1 1.06 1.06L3.561 5h7.188l.001.007L10.749 5c.058 0 .116.007.171.019A4.501 4.501 0 0 1 10.5 14H8.796a.75.75 0 0 1 0-1.5H10.5a3 3 0 1 0 0-6H3.561L5.78 8.72a.749.749 0 1 1-1.06 1.06l-3.5-3.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.53 2.22a.75.75 0 0 0-1.06 0L2.22 8.47a.75.75 0 0 0 0 1.06l6.25 6.25a.75.75 0 0 0 1.06-1.06L4.56 9.75H16c.797 0 2.008.245 3 .959.952.686 1.75 1.835 1.75 3.791s-.798 3.105-1.75 3.791c-.992.714-2.203.959-3 .959h-3a.75.75 0 0 0 0 1.5h3c1.037 0 2.575-.305 3.876-1.241 1.339-.964 2.374-2.565 2.374-5.009 0-2.444-1.035-4.045-2.374-5.009C18.575 8.555 17.036 8.25 16 8.25H4.56l4.97-4.97a.75.75 0 0 0 0-1.06Z\"\n })\n }\n };\n});\nvar UnfoldIcon = /*#__PURE__*/createIconComponent(\"UnfoldIcon\", \"octicon octicon-unfold\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8.177.677 2.896 2.896a.25.25 0 0 1-.177.427H8.75v1.25a.75.75 0 0 1-1.5 0V4H5.104a.25.25 0 0 1-.177-.427L7.823.677a.25.25 0 0 1 .354 0ZM7.25 10.75a.75.75 0 0 1 1.5 0V12h2.146a.25.25 0 0 1 .177.427l-2.896 2.896a.25.25 0 0 1-.354 0l-2.896-2.896A.25.25 0 0 1 5.104 12H7.25v-1.25Zm-5-2a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 6 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 12 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 23a.749.749 0 0 1-.53-.22l-3.25-3.25a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215L12 21.19l2.72-2.72a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734l-3.25 3.25A.749.749 0 0 1 12 23Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.47 1.22a.75.75 0 0 1 1.06 0l3.25 3.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L12 2.81 9.28 5.53a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042ZM12 22.25a.75.75 0 0 1-.75-.75v-5.75a.75.75 0 0 1 1.5 0v5.75a.75.75 0 0 1-.75.75ZM2.75 12a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1.5a.75.75 0 0 1 .75.75v6a.75.75 0 0 1-1.5 0v-6A.75.75 0 0 1 12 1.5Z\"\n }))\n }\n };\n});\nvar UnlinkIcon = /*#__PURE__*/createIconComponent(\"UnlinkIcon\", \"octicon octicon-unlink\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.914 5.914a2 2 0 0 0-2.828-2.828l-.837.837a.75.75 0 1 1-1.06-1.061l.836-.837a3.5 3.5 0 1 1 4.95 4.95l-.195.194a.75.75 0 0 1-1.06-1.06l.194-.195Zm-1.87 3.482a.759.759 0 0 1-.07.079c-.63.63-1.468 1.108-2.343 1.263-.89.159-1.86-.017-2.606-.763a.75.75 0 1 1 1.06-1.06c.329.327.767.438 1.284.347.493-.088 1.018-.36 1.445-.752l-1.247-.897a.709.709 0 0 1-.01-.008l-.295-.212c-.94-.597-1.984-.499-2.676.193l-2.5 2.5a2 2 0 1 0 2.828 2.828l.837-.836a.75.75 0 0 1 1.06 1.06l-.836.837a3.5 3.5 0 0 1-4.95-4.95l2.5-2.5a3.472 3.472 0 0 1 1.354-.848L2.312 3.109a.75.75 0 0 1 .876-1.218l5.93 4.27c.115.074.226.155.335.24l6.235 4.49a.75.75 0 0 1-.876 1.218l-3.768-2.713Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.347 3.653a3.936 3.936 0 0 0-5.567 0l-1.75 1.75a.75.75 0 0 1-1.06-1.06l1.75-1.75a5.436 5.436 0 0 1 7.688 7.687l-1.564 1.564a.75.75 0 0 1-1.06-1.06l1.563-1.564a3.936 3.936 0 0 0 0-5.567ZM9.786 12.369a.75.75 0 0 1 1.053.125c.096.122.2.24.314.353 1.348 1.348 3.386 1.587 4.89.658l-3.922-2.858a.745.745 0 0 1-.057-.037c-1.419-1.013-3.454-.787-4.784.543L3.653 14.78a3.936 3.936 0 0 0 5.567 5.567l3-3a.75.75 0 1 1 1.06 1.06l-3 3a5.436 5.436 0 1 1-7.688-7.687l3.628-3.628a5.517 5.517 0 0 1 3.014-1.547l-7.05-5.136a.75.75 0 0 1 .883-1.213l20.25 14.75a.75.75 0 0 1-.884 1.213l-5.109-3.722c-2.155 1.709-5.278 1.425-7.232-.53a5.491 5.491 0 0 1-.431-.485.75.75 0 0 1 .125-1.053Z\"\n })\n }\n };\n});\nvar UnlockIcon = /*#__PURE__*/createIconComponent(\"UnlockIcon\", \"octicon octicon-unlock\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.5 4v2h7A1.5 1.5 0 0 1 14 7.5v6a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-6A1.5 1.5 0 0 1 3.499 6H4V4a4 4 0 0 1 7.371-2.154.75.75 0 0 1-1.264.808A2.5 2.5 0 0 0 5.5 4Zm-2 3.5v6h9v-6h-9Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.5 7.25V9h11a2.5 2.5 0 0 1 2.5 2.5v8a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-8A2.5 2.5 0 0 1 5.5 9H6V7.25C6 3.845 8.503 1 12 1c2.792 0 4.971 1.825 5.718 4.31a.75.75 0 1 1-1.436.432C15.71 3.84 14.079 2.5 12 2.5c-2.578 0-4.5 2.08-4.5 4.75Zm-3 4.25v8a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1h-13a1 1 0 0 0-1 1Z\"\n })\n }\n };\n});\nvar UnmuteIcon = /*#__PURE__*/createIconComponent(\"UnmuteIcon\", \"octicon octicon-unmute\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.563 2.069A.75.75 0 0 1 8 2.75v10.5a.751.751 0 0 1-1.238.57L3.472 11H1.75A1.75 1.75 0 0 1 0 9.25v-2.5C0 5.784.784 5 1.75 5h1.723l3.289-2.82a.75.75 0 0 1 .801-.111ZM6.5 4.38 4.238 6.319a.748.748 0 0 1-.488.181h-2a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25h2c.179 0 .352.064.488.18L6.5 11.62Zm6.096-2.038a.75.75 0 0 1 1.06 0 8 8 0 0 1 0 11.314.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042 6.5 6.5 0 0 0 0-9.193.75.75 0 0 1 0-1.06Zm-1.06 2.121-.001.001a5 5 0 0 1 0 7.07.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734 3.5 3.5 0 0 0 0-4.95.75.75 0 1 1 1.061-1.061Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.553 3.064A.75.75 0 0 1 12 3.75v16.5a.75.75 0 0 1-1.255.555L5.46 16H2.75A1.75 1.75 0 0 1 1 14.25v-4.5C1 8.784 1.784 8 2.75 8h2.71l5.285-4.805a.752.752 0 0 1 .808-.13ZM10.5 5.445l-4.245 3.86a.748.748 0 0 1-.505.195h-3a.25.25 0 0 0-.25.25v4.5c0 .138.112.25.25.25h3c.187 0 .367.069.505.195l4.245 3.86Zm8.218-1.223a.75.75 0 0 1 1.06 0c4.296 4.296 4.296 11.26 0 15.556a.75.75 0 0 1-1.06-1.06 9.5 9.5 0 0 0 0-13.436.75.75 0 0 1 0-1.06Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.243 7.757a.75.75 0 1 0-1.061 1.061 4.5 4.5 0 0 1 0 6.364.75.75 0 0 0 1.06 1.06 6 6 0 0 0 0-8.485Z\"\n }))\n }\n };\n});\nvar UnreadIcon = /*#__PURE__*/createIconComponent(\"UnreadIcon\", \"octicon octicon-unread\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5 3.5H1.75a.25.25 0 0 0-.25.25v.32L8 7.88l3.02-1.77a.75.75 0 0 1 .758 1.295L8.379 9.397a.75.75 0 0 1-.758 0L1.5 5.809v6.441c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4.5a.75.75 0 0 1 1.5 0v4.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25V4.513a.75.75 0 0 1 0-.027V3.75C0 2.784.784 2 1.75 2h8.75a.75.75 0 0 1 0 1.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 6a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.75 4.5a.25.25 0 0 0-.25.25v.852l10.36 7a.25.25 0 0 0 .28 0l5.69-3.845A.75.75 0 0 1 18.67 10l-5.69 3.845c-.592.4-1.368.4-1.96 0L1.5 7.412V19.25c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25v-8.5a.75.75 0 0 1 1.5 0v8.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25V4.75C0 3.784.784 3 1.75 3h15.5a.75.75 0 0 1 0 1.5H1.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24 5.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z\"\n }))\n }\n };\n});\nvar UnverifiedIcon = /*#__PURE__*/createIconComponent(\"UnverifiedIcon\", \"octicon octicon-unverified\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.415.52a2.677 2.677 0 0 1 3.17 0l.928.68c.153.113.33.186.518.215l1.138.175a2.678 2.678 0 0 1 2.241 2.24l.175 1.138c.029.187.102.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.186 1.186 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.186 1.186 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.186 1.186 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.186 1.186 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928a1.17 1.17 0 0 0 .215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.138-.175c.187-.029.365-.102.518-.215l.928-.68Zm2.282 1.209a1.18 1.18 0 0 0-1.394 0l-.928.68a2.67 2.67 0 0 1-1.18.489l-1.136.174a1.18 1.18 0 0 0-.987.987l-.174 1.137a2.67 2.67 0 0 1-.489 1.18l-.68.927c-.305.415-.305.98 0 1.394l.68.928c.256.348.423.752.489 1.18l.174 1.136c.078.51.478.909.987.987l1.137.174c.427.066.831.233 1.18.489l.927.68c.415.305.98.305 1.394 0l.928-.68a2.67 2.67 0 0 1 1.18-.489l1.136-.174c.51-.078.909-.478.987-.987l.174-1.137c.066-.427.233-.831.489-1.18l.68-.927c.305-.415.305-.98 0-1.394l-.68-.928a2.67 2.67 0 0 1-.489-1.18l-.174-1.136a1.18 1.18 0 0 0-.987-.987l-1.137-.174a2.67 2.67 0 0 1-1.18-.489ZM6.92 6.085h.001a.75.75 0 0 1-1.342-.67c.169-.339.436-.701.849-.977C6.846 4.16 7.369 4 8 4a2.76 2.76 0 0 1 1.638.525c.502.377.862.965.862 1.725 0 .448-.115.83-.329 1.15-.205.307-.47.513-.692.662-.109.072-.22.138-.313.195l-.006.004a6.24 6.24 0 0 0-.26.16.952.952 0 0 0-.276.245.75.75 0 0 1-1.248-.832c.184-.264.42-.489.692-.661.109-.073.22-.139.313-.195l.007-.004c.1-.061.182-.11.258-.161a.969.969 0 0 0 .277-.245C8.96 6.514 9 6.427 9 6.25a.612.612 0 0 0-.262-.525A1.27 1.27 0 0 0 8 5.5c-.369 0-.595.09-.74.187a1.01 1.01 0 0 0-.34.398ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 16.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-2.517-7.665c.112-.223.268-.424.488-.57C11.186 8.12 11.506 8 12 8c.384 0 .766.118 1.034.319a.953.953 0 0 1 .403.806c0 .48-.218.81-.62 1.186a9.293 9.293 0 0 1-.409.354 19.8 19.8 0 0 0-.294.249c-.246.213-.524.474-.738.795l-.126.19V13.5a.75.75 0 0 0 1.5 0v-1.12c.09-.1.203-.208.347-.333.063-.055.14-.119.222-.187.166-.14.358-.3.52-.452.536-.5 1.098-1.2 1.098-2.283a2.45 2.45 0 0 0-1.003-2.006C13.37 6.695 12.658 6.5 12 6.5c-.756 0-1.373.191-1.861.517a2.944 2.944 0 0 0-.997 1.148.75.75 0 0 0 1.341.67Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.864 1.2a3.61 3.61 0 0 1 4.272 0l1.375 1.01c.274.2.593.333.929.384l1.686.259a3.61 3.61 0 0 1 3.021 3.02l.259 1.687c.051.336.183.655.384.929l1.01 1.375a3.61 3.61 0 0 1 0 4.272l-1.01 1.375a2.106 2.106 0 0 0-.384.929l-.259 1.686a3.61 3.61 0 0 1-3.02 3.021l-1.687.259a2.106 2.106 0 0 0-.929.384l-1.375 1.01a3.61 3.61 0 0 1-4.272 0l-1.375-1.01a2.106 2.106 0 0 0-.929-.384l-1.686-.259a3.61 3.61 0 0 1-3.021-3.02l-.259-1.687a2.106 2.106 0 0 0-.384-.929L1.2 14.136a3.61 3.61 0 0 1 0-4.272l1.01-1.375c.201-.274.333-.593.384-.929l.259-1.686a3.61 3.61 0 0 1 3.02-3.021l1.687-.259c.336-.051.655-.183.929-.384Zm3.384 1.209a2.11 2.11 0 0 0-2.496 0l-1.376 1.01a3.61 3.61 0 0 1-1.589.658l-1.686.258a2.111 2.111 0 0 0-1.766 1.766l-.258 1.686a3.614 3.614 0 0 1-.658 1.59l-1.01 1.375a2.11 2.11 0 0 0 0 2.496l1.01 1.376a3.61 3.61 0 0 1 .658 1.589l.258 1.686a2.11 2.11 0 0 0 1.766 1.765l1.686.26a3.613 3.613 0 0 1 1.59.657l1.375 1.01a2.11 2.11 0 0 0 2.496 0l1.376-1.01a3.61 3.61 0 0 1 1.589-.658l1.686-.258a2.11 2.11 0 0 0 1.765-1.766l.26-1.686a3.613 3.613 0 0 1 .657-1.59l1.01-1.375a2.11 2.11 0 0 0 0-2.496l-1.01-1.376a3.61 3.61 0 0 1-.658-1.589l-.258-1.686a2.111 2.111 0 0 0-1.766-1.766l-1.686-.258a3.614 3.614 0 0 1-1.59-.658Z\"\n }))\n }\n };\n});\nvar UploadIcon = /*#__PURE__*/createIconComponent(\"UploadIcon\", \"octicon octicon-upload\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.78 4.72a.749.749 0 1 1-1.06 1.06L8.75 3.811V9.5a.75.75 0 0 1-1.5 0V3.811L5.28 5.78a.749.749 0 1 1-1.06-1.06l3.25-3.25a.749.749 0 0 1 1.06 0l3.25 3.25Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 20.25V18a.75.75 0 0 1 1.5 0v2.25c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V18a.75.75 0 0 1 1.5 0v2.25A1.75 1.75 0 0 1 18.25 22H5.75A1.75 1.75 0 0 1 4 20.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.22 9.53a.749.749 0 0 1 0-1.06l6.25-6.25a.749.749 0 0 1 1.06 0l6.25 6.25a.749.749 0 1 1-1.06 1.06l-4.97-4.969V16.75a.75.75 0 0 1-1.5 0V4.561L6.28 9.53a.749.749 0 0 1-1.06 0Z\"\n }))\n }\n };\n});\nvar VerifiedIcon = /*#__PURE__*/createIconComponent(\"VerifiedIcon\", \"octicon octicon-verified\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"m9.585.52.929.68c.153.112.331.186.518.215l1.138.175a2.678 2.678 0 0 1 2.24 2.24l.174 1.139c.029.187.103.365.215.518l.68.928a2.677 2.677 0 0 1 0 3.17l-.68.928a1.174 1.174 0 0 0-.215.518l-.175 1.138a2.678 2.678 0 0 1-2.241 2.241l-1.138.175a1.17 1.17 0 0 0-.518.215l-.928.68a2.677 2.677 0 0 1-3.17 0l-.928-.68a1.174 1.174 0 0 0-.518-.215L3.83 14.41a2.678 2.678 0 0 1-2.24-2.24l-.175-1.138a1.17 1.17 0 0 0-.215-.518l-.68-.928a2.677 2.677 0 0 1 0-3.17l.68-.928c.112-.153.186-.331.215-.518l.175-1.14a2.678 2.678 0 0 1 2.24-2.24l1.139-.175c.187-.029.365-.103.518-.215l.928-.68a2.677 2.677 0 0 1 3.17 0ZM7.303 1.728l-.927.68a2.67 2.67 0 0 1-1.18.489l-1.137.174a1.179 1.179 0 0 0-.987.987l-.174 1.136a2.677 2.677 0 0 1-.489 1.18l-.68.928a1.18 1.18 0 0 0 0 1.394l.68.927c.256.348.424.753.489 1.18l.174 1.137c.078.509.478.909.987.987l1.136.174a2.67 2.67 0 0 1 1.18.489l.928.68c.414.305.979.305 1.394 0l.927-.68a2.67 2.67 0 0 1 1.18-.489l1.137-.174a1.18 1.18 0 0 0 .987-.987l.174-1.136a2.67 2.67 0 0 1 .489-1.18l.68-.928a1.176 1.176 0 0 0 0-1.394l-.68-.927a2.686 2.686 0 0 1-.489-1.18l-.174-1.137a1.179 1.179 0 0 0-.987-.987l-1.136-.174a2.677 2.677 0 0 1-1.18-.489l-.928-.68a1.176 1.176 0 0 0-1.394 0ZM11.28 6.78l-3.75 3.75a.75.75 0 0 1-1.06 0L4.72 8.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L7 8.94l3.22-3.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.03 9.78a.75.75 0 0 0-1.06-1.06l-5.47 5.47-2.47-2.47a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l6-6Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m14.136 1.2 1.375 1.01c.274.201.593.333.929.384l1.687.259a3.61 3.61 0 0 1 3.02 3.021l.259 1.686c.051.336.183.655.384.929l1.01 1.375a3.61 3.61 0 0 1 0 4.272l-1.01 1.375a2.106 2.106 0 0 0-.384.929l-.259 1.687a3.61 3.61 0 0 1-3.021 3.02l-1.686.259a2.106 2.106 0 0 0-.929.384l-1.375 1.01a3.61 3.61 0 0 1-4.272 0l-1.375-1.01a2.106 2.106 0 0 0-.929-.384l-1.687-.259a3.61 3.61 0 0 1-3.02-3.021l-.259-1.686a2.117 2.117 0 0 0-.384-.929L1.2 14.136a3.61 3.61 0 0 1 0-4.272l1.01-1.375c.201-.274.333-.593.384-.929l.259-1.687a3.61 3.61 0 0 1 3.021-3.02l1.686-.259c.336-.051.655-.183.929-.384L9.864 1.2a3.61 3.61 0 0 1 4.272 0Zm-3.384 1.209-1.375 1.01a3.614 3.614 0 0 1-1.59.658l-1.686.258a2.111 2.111 0 0 0-1.766 1.766l-.258 1.686a3.61 3.61 0 0 1-.658 1.589l-1.01 1.376a2.11 2.11 0 0 0 0 2.496l1.01 1.375c.344.469.57 1.015.658 1.59l.258 1.686c.14.911.855 1.626 1.766 1.766l1.686.258a3.61 3.61 0 0 1 1.589.658l1.376 1.01a2.11 2.11 0 0 0 2.496 0l1.375-1.01a3.613 3.613 0 0 1 1.59-.657l1.686-.26a2.11 2.11 0 0 0 1.766-1.765l.258-1.686a3.61 3.61 0 0 1 .658-1.589l1.01-1.376a2.11 2.11 0 0 0 0-2.496l-1.01-1.375a3.613 3.613 0 0 1-.657-1.59l-.26-1.686a2.11 2.11 0 0 0-1.765-1.766l-1.686-.258a3.61 3.61 0 0 1-1.589-.658l-1.376-1.01a2.11 2.11 0 0 0-2.496 0Z\"\n }))\n }\n };\n});\nvar VersionsIcon = /*#__PURE__*/createIconComponent(\"VersionsIcon\", \"octicon octicon-versions\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.75 14A1.75 1.75 0 0 1 6 12.25v-8.5C6 2.784 6.784 2 7.75 2h6.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14Zm-.25-1.75c0 .138.112.25.25.25h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25h-6.5a.25.25 0 0 0-.25.25ZM4.9 3.508a.75.75 0 0 1-.274 1.025.249.249 0 0 0-.126.217v6.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 3 11.25v-6.5c0-.649.353-1.214.874-1.516a.75.75 0 0 1 1.025.274ZM1.625 5.533h.001a.249.249 0 0 0-.126.217v4.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 0 10.25v-4.5a1.748 1.748 0 0 1 .873-1.516.75.75 0 1 1 .752 1.299Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z\"\n })\n }\n };\n});\nvar VideoIcon = /*#__PURE__*/createIconComponent(\"VideoIcon\", \"octicon octicon-video\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25Zm1.75-.25a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 10.559V5.442a.25.25 0 0 1 .379-.215l4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V4.75a.25.25 0 0 0-.25-.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 15.584V8.416a.5.5 0 0 1 .77-.42l5.576 3.583a.5.5 0 0 1 0 .842L9.77 16.005a.5.5 0 0 1-.77-.42Z\"\n }))\n }\n };\n});\nvar WebhookIcon = /*#__PURE__*/createIconComponent(\"WebhookIcon\", \"octicon octicon-webhook\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.5 4.25a2.25 2.25 0 0 1 4.5 0 .75.75 0 0 0 1.5 0 3.75 3.75 0 1 0-6.14 2.889l-2.272 4.258a.75.75 0 0 0 1.324.706L7 7.25a.75.75 0 0 0-.309-1.015A2.25 2.25 0 0 1 5.5 4.25Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.364 3.607a.75.75 0 0 1 1.03.257l2.608 4.349a3.75 3.75 0 1 1-.628 6.785.75.75 0 0 1 .752-1.299 2.25 2.25 0 1 0-.033-3.88.75.75 0 0 1-1.03-.256L7.107 4.636a.75.75 0 0 1 .257-1.03Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.9 8.776A.75.75 0 0 1 2.625 9.8 2.25 2.25 0 1 0 6 11.75a.75.75 0 0 1 .75-.751h5.5a.75.75 0 0 1 0 1.5H7.425a3.751 3.751 0 1 1-5.55-3.998.75.75 0 0 1 1.024.274Z\"\n }))\n }\n };\n});\nvar WorkflowIcon = /*#__PURE__*/createIconComponent(\"WorkflowIcon\", \"octicon octicon-workflow\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z\"\n })\n }\n };\n});\nvar XIcon = /*#__PURE__*/createIconComponent(\"XIcon\", \"octicon octicon-x\", function () {\n return {\n \"12\": {\n \"width\": 12,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.22 2.22a.749.749 0 0 1 1.06 0L6 4.939 8.72 2.22a.749.749 0 1 1 1.06 1.06L7.061 6 9.78 8.72a.749.749 0 1 1-1.06 1.06L6 7.061 3.28 9.78a.749.749 0 1 1-1.06-1.06L4.939 6 2.22 3.28a.749.749 0 0 1 0-1.06Z\"\n })\n },\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.72 5.72a.75.75 0 0 1 1.06 0L12 10.94l5.22-5.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L13.06 12l5.22 5.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L12 13.06l-5.22 5.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.94 12 5.72 6.78a.75.75 0 0 1 0-1.06Z\"\n })\n }\n };\n});\nvar XCircleIcon = /*#__PURE__*/createIconComponent(\"XCircleIcon\", \"octicon octicon-x-circle\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.344 2.343h-.001a8 8 0 0 1 11.314 11.314A8.002 8.002 0 0 1 .234 10.089a8 8 0 0 1 2.11-7.746Zm1.06 10.253a6.5 6.5 0 1 0 9.108-9.275 6.5 6.5 0 0 0-9.108 9.275ZM6.03 4.97 8 6.94l1.97-1.97a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l1.97 1.97a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-1.97 1.97a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L6.94 8 4.97 6.03a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.036 7.976a.75.75 0 0 0-1.06 1.06L10.939 12l-2.963 2.963a.75.75 0 1 0 1.06 1.06L12 13.06l2.963 2.964a.75.75 0 0 0 1.061-1.06L13.061 12l2.963-2.964a.75.75 0 1 0-1.06-1.06L12 10.939 9.036 7.976Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"\n }))\n }\n };\n});\nvar XCircleFillIcon = /*#__PURE__*/createIconComponent(\"XCircleFillIcon\", \"octicon octicon-x-circle-fill\", function () {\n return {\n \"12\": {\n \"width\": 12,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.757 10.243a6.001 6.001 0 1 1 8.488-8.486 6.001 6.001 0 0 1-8.488 8.486ZM6 4.763l-2-2L2.763 4l2 2-2 2L4 9.237l2-2 2 2L9.237 8l-2-2 2-2L8 2.763Z\"\n })\n },\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm8.036-4.024a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L10.939 12l-2.963 2.963a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L12 13.06l2.963 2.964a.75.75 0 0 0 1.061-1.06L13.061 12l2.963-2.964a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L12 10.939Z\"\n })\n }\n };\n});\nvar ZapIcon = /*#__PURE__*/createIconComponent(\"ZapIcon\", \"octicon octicon-zap\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.504.43a1.516 1.516 0 0 1 2.437 1.713L10.415 5.5h2.123c1.57 0 2.346 1.909 1.22 3.004l-7.34 7.142a1.249 1.249 0 0 1-.871.354h-.302a1.25 1.25 0 0 1-1.157-1.723L5.633 10.5H3.462c-1.57 0-2.346-1.909-1.22-3.004L9.503.429Zm1.047 1.074L3.286 8.571A.25.25 0 0 0 3.462 9H6.75a.75.75 0 0 1 .694 1.034l-1.713 4.188 6.982-6.793A.25.25 0 0 0 12.538 7H9.25a.75.75 0 0 1-.683-1.06l2.008-4.418.003-.006a.036.036 0 0 0-.004-.009l-.006-.006-.008-.001c-.003 0-.006.002-.009.004Z\"\n })\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.716 1.329a1.341 1.341 0 0 1 2.109 1.55L15.147 9h4.161c1.623 0 2.372 2.016 1.143 3.075L8.102 22.721a1.148 1.148 0 0 1-1.81-1.317L8.996 15H4.674c-1.619 0-2.37-2.008-1.148-3.07l12.19-10.6Zm.452 1.595L4.51 13.061a.25.25 0 0 0 .164.439h5.45a.749.749 0 0 1 .692 1.041l-2.559 6.066 11.215-9.668a.25.25 0 0 0-.164-.439H14a.75.75 0 0 1-.687-1.05Z\"\n })\n }\n };\n});\nvar ZoomInIcon = /*#__PURE__*/createIconComponent(\"ZoomInIcon\", \"octicon octicon-zoom-in\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.75 7.5a.75.75 0 0 1 .75-.75h2.25V4.5a.75.75 0 0 1 1.5 0v2.25h2.25a.75.75 0 0 1 0 1.5H8.25v2.25a.75.75 0 0 1-1.5 0V8.25H4.5a.75.75 0 0 1-.75-.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.5 0a7.5 7.5 0 0 1 5.807 12.247l2.473 2.473a.749.749 0 1 1-1.06 1.06l-2.473-2.473A7.5 7.5 0 1 1 7.5 0Zm-6 7.5a6 6 0 1 0 12 0 6 6 0 0 0-12 0Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5 5.75a.75.75 0 0 1 .75.75v3.25h3.25a.75.75 0 0 1 0 1.5h-3.25v3.25a.75.75 0 0 1-1.5 0v-3.25H6.5a.75.75 0 0 1 0-1.5h3.25V6.5a.75.75 0 0 1 .75-.75Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 10.5C0 4.701 4.701 0 10.5 0S21 4.701 21 10.5c0 2.63-.967 5.033-2.564 6.875l4.344 4.345a.749.749 0 1 1-1.06 1.06l-4.345-4.344A10.459 10.459 0 0 1 10.5 21C4.701 21 0 16.299 0 10.5Zm10.5-9a9 9 0 0 0-9 9 9 9 0 0 0 9 9 9 9 0 0 0 9-9 9 9 0 0 0-9-9Z\"\n }))\n }\n };\n});\nvar ZoomOutIcon = /*#__PURE__*/createIconComponent(\"ZoomOutIcon\", \"octicon octicon-zoom-out\", function () {\n return {\n \"16\": {\n \"width\": 16,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5 6.75h6a.75.75 0 0 1 0 1.5h-6a.75.75 0 0 1 0-1.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 7.5a7.5 7.5 0 1 1 13.307 4.747l2.473 2.473a.749.749 0 1 1-1.06 1.06l-2.473-2.473A7.5 7.5 0 0 1 0 7.5Zm7.5-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z\"\n }))\n },\n \"24\": {\n \"width\": 24,\n \"path\": /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.5 11.25a.75.75 0 0 0 0-1.5h-8a.75.75 0 0 0 0 1.5h8Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 10.5C0 4.701 4.701 0 10.5 0S21 4.701 21 10.5c0 2.63-.967 5.033-2.564 6.875l4.344 4.345a.749.749 0 1 1-1.06 1.06l-4.345-4.344A10.459 10.459 0 0 1 10.5 21C4.701 21 0 16.299 0 10.5Zm10.5-9a9 9 0 0 0-9 9 9 9 0 0 0 9 9 9 9 0 0 0 9-9 9 9 0 0 0-9-9Z\"\n }))\n }\n };\n});\n\nexport { AccessibilityIcon, AccessibilityInsetIcon, AiModelIcon, AlertFillIcon, AlertIcon, AppsIcon, ArchiveIcon, ArrowBothIcon, ArrowDownIcon, ArrowDownLeftIcon, ArrowDownRightIcon, ArrowLeftIcon, ArrowRightIcon, ArrowSwitchIcon, ArrowUpIcon, ArrowUpLeftIcon, ArrowUpRightIcon, BeakerIcon, BellFillIcon, BellIcon, BellSlashIcon, BlockedIcon, BoldIcon, BookIcon, BookmarkFillIcon, BookmarkFilledIcon, BookmarkIcon, BookmarkSlashFillIcon, BookmarkSlashIcon, BriefcaseIcon, BroadcastIcon, BrowserIcon, BugIcon, CacheIcon, CalendarIcon, CheckCircleFillIcon, CheckCircleIcon, CheckIcon, CheckboxIcon, ChecklistIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CircleIcon, CircleSlashIcon, ClockFillIcon, ClockIcon, CloudIcon, CloudOfflineIcon, CodeIcon, CodeOfConductIcon, CodeReviewIcon, CodeSquareIcon, CodescanCheckmarkIcon, CodescanIcon, CodespacesIcon, ColumnsIcon, CommandPaletteIcon, CommentDiscussionIcon, CommentIcon, ContainerIcon, CopilotErrorIcon, CopilotIcon, CopilotWarningIcon, CopyIcon, CpuIcon, CreditCardIcon, CrossReferenceIcon, DashIcon, DatabaseIcon, DependabotIcon, DesktopDownloadIcon, DeviceCameraIcon, DeviceCameraVideoIcon, DeviceDesktopIcon, DeviceMobileIcon, DevicesIcon, DiamondIcon, DiffAddedIcon, DiffIcon, DiffIgnoredIcon, DiffModifiedIcon, DiffRemovedIcon, DiffRenamedIcon, DiscussionClosedIcon, DiscussionDuplicateIcon, DiscussionOutdatedIcon, DotFillIcon, DotIcon, DownloadIcon, DuplicateIcon, EllipsisIcon, EyeClosedIcon, EyeIcon, FeedDiscussionIcon, FeedForkedIcon, FeedHeartIcon, FeedIssueClosedIcon, FeedIssueDraftIcon, FeedIssueOpenIcon, FeedIssueReopenIcon, FeedMergedIcon, FeedPersonIcon, FeedPlusIcon, FeedPublicIcon, FeedPullRequestClosedIcon, FeedPullRequestDraftIcon, FeedPullRequestOpenIcon, FeedRepoIcon, FeedRocketIcon, FeedStarIcon, FeedTagIcon, FeedTrophyIcon, FileAddedIcon, FileBadgeIcon, FileBinaryIcon, FileCodeIcon, FileDiffIcon, FileDirectoryFillIcon, FileDirectoryIcon, FileDirectoryOpenFillIcon, FileDirectorySymlinkIcon, FileIcon, FileMediaIcon, FileMovedIcon, FileRemovedIcon, FileSubmoduleIcon, FileSymlinkFileIcon, FileZipIcon, FilterIcon, FilterRemoveIcon, FiscalHostIcon, FlameIcon, FoldDownIcon, FoldIcon, FoldUpIcon, GearIcon, GiftIcon, GitBranchIcon, GitCommitIcon, GitCompareIcon, GitMergeIcon, GitMergeQueueIcon, GitPullRequestClosedIcon, GitPullRequestDraftIcon, GitPullRequestIcon, GlobeIcon, GoalIcon, GrabberIcon, GraphIcon, HashIcon, HeadingIcon, HeartFillIcon, HeartIcon, HistoryIcon, HomeFillIcon, HomeIcon, HorizontalRuleIcon, HourglassIcon, HubotIcon, IdBadgeIcon, ImageIcon, InboxIcon, InfinityIcon, InfoIcon, IssueClosedIcon, IssueDraftIcon, IssueOpenedIcon, IssueReopenedIcon, IssueTrackedByIcon, IssueTracksIcon, ItalicIcon, IterationsIcon, KebabHorizontalIcon, KeyAsteriskIcon, KeyIcon, LawIcon, LightBulbIcon, LinkExternalIcon, LinkIcon, ListOrderedIcon, ListUnorderedIcon, LocationIcon, LockIcon, LogIcon, LogoGistIcon, LogoGithubIcon, MailIcon, MarkGithubIcon, MarkdownIcon, MegaphoneIcon, MentionIcon, MeterIcon, MilestoneIcon, MirrorIcon, MoonIcon, MortarBoardIcon, MoveToBottomIcon, MoveToEndIcon, MoveToStartIcon, MoveToTopIcon, MultiSelectIcon, MuteIcon, NoEntryFillIcon, NoEntryIcon, NorthStarIcon, NoteIcon, NumberIcon, OrganizationIcon, PackageDependenciesIcon, PackageDependentsIcon, PackageIcon, PaintbrushIcon, PaperAirplaneIcon, PaperclipIcon, PasskeyFillIcon, PasteIcon, PencilIcon, PeopleIcon, PersonAddIcon, PersonFillIcon, PersonIcon, PinIcon, PinSlashIcon, PivotColumnIcon, PlayIcon, PlugIcon, PlusCircleIcon, PlusIcon, ProjectIcon, ProjectRoadmapIcon, ProjectSymlinkIcon, ProjectTemplateIcon, PulseIcon, QuestionIcon, QuoteIcon, ReadIcon, RedoIcon, RelFilePathIcon, ReplyIcon, RepoCloneIcon, RepoDeleteIcon, RepoDeletedIcon, RepoForkedIcon, RepoIcon, RepoLockedIcon, RepoPullIcon, RepoPushIcon, RepoTemplateIcon, ReportIcon, RocketIcon, RowsIcon, RssIcon, RubyIcon, ScreenFullIcon, ScreenNormalIcon, SearchIcon, ServerIcon, ShareAndroidIcon, ShareIcon, ShieldCheckIcon, ShieldIcon, ShieldLockIcon, ShieldSlashIcon, ShieldXIcon, SidebarCollapseIcon, SidebarExpandIcon, SignInIcon, SignOutIcon, SingleSelectIcon, SkipFillIcon, SkipIcon, SlidersIcon, SmileyIcon, SortAscIcon, SortDescIcon, SparkleFillIcon, SponsorTiersIcon, SquareFillIcon, SquareIcon, SquirrelIcon, StackIcon, StarFillIcon, StarIcon, StopIcon, StopwatchIcon, StrikethroughIcon, SunIcon, SyncIcon, TabExternalIcon, TabIcon, TableIcon, TagIcon, TasklistIcon, TelescopeFillIcon, TelescopeIcon, TerminalIcon, ThreeBarsIcon, ThumbsdownIcon, ThumbsupIcon, ToolsIcon, TrackedByClosedCompletedIcon, TrackedByClosedNotPlannedIcon, TrashIcon, TriangleDownIcon, TriangleLeftIcon, TriangleRightIcon, TriangleUpIcon, TrophyIcon, TypographyIcon, UndoIcon, UnfoldIcon, UnlinkIcon, UnlockIcon, UnmuteIcon, UnreadIcon, UnverifiedIcon, UploadIcon, VerifiedIcon, VersionsIcon, VideoIcon, WebhookIcon, WorkflowIcon, XCircleFillIcon, XCircleIcon, XIcon, ZapIcon, ZoomInIcon, ZoomOutIcon };\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { useTheme } from '@emotion/react';\nimport { OcticonProps } from '@primer/octicons-react';\nimport React from 'react';\nimport { theme } from 'twin.macro';\nimport { themeColor } from '../../helpers/theme';\nimport { CSSColor, ThemeColors } from '../../types/theme';\n\ninterface Props {\n 'aria-hidden'?: boolean | 'true' | 'false';\n 'aria-label'?: string;\n children: React.ReactNode;\n className?: string;\n description?: React.ReactNode;\n}\n\n/** @deprecated Use IconProps from Echoes instead.\n *\n * Some of the props have been dropped:\n * - ~`aria-hidden`~ is now inferred from the absence of an `aria-label`\n * - ~`data-guiding-id`~ is no longer passed down to the DOM, put it on a wrapper instead\n * - ~`description`~ doesn't exist anymore\n * - ~`fill`~ is now `color`. You can use \"echoes-colors-icons-*\" design tokens for the `color`\n * prop. Without a specific `color`, icons take the color of their surroundings (currentColor)\n * or have an intrinsic color.\n * - ~`height`~ doesn't exist anymore, icons are sized based on the font-size of their parent\n * - ~`transform`~ doesn't exist anymore\n * - ~`viewbox`~ doesn't exist anymore, icons are sized based on the font-size of their parent\n * - ~`width`~ doesn't exist anymore, icons are sized based on the font-size of their parent\n */\nexport interface IconProps extends Omit<Props, 'children'> {\n ['data-guiding-id']?: string;\n fill?: ThemeColors | CSSColor;\n height?: number;\n transform?: string;\n viewBox?: string;\n width?: number;\n}\n\nconst PIXELS_IN_ONE_REM = 16;\n\nfunction convertRemToPixel(remString: string) {\n return Number(remString.replace('rem', '')) * PIXELS_IN_ONE_REM;\n}\n\n/** @deprecated Don't create new icons based on this, use the ones from Echoes instead. */\nexport function CustomIcon(props: Props) {\n const {\n 'aria-label': ariaLabel,\n 'aria-hidden': ariaHidden,\n children,\n className,\n description,\n ...iconProps\n } = props;\n return (\n <svg\n aria-hidden={ariaHidden ?? (ariaLabel ? 'false' : 'true')}\n aria-label={ariaLabel}\n className={className}\n fill=\"none\"\n height={convertRemToPixel(theme('height.icon'))}\n role=\"img\"\n style={{\n clipRule: 'evenodd',\n display: 'inline-block',\n fillRule: 'evenodd',\n userSelect: 'none',\n verticalAlign: 'middle',\n strokeLinejoin: 'round',\n strokeMiterlimit: 1.414,\n }}\n version=\"1.1\"\n viewBox=\"0 0 16 16\"\n width={convertRemToPixel(theme('width.icon'))}\n xmlSpace=\"preserve\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n {...iconProps}\n >\n {description && <desc>{description}</desc>}\n {children}\n </svg>\n );\n}\n\n/** @deprecated Don't create new icons based on this, use the ones from Echoes instead. */\nexport function OcticonHoc(\n WrappedOcticon: React.ComponentType<React.PropsWithChildren<OcticonProps>>,\n displayName?: string,\n): React.ComponentType<React.PropsWithChildren<IconProps>> {\n function IconWrapper({ fill, ...props }: IconProps) {\n const theme = useTheme();\n\n const size = props.width ?? props.height ?? 'small';\n\n return (\n <WrappedOcticon\n fill={fill && themeColor(fill)({ theme })}\n size={size}\n verticalAlign=\"middle\"\n {...props}\n />\n );\n }\n\n IconWrapper.displayName = displayName ?? WrappedOcticon.displayName ?? WrappedOcticon.name;\n return IconWrapper;\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { LinkExternalIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconLinkExternal from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const OpenNewTabIcon = OcticonHoc(LinkExternalIcon, 'OpenNewTabIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { HTMLAttributeAnchorTarget } from 'react';\nimport { Link as RouterLink, LinkProps as RouterLinkProps } from 'react-router-dom';\nimport tw, { theme as twTheme } from 'twin.macro';\nimport { themeBorder, themeColor } from '../helpers/theme';\nimport { TooltipWrapperInner } from './Tooltip';\nimport { OpenNewTabIcon } from './icons/OpenNewTabIcon';\n\n/** @deprecated Use LinkProps from Echoes instead.\n *\n * Some of the props have changed or been renamed:\n * - `blurAfterClick` is now `shouldBlurAfterClick`\n * - ~`disabled`~ doesn't exist anymore, a disabled link is just a regular text\n * - `forceExternal` is now `isExternal`\n * - `icon` is now `iconLeft` and can only be used with LinkStandalone\n * - `preventDefault` is now `shouldPreventDefault`\n * - `showExternalIcon` is now `hasExternalIcon`\n * - `stopPropagation` is now `shouldStopPropagation`\n */\nexport interface LinkProps extends RouterLinkProps {\n blurAfterClick?: boolean;\n disabled?: boolean;\n forceExternal?: boolean;\n icon?: React.ReactNode;\n isExternal?: boolean;\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;\n preventDefault?: boolean;\n showExternalIcon?: boolean;\n stopPropagation?: boolean;\n target?: HTMLAttributeAnchorTarget;\n}\n\nfunction BaseLinkWithRef(props: LinkProps, ref: React.ForwardedRef<HTMLAnchorElement>) {\n const {\n children,\n blurAfterClick,\n disabled,\n icon,\n isExternal: isExternalProp = false,\n onClick,\n preventDefault,\n showExternalIcon = !icon,\n stopPropagation,\n to,\n ...rest\n } = props;\n\n const toAsString =\n typeof to === 'string' ? to : `${to.pathname ?? ''}${to.search ?? ''}${to.hash ?? ''}`;\n\n const isExternal = isExternalProp || toAsString.startsWith('http');\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (blurAfterClick) {\n event.currentTarget.blur();\n }\n\n if (preventDefault || disabled) {\n event.preventDefault();\n }\n\n if (stopPropagation) {\n event.stopPropagation();\n }\n\n if (onClick && !disabled) {\n onClick(event);\n }\n },\n [onClick, blurAfterClick, preventDefault, stopPropagation, disabled],\n );\n\n if (isExternal) {\n return (\n <a\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n {...rest}\n href={toAsString}\n onClick={handleClick}\n ref={ref}\n >\n {icon}\n {children}\n {showExternalIcon && <ExternalIcon className=\"sw-ml-1\" />}\n </a>\n );\n }\n\n return (\n <RouterLink ref={ref} {...rest} onClick={handleClick} to={to}>\n {icon}\n {children}\n </RouterLink>\n );\n}\n\nconst ExternalIcon = styled(OpenNewTabIcon)`\n color: ${themeColor('linkExternalIcon')};\n`;\n\n/** @deprecated Use either Link or LinkStandalone from Echoes, or react-router-dom's Link instead.\n */\nexport const BaseLink = React.forwardRef(BaseLinkWithRef);\n\nconst StyledBaseLink = styled(BaseLink)`\n color: var(--color);\n border-bottom: ${({ children, icon, theme }) =>\n icon && !children ? themeBorder('default', 'transparent')({ theme }) : 'var(--border)'};\n\n &:visited {\n color: var(--color);\n }\n\n &:hover,\n &:focus,\n &:active {\n color: var(--active);\n border-bottom: ${({ children, icon, theme }) =>\n icon && !children ? themeBorder('default', 'transparent')({ theme }) : 'var(--borderActive)'};\n\n ${ExternalIcon} {\n color: ${themeColor('linkExternalIconActive')};\n }\n }\n\n & > svg {\n ${tw`sw-align-text-bottom!`}\n }\n\n ${({ icon }) =>\n icon &&\n css`\n margin-left: calc(${twTheme('width.icon')} + ${twTheme('spacing.3')});\n\n & > svg,\n & > img {\n ${tw`sw-mr-3`}\n\n margin-left: calc(-1 * (${twTheme('width.icon')} + ${twTheme('spacing.3')}));\n }\n `};\n`;\n\n/** @deprecated Use either Link or LinkStandalone from Echoes instead.\n */\nexport const NakedLink = styled(BaseLink)`\n border-bottom: none;\n padding-bottom: 1px;\n\n font-weight: 600;\n color: ${themeColor('linkNaked')};\n\n ${({ disabled, theme }) =>\n disabled\n ? tw`sw-cursor-default`\n : `&:hover,\n &:focus,\n &:active {\n color: ${themeColor('linkActive')({ theme })};\n }`};\n`;\n\n/** @deprecated Use either Link or LinkStandalone from Echoes instead.\n */\nexport const DrilldownLink = styled(StyledBaseLink)`\n ${tw`sw-heading-xl`}\n ${tw`sw-tracking-tight`}\n ${tw`sw-whitespace-nowrap`}\n\n ${({ disabled, theme }) =>\n disabled\n ? tw`sw-cursor-default`\n : `--active: ${themeColor('linkActive')({ theme })};\n --border: ${themeBorder('default', 'linkBorder')({ theme })};\n --borderActive: ${themeBorder('default', 'linkBorder')({ theme })};`};\n\n --color: ${themeColor('drilldown')};\n`;\n\nDrilldownLink.displayName = 'DrilldownLink';\n\n/** @deprecated Use either Link or LinkStandalone from Echoes instead.\n */\nexport const HoverLink = styled(StyledBaseLink)`\n text-decoration: none;\n\n --color: ${themeColor('linkDiscreet')};\n --active: ${themeColor('linkActive')};\n --border: ${themeBorder('default', 'transparent')};\n --borderActive: ${themeBorder('default', 'linkBorder')};\n\n ${TooltipWrapperInner} & {\n --active: ${themeColor('linkTooltipActive')};\n --borderActive: ${themeBorder('default', 'linkBorder')};\n }\n\n ${ExternalIcon} {\n color: ${themeColor('linkDiscreet')};\n }\n`;\nHoverLink.displayName = 'HoverLink';\n\n/** @deprecated Use either Link or LinkStandalone from Echoes instead.\n */\nexport const LinkBox = styled(StyledBaseLink)`\n text-decoration: none;\n\n &:hover,\n &:focus,\n &:active {\n background-color: ${themeColor('dropdownMenuHover')};\n display: block;\n }\n`;\nLinkBox.displayName = 'LinkBox';\n\n/** @deprecated Use either Link or LinkStandalone from Echoes instead.\n */\nexport const DiscreetLinkBox = styled(StyledBaseLink)`\n text-decoration: none;\n\n &:hover,\n &:focus,\n &:active {\n background-color: none;\n display: block;\n }\n\n ${({ disabled }) => (disabled ? tw`sw-cursor-default` : '')};\n`;\nLinkBox.displayName = 'DiscreetLinkBox';\n\n/** @deprecated Use either Link or LinkStandalone from Echoes instead.\n */\nexport const DiscreetLink = styled(HoverLink)`\n --border: ${themeBorder('default', 'linkDiscreet')};\n`;\nDiscreetLink.displayName = 'DiscreetLink';\n\n/** @deprecated Use either Link or LinkStandalone from Echoes instead.\n */\nexport const ContentLink = styled(HoverLink)`\n --color: ${themeColor('pageTitle')};\n --border: ${themeBorder('default', 'contentLinkBorder')};\n\n ${({ disabled }) => (disabled ? tw`sw-cursor-default` : '')};\n\n ${({ disabled, theme }) =>\n disabled\n ? `--active: ${themeColor('pageTitle')({ theme })};\n --border: none;\n --borderActive: none;`\n : ''}\n`;\nContentLink.displayName = 'ContentLink';\n\n/** @deprecated Use either Link or LinkStandalone from Echoes instead.\n */\nexport const StandoutLink = styled(StyledBaseLink)`\n ${tw`sw-font-semibold`}\n ${tw`sw-no-underline`}\n\n --color: ${themeColor('linkDefault')};\n --active: ${themeColor('linkActive')};\n --border: ${themeBorder('default', 'linkBorder')};\n --borderActive: ${themeBorder('default', 'linkBorder')};\n\n ${TooltipWrapperInner} & {\n --color: ${themeColor('linkTooltipDefault')};\n --active: ${themeColor('linkTooltipActive')};\n --border: ${themeBorder('default', 'linkBorder')};\n --borderActive: ${themeBorder('default', 'linkBorder')};\n }\n`;\nStandoutLink.displayName = 'StandoutLink';\n\n/** @deprecated Use either Link or LinkStandalone from Echoes instead.\n */\nexport const IssueIndicatorLink = styled(BaseLink)`\n color: var(--echoes-color-text-subdued);\n text-decoration: none;\n\n ${tw`sw-whitespace-nowrap`}\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { MouseEvent, ReactNode, forwardRef, useCallback } from 'react';\nimport tw from 'twin.macro';\nimport { BaseLink, LinkProps } from '../../../components/Link';\nimport { themeBorder, themeColor } from '../../../helpers/theme';\nimport { ThemedProps } from '../../../types/theme';\n\ntype AllowedButtonAttributes = Pick<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n 'aria-label' | 'autoFocus' | 'id' | 'name' | 'role' | 'style' | 'title' | 'type' | 'form'\n>;\n\nexport interface ButtonProps extends AllowedButtonAttributes {\n children?: ReactNode;\n className?: string;\n disabled?: boolean;\n download?: string;\n icon?: ReactNode;\n isExternal?: LinkProps['isExternal'];\n onClick?: (event: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => unknown;\n\n preventDefault?: boolean;\n reloadDocument?: LinkProps['reloadDocument'];\n showExternalIcon?: boolean;\n stopPropagation?: boolean;\n target?: LinkProps['target'];\n to?: LinkProps['to'];\n}\n\n/**\n * @deprecated Use Button from Echoes instead.\n * Use the `variety` prop with the ButtonVariety enum to change the button's look and feel.\n *\n * Some of the props have changed or been renamed:\n * - `blurAfterClick` is now `shouldBlurAfterClick`\n * - `disabled` is now `isDisabled`, note that a Echoes Tooltip won't work\n * on a disabled button, use a text notice or ToggleTip next to the disabled button instead.\n * - `icon` is now replace by `prefix` which works the same way\n * - `preventDefault` is now `shouldPreventDefault`\n * - `stopPropagation` is now `shouldStopPropagation`\n *\n * The button can't be used as a link anymore, and all props related to links have been dropped.\n * Use a real Echoes Link instead.\n *\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3382706231/Button | Migration Guide} for more information.\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n const {\n children,\n disabled,\n icon,\n onClick,\n preventDefault = props.type !== 'submit',\n stopPropagation = false,\n to,\n type = 'button',\n ...htmlProps\n } = props;\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n if (preventDefault || disabled) {\n event.preventDefault();\n }\n\n if (stopPropagation) {\n event.stopPropagation();\n }\n\n if (onClick && !disabled) {\n onClick(event);\n }\n },\n [disabled, onClick, preventDefault, stopPropagation],\n );\n\n const buttonProps = {\n ...htmlProps,\n 'aria-disabled': disabled,\n disabled,\n type,\n };\n\n if (to) {\n return (\n <BaseButtonLink {...buttonProps} onClick={onClick} to={to}>\n {icon}\n {children}\n </BaseButtonLink>\n );\n }\n\n return (\n <BaseButton {...buttonProps} onClick={handleClick} ref={ref}>\n {icon}\n {children}\n </BaseButton>\n );\n});\nButton.displayName = 'Button';\n\nexport const buttonStyle = (props: ThemedProps) => css`\n box-sizing: border-box;\n text-decoration: none;\n outline: none;\n border: var(--border);\n color: var(--color);\n background-color: var(--background);\n transition: background-color 0.2s ease;\n\n ${tw`sw-inline-flex sw-items-center`}\n ${tw`sw-h-control`}\n ${tw`sw-typo-semibold`}\n ${tw`sw-py-2 sw-px-4`}\n ${tw`sw-rounded-2`}\n ${tw`sw-cursor-pointer`}\n\n &:hover, &:active {\n color: var(--color);\n background-color: var(--backgroundHover);\n }\n\n &:focus,\n &:active,\n &:focus-visible {\n color: var(--color);\n }\n\n &:focus-visible {\n outline: var(--echoes-focus-border-width-default) solid var(--echoes-color-focus-default);\n outline-offset: var(--echoes-focus-border-offset-default);\n }\n\n &:disabled,\n &:disabled:hover {\n color: var(--echoes-color-text-disabled);\n background-color: ${themeColor('buttonDisabled')(props)};\n border: ${themeBorder('default', 'buttonDisabledBorder')(props)};\n\n ${tw`sw-cursor-not-allowed`}\n }\n\n & > svg {\n ${tw`sw-mr-1`}\n }\n`;\n\nconst BaseButtonLink = styled(BaseLink)`\n ${buttonStyle}\n\n /*\n Workaround to apply disable style to button-link\n as link does not have disabled attribute, using props instead\n */\n\n ${({ disabled, theme }) =>\n disabled\n ? `&, &:hover, &:focus, &:active {\n color: var(--echoes-color-text-disabled);\n background-color: ${themeColor('buttonDisabled')({ theme })};\n border: ${themeBorder('default', 'buttonDisabledBorder')({ theme })};\n cursor: not-allowed;\n }`\n : undefined};\n`;\n\nconst BaseButton = styled.button`\n ${buttonStyle}\n\n /*\n Workaround for tooltips issue with onMouseLeave in disabled buttons:\n https://github.com/facebook/react/issues/4251\n */\n & [disabled] {\n ${tw`sw-pointer-events-none`};\n }\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { OPACITY_20_PERCENT, themeBorder, themeColor, themeContrast } from '../../../helpers';\nimport { Button } from './Button';\n\n/**\n * @deprecated Use Button from Echoes instead without the `variety` prop set,\n * this is the default look and feel of the button.\n *\n * Some of the props have changed or been renamed:\n * - `blurAfterClick` is now `shouldBlurAfterClick`\n * - `disabled` is now `isDisabled`, note that a Echoes Tooltip won't work\n * on a disabled button, use a text notice or ToggleTip next to the disabled button instead.\n * - `icon` is now replace by `prefix` which works the same way\n * - `preventDefault` is now `shouldPreventDefault`\n * - `stopPropagation` is now `shouldStopPropagation`\n *\n * The button can't be used as a link anymore, and all props related to links have been dropped.\n * Use a real Echoes Link instead.\n *\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3382706231/Button | Migration Guide} for more information.\n */\nexport const ButtonSecondary = styled(Button)`\n --background: ${themeColor('buttonSecondary')};\n --backgroundHover: ${themeColor('buttonSecondaryHover')};\n --color: ${themeContrast('buttonSecondary')};\n --focus: ${themeColor('buttonSecondaryBorder', OPACITY_20_PERCENT)};\n --border: ${themeBorder('default', 'buttonSecondaryBorder')};\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { useTheme } from '@emotion/react';\nimport { themeColor } from '../../helpers/theme';\nimport { CustomIcon, IconProps } from './Icon';\n\n/** @deprecated Use IconChevronDown from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport function ChevronDownIcon({ fill = 'currentColor', ...iconProps }: IconProps) {\n const theme = useTheme();\n return (\n <CustomIcon {...iconProps}>\n <path\n clipRule=\"evenodd\"\n d=\"M12.7236 5.83199c.1953.19527.1953.51185 0 .70711l-4.18499 4.185c-.19526.1953-.51184.1953-.7071 0l-4.18503-4.185c-.19527-.19526-.19527-.51184 0-.70711.19526-.19526.51184-.19526.7071 0l3.83148 3.83148 3.83144-3.83148c.1953-.19526.5119-.19526.7071 0Z\"\n fill={themeColor(fill)({ theme })}\n fillRule=\"evenodd\"\n />\n </CustomIcon>\n );\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { useTheme } from '@emotion/react';\nimport { themeColor } from '../../helpers/theme';\nimport { CustomIcon, IconProps } from './Icon';\n\nexport function ChevronRightIcon({ fill = 'currentColor', ...iconProps }: IconProps) {\n const theme = useTheme();\n return (\n <CustomIcon {...iconProps}>\n <path\n clipRule=\"evenodd\"\n d=\"M5.83199 3.2764c.19527-.1953.51185-.1953.70711 0l4.185 4.18499c.1953.19526.1953.51184 0 .7071l-4.185 4.18503c-.19526.19527-.51184.19527-.70711 0-.19526-.19526-.19526-.51184 0-.7071l3.83148-3.83148L5.83199 3.9835c-.19526-.1953-.19526-.5119 0-.7071Z\"\n fill={themeColor(fill)({ theme })}\n fillRule=\"evenodd\"\n />\n </CustomIcon>\n );\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { ChevronDownIcon } from './ChevronDownIcon';\nimport { ChevronRightIcon } from './ChevronRightIcon';\nimport { IconProps } from './Icon';\n\ninterface Props extends IconProps {\n open: boolean;\n}\n\nexport function OpenCloseIndicator({ open, ...iconProps }: Props) {\n return open ? <ChevronDownIcon {...iconProps} /> : <ChevronRightIcon {...iconProps} />;\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport tw from 'twin.macro';\nimport { themeBorder, themeColor, themeContrast } from '../helpers/theme';\nimport { ThemeColors } from '../types/theme';\n\ntype BadgeVariant = 'default' | 'new' | 'deleted' | 'counter' | 'counterFailed';\n\nconst variantList: Record<BadgeVariant, ThemeColors> = {\n default: 'badgeDefault',\n new: 'badgeNew',\n deleted: 'badgeDeleted',\n counter: 'badgeCounter',\n counterFailed: 'badgeCounterFailed',\n};\n\nexport interface BadgeProps extends React.PropsWithChildren {\n className?: string;\n title?: string;\n variant?: BadgeVariant;\n}\n\nfunction getColor(variantInfo: ThemeColors) {\n if (variantInfo === 'badgeCounterFailed') {\n return 'var(--echoes-color-text-danger-bold)';\n }\n\n return themeContrast(variantInfo);\n}\n\nexport function Badge({ className, children, title, variant = 'default' }: BadgeProps) {\n const commonProps = {\n 'aria-label': title,\n className,\n role: title ? 'img' : 'presentation',\n title,\n };\n\n const Component = ['counter', 'counterFailed'].includes(variant) ? StyledCounter : StyledBadge;\n\n return (\n <Component variantInfo={variantList[variant]} {...commonProps}>\n {children}\n </Component>\n );\n}\n\nconst StyledBadge = styled.span<{\n variantInfo: ThemeColors;\n}>`\n ${tw`sw-text-[0.75rem]`};\n ${tw`sw-leading-[0.938rem]`};\n ${tw`sw-font-semibold`};\n ${tw`sw-inline-block`};\n ${tw`sw-whitespace-nowrap`};\n ${tw`sw-px-[0.125rem] sw-py-[0.03125rem]`};\n ${tw`sw-rounded-1/2`};\n\n color: ${({ variantInfo }) => themeContrast(variantInfo)};\n background-color: ${({ variantInfo }) => themeColor(variantInfo)};\n text-transform: uppercase;\n\n &:empty {\n ${tw`sw-hidden`}\n }\n`;\n\nconst StyledCounter = styled.span<{\n variantInfo: ThemeColors;\n}>`\n ${tw`sw-min-w-5 sw-min-h-5`};\n ${tw`sw-text-[0.75rem]`};\n ${tw`sw-font-regular`};\n ${tw`sw-box-border sw-px-[5px]`};\n ${tw`sw-inline-flex`};\n ${tw`sw-leading-[1.125rem]`};\n ${tw`sw-items-center sw-justify-center`};\n ${tw`sw-rounded-pill`};\n\n color: ${({ variantInfo }) => getColor(variantInfo)};\n background-color: ${({ variantInfo }) => themeColor(variantInfo)};\n border: ${({ variantInfo }) =>\n themeBorder(\n 'default',\n variantInfo === 'badgeCounterFailed' ? 'badgeCounterFailedBorder' : 'transparent',\n )};\n\n &:empty {\n ${tw`sw-hidden`}\n }\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nexport function isDefined<T>(x: T | undefined | null): x is T {\n return x !== undefined && x !== null;\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport classNames from 'classnames';\nimport React, { ForwardedRef, MouseEvent, forwardRef, useCallback } from 'react';\nimport tw from 'twin.macro';\nimport { OPACITY_20_PERCENT } from '../helpers/constants';\nimport { themeBorder, themeColor, themeContrast } from '../helpers/theme';\nimport { isDefined } from '../helpers/types';\nimport { ThemedProps } from '../types/theme';\nimport { IconProps } from './icons/Icon';\n\nexport type InteractiveIconSize = 'small' | 'medium';\n\nexport interface InteractiveIconProps {\n Icon: React.ComponentType<React.PropsWithChildren<IconProps>>;\n 'aria-label': string;\n children?: React.ReactNode;\n className?: string;\n currentColor?: boolean;\n disabled?: boolean;\n iconProps?: IconProps;\n id?: string;\n innerRef?: React.Ref<HTMLButtonElement>;\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n size?: InteractiveIconSize;\n stopPropagation?: boolean;\n}\n\nexport const InteractiveIconBase = forwardRef(\n (props: InteractiveIconProps, ref: ForwardedRef<HTMLButtonElement>) => {\n const {\n Icon,\n children,\n disabled,\n onClick,\n size = 'medium',\n iconProps = {},\n stopPropagation = true,\n ...htmlProps\n } = props;\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (stopPropagation) {\n event.stopPropagation();\n }\n\n if (onClick && !disabled) {\n onClick(event);\n }\n },\n [disabled, onClick, stopPropagation],\n );\n\n const propsForInteractiveWrapper = {\n ...htmlProps,\n 'aria-disabled': disabled,\n disabled,\n size,\n };\n\n return (\n <IconButton {...propsForInteractiveWrapper} onClick={handleClick} ref={ref} type=\"button\">\n <Icon className={classNames({ 'sw-mr-1': isDefined(children) })} {...iconProps} />\n {children}\n </IconButton>\n );\n },\n);\n\nInteractiveIconBase.displayName = 'InteractiveIconBase';\n\nconst buttonIconStyle = (props: ThemedProps & { size: InteractiveIconSize }) => css`\n box-sizing: border-box;\n border: none;\n outline: none;\n text-decoration: none;\n color: var(--color);\n background-color: var(--background);\n transition:\n background-color 0.2s ease,\n outline 0.2s ease,\n color 0.2s ease;\n\n ${tw`sw-inline-flex sw-items-center sw-justify-center`}\n ${tw`sw-cursor-pointer`}\n\n ${{\n small: tw`sw-h-6 sw-px-1 sw-rounded-1/2`,\n medium: tw`sw-h-control sw-px-[0.625rem] sw-rounded-2`,\n }[props.size]}\n\n\n &:hover,\n &:focus,\n &:active {\n color: var(--colorHover);\n background-color: var(--backgroundHover);\n }\n\n &:focus,\n &:active {\n outline: ${themeBorder('focus', 'var(--focus)')(props)};\n }\n\n &:disabled,\n &:disabled:hover {\n color: var(--echoes-color-icon-disabled);\n background-color: var(--background);\n\n ${tw`sw-cursor-not-allowed`}\n }\n`;\n\nconst IconButton = styled.button`\n ${buttonIconStyle}\n`;\n\n/**\n * @deprecated Use ButtonIcon from Echoes instead.\n *\n * Use the `variety` prop with the ButtonVariety enum to change the\n * button's look and feel.\n *\n * Some of the props have changed or been renamed:\n * - `disabled` is now `isDisabled`, note that an Echoes Tooltip won't work\n * on a disabled button, use a text notice or ToggleTip next to the disabled button instead.\n * - `Icon` is restricted to Echoes' Icons\n * - `aria-label` is now `ariaLabel`\n * - `size` now requires a value from the ButtonSize enum\n *\n * New props:\n * - `tooltipContent` overrides the content of the tooltip (which defaults to the value of ariaLabel!)\n * - `tooltipProps` allows you to customize the tooltip positioning (`align` and `side`)\n *\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3382706231/Button | Migration Guide} for more information.\n */\nexport const InteractiveIcon = styled(InteractiveIconBase)`\n --background: ${themeColor('interactiveIcon')};\n --backgroundHover: ${themeColor('interactiveIconHover')};\n --color: ${({ currentColor, theme }) =>\n currentColor ? 'currentColor' : themeContrast('interactiveIcon')({ theme })};\n --colorHover: ${themeContrast('interactiveIconHover')};\n --focus: ${themeColor('interactiveIconFocus', OPACITY_20_PERCENT)};\n`;\n\n/**\n * @deprecated Use ButtonIcon from Echoes instead, with the ButtonVariety.DefaultGhost variety.\n *\n * Some of the props have changed or been renamed:\n * - `disabled` is now `isDisabled`, note that an Echoes Tooltip won't work\n * on a disabled button, use a text notice or ToggleTip next to the disabled button instead.\n * - `Icon` is restricted to Echoes' Icons\n * - `aria-label` is now `ariaLabel`\n * - `size` now requires a value from the ButtonSize enum\n *\n * New props:\n * - `tooltipContent` overrides the content of the tooltip (which defaults to the value of ariaLabel!)\n * - `tooltipProps` allows you to customize the tooltip positioning (`align` and `side`)\n *\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3382706231/Button | Migration Guide} for more information.\n */\nexport const DiscreetInteractiveIcon = styled(InteractiveIcon)`\n --color: var(--echoes-color-icon-subdued);\n`;\n\n/**\n * @deprecated Use ButtonIcon from Echoes instead, with the ButtonVariety.DangerGhost variety.\n *\n * Some of the props have changed or been renamed:\n * - `disabled` is now `isDisabled`, note that an Echoes Tooltip won't work\n * on a disabled button, use a text notice or ToggleTip next to the disabled button instead.\n * - `Icon` is restricted to Echoes' Icons\n * - `aria-label` is now `ariaLabel`\n * - `size` now requires a value from the ButtonSize enum\n *\n * New props:\n * - `tooltipContent` overrides the content of the tooltip (which defaults to the value of ariaLabel!)\n * - `tooltipProps` allows you to customize the tooltip positioning (`align` and `side`)\n *\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3382706231/Button | Migration Guide} for more information.\n */\nexport const DestructiveIcon = styled(InteractiveIconBase)`\n --background: ${themeColor('destructiveIcon')};\n --backgroundHover: ${themeColor('destructiveIconHover')};\n --color: ${themeContrast('destructiveIcon')};\n --colorHover: ${themeContrast('destructiveIconHover')};\n --focus: ${themeColor('destructiveIconFocus', OPACITY_20_PERCENT)};\n`;\n\n/**\n * @deprecated Use ButtonIcon from Echoes instead, with the ButtonVariety.DefaultGhost variety.\n *\n * Some of the props have changed or been renamed:\n * - `disabled` is now `isDisabled`, note that an Echoes Tooltip won't work\n * on a disabled button, use a text notice or ToggleTip next to the disabled button instead.\n * - `Icon` is restricted to Echoes' Icons\n * - `aria-label` is now `ariaLabel`\n * - `size` now requires a value from the ButtonSize enum\n *\n * New props:\n * - `tooltipContent` overrides the content of the tooltip (which defaults to the value of ariaLabel!)\n * - `tooltipProps` allows you to customize the tooltip positioning (`align` and `side`)\n *\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3382706231/Button | Migration Guide} for more information.\n */\nexport const DismissProductNewsIcon = styled(InteractiveIcon)`\n --background: ${themeColor('productNews')};\n --backgroundHover: ${themeColor('productNewsHover')};\n --color: ${themeContrast('productNews')};\n --colorHover: ${themeContrast('productNewsHover')};\n --focus: ${themeColor('interactiveIconFocus', OPACITY_20_PERCENT)};\n\n height: 28px;\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { GitBranchIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconGitBranch from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const BranchIcon = OcticonHoc(GitBranchIcon, 'BranchIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { CalendarIcon as Octicon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconCalendar from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const CalendarIcon = OcticonHoc(Octicon);\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { useTheme } from '@emotion/react';\nimport { themeColor } from '../../helpers/theme';\nimport { CustomIcon, IconProps } from './Icon';\n\n/** @deprecated Use IconCheck from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport function CheckIcon({ fill = 'iconCheck', ...iconProps }: IconProps) {\n const theme = useTheme();\n return (\n <CustomIcon {...iconProps}>\n <path\n clipRule=\"evenodd\"\n d=\"M11.6634 5.47789c.2884.29737.2811.77218-.0163 1.06054L7.52211 10.5384c-.29414.2852-.76273.2816-1.05244-.0081l-2-1.99997c-.29289-.29289-.29289-.76777 0-1.06066s.76777-.29289 1.06066 0L7.0081 8.94744l3.5948-3.48586c.2974-.28836.7722-.28105 1.0605.01631Z\"\n fill={themeColor(fill)({ theme })}\n fillRule=\"evenodd\"\n />\n </CustomIcon>\n );\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { ClockIcon as OcticonClockIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconClock from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const ClockIcon = OcticonHoc(OcticonClockIcon, 'ClockIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { XIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconX from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const CloseIcon = OcticonHoc(XIcon, 'CloseIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { FoldDownIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconUnfoldDown from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const UnfoldDownIcon = OcticonHoc(FoldDownIcon, 'UnfoldDownIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { UnfoldIcon as OcticonUnfoldIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconUnfold from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const UnfoldIcon = OcticonHoc(OcticonUnfoldIcon, 'UnfoldIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { FoldUpIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconUnfoldUp from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const UnfoldUpIcon = OcticonHoc(FoldUpIcon, 'UnfoldUpIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { CommentIcon as OcticonCommentIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconComment from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const CommentIcon = OcticonHoc(OcticonCommentIcon, 'CommentIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { CopyIcon as OcticonCopyIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconCopy from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const CopyIcon = OcticonHoc(OcticonCopyIcon, 'CopyIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { FileDirectoryIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconDirectory from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const DirectoryIcon = OcticonHoc(FileDirectoryIcon, 'DirectoryIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { DotFillIcon as OcticonDotFillIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconDot with the isFilled prop from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const DotFillIcon = OcticonHoc(OcticonDotFillIcon, 'DotFillIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { FileIcon as OcticonFileIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconFile from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const FileIcon = OcticonHoc(OcticonFileIcon, 'FileIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { FilterIcon as Icon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconFilter from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const FilterIcon = OcticonHoc(Icon, 'FilterIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { useTheme } from '@emotion/react';\nimport { themeColor } from '../../helpers/theme';\nimport { CustomIcon, IconProps } from './Icon';\n\n/** @deprecated Use IconError from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport function FlagErrorIcon({ fill = 'iconError', ...iconProps }: IconProps) {\n const theme = useTheme();\n return (\n <CustomIcon {...iconProps}>\n <path\n d=\"M7.364 1.707a1 1 0 0 1 1.414 0l5.657 5.657a1 1 0 0 1 0 1.414l-5.657 5.657a1 1 0 0 1-1.414 0L1.707 8.778a1 1 0 0 1 0-1.414l5.657-5.657ZM7 5a1 1 0 0 1 2 0v3a1 1 0 1 1-2 0V5Zm1 5a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"\n style={{ fill: themeColor(fill)({ theme }) }}\n />\n </CustomIcon>\n );\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { useTheme } from '@emotion/react';\nimport { themeColor } from '../../helpers/theme';\nimport { CustomIcon, IconProps } from './Icon';\n\n/** @deprecated Use IconInfo from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport function FlagInfoIcon({ fill = 'iconInfo', ...iconProps }: IconProps) {\n const theme = useTheme();\n return (\n <CustomIcon {...iconProps}>\n <path\n d=\"M14 8A6 6 0 1 1 2 8a6 6 0 0 1 12 0Zm-5 3a1 1 0 1 1-2 0V8a1 1 0 0 1 2 0v3ZM8 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"\n style={{ fill: themeColor(fill)({ theme }) }}\n />\n </CustomIcon>\n );\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { useTheme } from '@emotion/react';\nimport { themeColor } from '../../helpers/theme';\nimport { CustomIcon, IconProps } from './Icon';\n\n/** @deprecated Use IconCheckCircle from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport function FlagSuccessIcon({ fill = 'iconSuccess', ...iconProps }: IconProps) {\n const theme = useTheme();\n return (\n <CustomIcon {...iconProps}>\n <path\n d=\"M8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12Zm3.207-6.793a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l3.5-3.5Z\"\n style={{ fill: themeColor(fill)({ theme }) }}\n />\n </CustomIcon>\n );\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { useTheme } from '@emotion/react';\nimport { themeColor } from '../../helpers/theme';\nimport { CustomIcon, IconProps } from './Icon';\n\n/** @deprecated Use IconWarning from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport function FlagWarningIcon({ fill = 'iconWarning', ...iconProps }: IconProps) {\n const theme = useTheme();\n return (\n <CustomIcon {...iconProps}>\n <path\n d=\"M14.41 12.55a1 1 0 0 1-.893 1.45H2.625a1 1 0 0 1-.892-1.45L7.178 1.766a1 1 0 0 1 1.786 0l5.445 10.782ZM7 6a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0V6Zm1 5a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"\n style={{ fill: themeColor(fill)({ theme }) }}\n />\n </CustomIcon>\n );\n}\nFlagWarningIcon.displayName = 'FlagWarningIcon';\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { HomeIcon as OcticonHomeIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconHome from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const HomeIcon = OcticonHoc(OcticonHomeIcon, 'HomeIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { keyframes, useTheme } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { themeColor } from '../../helpers/theme';\n\nexport function InProgressVisual() {\n const theme = useTheme();\n\n return (\n <svg className=\"svg-animated\" height=\"168\" width=\"168\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M149 151.15v-61.5c-6 48.4-49.17 61.34-70 61.5h70Z\"\n fill={themeColor('illustrationShade')({ theme })}\n />\n <path\n d=\"M50.94 16.79 34 9.79 37.8 4l13.14 12.79ZM48.5 24.46 38 27.93V21l10.5 3.46ZM125.55 37.07l3.63-9.07 5.1 4.7-8.73 4.37ZM125 43.46 141.5 40v6.93L125 43.46ZM56.93 10.59 50 2.57 56.51 0l.42 10.59Z\"\n fill={themeColor('illustrationPrimary')({ theme })}\n />\n <path\n d=\"M19 57.15v95h8v-95h-8ZM33 73.15h15v-8H33v8ZM56 73.15h15v-8H56v8Z\"\n fill={themeColor('illustrationSecondary')({ theme })}\n />\n <path\n clipRule=\"evenodd\"\n d=\"M20 157a7 7 0 0 1-7-7V61a7 7 0 0 1 7-7h28.5v6H20a1 1 0 0 0-1 1v16.88h63v6.24H19V150a1 1 0 0 0 1 1h128a1 1 0 0 0 1-1V61a1 1 0 0 0-1-1h-11v-6h11a7 7 0 0 1 7 7v89a7 7 0 0 1-7 7H20Z\"\n fill=\"var(--echoes-color-icon-subdued)\"\n fillRule=\"evenodd\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M91 112.15H66v-6h25v6ZM62.09 129.5 48.6 142.54l-8.72-8.61 4.22-4.27 4.55 4.49 9.25-8.97 4.18 4.32ZM62.09 105.31 48.6 118.35l-8.72-8.6 4.22-4.28 4.55 4.5L57.9 101l4.18 4.31ZM91 137.34H66v-6h25v6Z\"\n fill={themeColor('illustrationSecondary')({ theme })}\n fillRule=\"evenodd\"\n />\n <Wheel>\n <path\n clipRule=\"evenodd\"\n d=\"m115.17 46.11-7.2-4.15a24.21 24.21 0 0 0 1.72-6.41H118v-6.1h-8.31c-.28-2.24-.87-4.4-1.72-6.4l7.2-4.16-3.05-5.28-7.2 4.16a24.55 24.55 0 0 0-4.69-4.7l4.16-7.2-5.28-3.04-4.15 7.2a24.21 24.21 0 0 0-6.41-1.72V0h-6.1v8.31c-2.24.28-4.4.87-6.4 1.72l-4.16-7.2-5.28 3.05 4.16 7.2a24.52 24.52 0 0 0-4.7 4.69l-7.2-4.16-3.04 5.28 7.2 4.15a24.2 24.2 0 0 0-1.72 6.41H53v6.1h8.31c.28 2.24.87 4.4 1.72 6.4l-7.2 4.16 3.05 5.28 7.2-4.16a24.52 24.52 0 0 0 4.69 4.7l-4.16 7.2 5.28 3.04 4.15-7.2c2.02.85 4.17 1.44 6.41 1.72V65h6.1v-8.31a24.2 24.2 0 0 0 6.4-1.72l4.16 7.2 5.28-3.05-4.16-7.2a24.51 24.51 0 0 0 4.7-4.69l7.2 4.16 3.04-5.28ZM85.5 51a18.5 18.5 0 1 0 0-37 18.5 18.5 0 0 0 0 37Z\"\n fill={themeColor('illustrationPrimary')({ theme })}\n fillRule=\"evenodd\"\n />\n </Wheel>\n <path\n clipRule=\"evenodd\"\n d=\"M73 32.5a12.5 12.5 0 0 0 25 0h6a18.5 18.5 0 1 1-37 0h6Z\"\n fill={themeColor('illustrationInlineBorder')({ theme })}\n fillRule=\"evenodd\"\n />\n <WheelInverted>\n <path\n clipRule=\"evenodd\"\n d=\"m105.3 54.74 4.74-2.74 1.93 3.34a18.95 18.95 0 0 1 14.2.06l1.97-3.4 4.74 2.74-1.98 3.44A18.98 18.98 0 0 1 137.76 70H142v6h-4.24a18.98 18.98 0 0 1-6.98 11.91l2.1 3.65-4.74 2.74-2.1-3.64a18.95 18.95 0 0 1-13.93.05l-2.07 3.6-4.74-2.75 2.05-3.55A18.98 18.98 0 0 1 100.24 76H96v-6h4.24a18.98 18.98 0 0 1 6.99-11.91l-1.93-3.35ZM119 86a13 13 0 1 0 0-26 13 13 0 0 0 0 26Z\"\n fill={themeColor('illustrationSecondary')({ theme })}\n fillRule=\"evenodd\"\n />\n </WheelInverted>\n <circle cx=\"119\" cy=\"73\" fill={themeColor('illustrationPrimary')({ theme })} r=\"5\" />\n </svg>\n );\n}\n\nconst rotateKeyFrame = keyframes`\n from {\n transform: rotateZ(0deg);\n }\n to {\n transform: rotateZ(360deg);\n }\n`;\n\nconst rotateKeyFrameInverse = keyframes`\n from {\n transform: rotateZ(360deg);\n }\n to {\n transform: rotateZ(0deg);\n }\n`;\n\nconst Wheel = styled.g`\n transform-origin: 85.5px 32.5px 0;\n animation: ${rotateKeyFrame} 3s infinite;\n`;\n\nconst WheelInverted = styled.g`\n transform-origin: 119px 73px 0;\n animation: ${rotateKeyFrameInverse} 3s infinite;\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { LinkIcon as Icon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconLink from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const LinkIcon = OcticonHoc(Icon, 'LinkIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { LockIcon as OcticonLockIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconLock from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const LockIcon = OcticonHoc(OcticonLockIcon, 'LockIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { PencilIcon as PencilOcticonIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\nexport const PencilIcon = OcticonHoc(PencilOcticonIcon);\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { PinIcon as OcticonPinIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconPin from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const PinIcon = OcticonHoc(OcticonPinIcon, 'PinIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { ProjectIcon as OcticonProjectIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconProject from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const ProjectIcon = OcticonHoc(OcticonProjectIcon, 'ProjectIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { GitPullRequestIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconPullrequest from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const PullRequestIcon = OcticonHoc(GitPullRequestIcon, 'PullRequestIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { SortAscIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\nexport const SortAscendIcon = OcticonHoc(SortAscIcon, 'SortAscendIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { SortDescIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\nexport const SortDescendIcon = OcticonHoc(SortDescIcon, 'SortDescendIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { StarFillIcon as OcticonStarFillIcon } from '@primer/octicons-react';\nimport { themeColor } from '../../helpers';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconStar with the isFilled prop from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const StarFillIcon = styled(OcticonHoc(OcticonStarFillIcon))`\n // provide a default fill color that is different from the default icon\n fill: ${themeColor('iconFavorite')};\n`;\n\nStarFillIcon.displayName = 'StarFillIcon';\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { StarIcon as OcticonStarIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconStar from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const StarIcon = OcticonHoc(OcticonStarIcon, 'StarIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { TrashIcon as BaseTrashIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\nexport const TrashIcon = OcticonHoc(BaseTrashIcon);\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { TriangleDownIcon as Octicon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\nexport const TriangleDownIcon = OcticonHoc(Octicon);\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { TriangleLeftIcon as Octicon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\nexport const TriangleLeftIcon = OcticonHoc(Octicon);\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { TriangleRightIcon as Octicon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\nexport const TriangleRightIcon = OcticonHoc(Octicon);\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { TriangleUpIcon as Octicon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\nexport const TriangleUpIcon = OcticonHoc(Octicon);\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { PeopleIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconPeople from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const UserGroupIcon = OcticonHoc(PeopleIcon, 'UserGroupIcon');\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function ticks(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport React from 'react';\nimport { NavLink as RouterNavLink, NavLinkProps as RouterNavLinkProps } from 'react-router-dom';\n\nexport interface NavLinkProps extends RouterNavLinkProps {\n blurAfterClick?: boolean;\n disabled?: boolean;\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;\n preventDefault?: boolean;\n stopPropagation?: boolean;\n}\n\n// Styling this component directly with Emotion should be avoided due to conflicts with react-router's classname.\n// Use NavBarTabs as an example of this exception.\nfunction NavLinkWithRef(props: NavLinkProps, ref: React.ForwardedRef<HTMLAnchorElement>) {\n const {\n blurAfterClick,\n children,\n disabled,\n onClick,\n preventDefault,\n stopPropagation,\n ...otherProps\n } = props;\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (blurAfterClick) {\n // explicitly lose focus after click\n event.currentTarget.blur();\n }\n\n if (preventDefault || disabled) {\n event.preventDefault();\n }\n\n if (stopPropagation) {\n event.stopPropagation();\n }\n\n if (onClick && !disabled) {\n onClick(event);\n }\n },\n [onClick, blurAfterClick, preventDefault, stopPropagation, disabled],\n );\n\n return (\n <RouterNavLink onClick={handleClick} ref={ref} {...otherProps}>\n {children}\n </RouterNavLink>\n );\n}\n\nconst NavLink = React.forwardRef(NavLinkWithRef);\nexport default NavLink;\n","/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport {\n Button,\n ButtonIcon,\n ButtonSize,\n ButtonVariety,\n IconCopy,\n Tooltip,\n TooltipProvider,\n} from '@sonarsource/echoes-react';\nimport classNames from 'classnames';\nimport { copy } from 'clipboard';\nimport React, { ComponentProps, useCallback, useState } from 'react';\n\nconst COPY_SUCCESS_NOTIFICATION_LIFESPAN = 1000;\n\ninterface ButtonProps {\n ariaLabel?: string;\n children?: React.ReactNode;\n className?: string;\n copiedLabel?: string;\n copyLabel?: string;\n copyValue: string;\n icon?: React.ReactNode;\n}\n\nexport function ClipboardButton(props: ButtonProps) {\n const {\n icon = <IconCopy />,\n className,\n children,\n copyValue,\n ariaLabel,\n copiedLabel = 'Copied',\n copyLabel = 'Copy',\n } = props;\n const [copySuccess, handleCopy] = useCopyClipboardEffect(copyValue);\n\n return (\n <TooltipProvider>\n {/* TODO ^ Remove TooltipProvider after design-system is reintegrated into sonar-web */}\n <Tooltip content={copiedLabel} isOpen={copySuccess}>\n <Button\n aria-label={ariaLabel}\n className={classNames('sw-select-none', className)}\n onClick={handleCopy}\n prefix={icon}\n >\n {children ?? copyLabel}\n </Button>\n </Tooltip>\n </TooltipProvider>\n );\n}\n\ninterface IconButtonProps {\n Icon?: ComponentProps<typeof ButtonIcon>['Icon'];\n 'aria-label'?: string;\n className?: string;\n copiedLabel?: string;\n copyLabel?: string;\n copyValue: string;\n discreet?: boolean;\n size?: ButtonSize;\n}\n\nexport function ClipboardIconButton(props: IconButtonProps) {\n const {\n className,\n copyValue,\n discreet,\n size = ButtonSize.Medium,\n Icon = IconCopy,\n copiedLabel = 'Copied',\n copyLabel = 'Copy to clipboard',\n } = props;\n\n const [copySuccess, handleCopy] = useCopyClipboardEffect(copyValue);\n\n return (\n <TooltipProvider>\n {/* TODO ^ Remove TooltipProvider after design-system is reintegrated into sonar-web */}\n <ButtonIcon\n Icon={Icon}\n ariaLabel={props['aria-label'] ?? copyLabel}\n className={className}\n onClick={handleCopy}\n size={size}\n tooltipContent={copySuccess ? copiedLabel : copyLabel}\n tooltipOptions={copySuccess ? { isOpen: copySuccess } : undefined}\n variety={discreet ? ButtonVariety.DefaultGhost : ButtonVariety.Default}\n />\n </TooltipProvider>\n );\n}\n\nexport function useCopyClipboardEffect(copyValue: string) {\n const [copySuccess, setCopySuccess] = useState(false);\n\n const handleCopy = useCallback(\n ({ currentTarget }: React.MouseEvent<HTMLButtonElement>) => {\n const isSuccess = copy(copyValue) === copyValue;\n setCopySuccess(isSuccess);\n\n if (isSuccess) {\n setTimeout(() => {\n setCopySuccess(false);\n }, COPY_SUCCESS_NOTIFICATION_LIFESPAN);\n }\n\n currentTarget.focus();\n },\n [copyValue],\n );\n\n return [copySuccess, handleCopy] as const;\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useIntl } from 'react-intl';\nimport tw from 'twin.macro';\nimport { themeColor } from '../helpers/theme';\n\ninterface Props {\n ariaLabel?: string;\n className?: string;\n customSpinner?: JSX.Element;\n loading?: boolean;\n placeholder?: boolean;\n}\n\n/** @deprecated Use Spinner from Echoes instead.\n *\n * Some of the props have changed or been renamed:\n * - ~`customSpinner`~ has been removed\n * - `loading` is now `isLoading`\n * - `placeholder` is now `hasPlaceholder`\n */\nexport function Spinner(props: React.PropsWithChildren<Props>) {\n const intl = useIntl();\n const {\n customSpinner,\n className,\n children,\n placeholder,\n ariaLabel = intl.formatMessage({ id: 'loading' }),\n loading = true,\n } = props;\n\n if (customSpinner) {\n return <>{loading ? customSpinner : children}</>;\n }\n\n return (\n // Below: using <></> won't work in extenstions ('React' is not defined). This is because the\n // name 'React' would already have been minified to something else when <> is resolved to\n // React.Fragment\n // eslint-disable-next-line react/jsx-fragments\n <React.Fragment>\n <div className=\"sw-relative\">\n <div\n className={classNames('sw-overflow-hidden', {\n 'sw-sr-only': !loading,\n it__loading: loading,\n })}\n >\n <StyledSpinner aria-live=\"polite\" className={className} role=\"status\">\n {loading && <span className=\"sw-sr-only\">{ariaLabel}</span>}\n </StyledSpinner>\n </div>\n </div>\n {!loading && (children ?? (placeholder && <Placeholder className={className} />) ?? null)}\n </React.Fragment>\n );\n}\n\nconst spinAnimation = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(-360deg);\n }\n`;\n\nconst StyledSpinner = styled.div`\n border: 2px solid transparent;\n background:\n linear-gradient(0deg, ${themeColor('primary')} 50%, transparent 50% 100%) border-box,\n linear-gradient(90deg, ${themeColor('primary')} 25%, transparent 75% 100%) border-box;\n mask:\n linear-gradient(#fff 0 0) padding-box,\n linear-gradient(#fff 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n animation: ${spinAnimation} 1s infinite linear;\n\n ${tw`sw-h-4 sw-w-4`};\n ${tw`sw-inline-block`};\n ${tw`sw-box-border`};\n ${tw`sw-rounded-pill`}\n`;\n\nconst Placeholder = styled.div`\n position: relative;\n visibility: hidden;\n\n ${tw`sw-inline-flex sw-items-center sw-justify-center`};\n ${tw`sw-h-4 sw-w-4`};\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport tw from 'twin.macro';\nimport { themeBorder, themeColor, themeContrast } from '../../helpers/theme';\nimport { CheckIcon } from '../icons/CheckIcon';\nimport { CustomIcon } from '../icons/Icon';\nimport { Spinner } from '../Spinner';\n\ninterface Props {\n checked: boolean;\n children?: React.ReactNode;\n className?: string;\n disabled?: boolean;\n id?: string;\n label?: string;\n loading?: boolean;\n onCheck: (checked: boolean, id?: string) => void;\n onClick?: (event: React.MouseEvent<HTMLLabelElement>) => void;\n onFocus?: VoidFunction;\n right?: boolean;\n thirdState?: boolean;\n title?: string;\n}\n\n/** @deprecated Use Checkbox from Echoes instead.\n *\n * Some of the props have changed or been renamed:\n * - ~`aria-disabled`~ is now inferred from `isDisabled`\n * - `ariaLabel` is now mandatory in the absence of `label`\n * - ~`children`~ has been removed\n * - `disabled` is now `isDisabled`\n * - `label` is no longer used in the aria-label but displayed next to the checkbox\n * - `loading` is now `isLoading`\n * - ~`onClick`~ has been removed\n * - ~`right`~ has been removed\n * - `thirdState` is now represented by the `indeterminate` value of the `checked` prop\n */\nexport function Checkbox({\n checked,\n disabled,\n children,\n className,\n id,\n label,\n loading = false,\n onCheck,\n onFocus,\n onClick,\n right,\n thirdState = false,\n title,\n}: Props) {\n const handleChange = () => {\n if (!disabled) {\n onCheck(!checked, id);\n }\n };\n\n return (\n <CheckboxContainer className={className} disabled={disabled} onClick={onClick}>\n {right && children}\n <AccessibleCheckbox\n aria-label={label ?? title}\n checked={checked}\n disabled={disabled ?? loading}\n id={id}\n onChange={handleChange}\n onFocus={onFocus}\n type=\"checkbox\"\n />\n <Spinner loading={loading}>\n <StyledCheckbox aria-hidden data-clickable=\"true\" title={title}>\n <CheckboxIcon checked={checked} thirdState={thirdState} />\n </StyledCheckbox>\n </Spinner>\n {!right && children}\n </CheckboxContainer>\n );\n}\n\ninterface CheckIconProps {\n checked?: boolean;\n thirdState?: boolean;\n}\n\nfunction CheckboxIcon({ checked, thirdState }: CheckIconProps) {\n if (checked && thirdState) {\n return (\n <CustomIcon>\n <rect fill=\"currentColor\" height=\"2\" rx=\"1\" width=\"50%\" x=\"4\" y=\"7\" />\n </CustomIcon>\n );\n } else if (checked) {\n return <CheckIcon fill=\"buttonSecondary\" />;\n }\n return null;\n}\n\nconst CheckboxContainer = styled.label<{ disabled?: boolean }>`\n color: ${themeContrast('backgroundSecondary')};\n user-select: none;\n\n ${tw`sw-inline-flex sw-items-center`};\n\n &:hover {\n ${tw`sw-cursor-pointer`}\n }\n\n &:disabled {\n color: ${themeContrast('checkboxDisabled')};\n ${tw`sw-cursor-not-allowed`}\n }\n`;\n\nexport const StyledCheckbox = styled.span`\n border: ${themeBorder('default', 'primary')};\n color: ${themeContrast('primary')};\n\n ${tw`sw-w-4 sw-h-4`};\n ${tw`sw-rounded-1/2`};\n ${tw`sw-box-border`}\n ${tw`sw-inline-flex sw-items-center sw-justify-center`};\n`;\n\nexport const AccessibleCheckbox = styled.input`\n // Following css makes the checkbox accessible and invisible\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n padding: 0;\n white-space: nowrap;\n width: 1px;\n appearance: none;\n\n &:focus,\n &:active {\n &:not(:disabled) ~ ${StyledCheckbox} {\n outline: ${themeBorder('focus', 'primary')};\n }\n }\n\n &:checked {\n & ~ ${StyledCheckbox} {\n background: ${themeColor('primary')};\n }\n &:disabled ~ ${StyledCheckbox} {\n background: ${themeColor('checkboxDisabledChecked')};\n }\n }\n\n &:hover {\n &:not(:disabled) ~ ${StyledCheckbox} {\n background: ${themeColor('checkboxHover')};\n border: ${themeBorder('default', 'primary')};\n }\n\n &:checked:not(:disabled) ~ ${StyledCheckbox} {\n background: ${themeColor('checkboxCheckedHover')};\n border: ${themeBorder('default', 'checkboxCheckedHover')};\n }\n }\n\n &:disabled ~ ${StyledCheckbox} {\n background: ${themeColor('checkboxDisabled')};\n color: ${themeColor('checkboxDisabled')};\n border: ${themeBorder('default', 'checkboxDisabledChecked')};\n }\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport classNames from 'classnames';\nimport React, { ForwardedRef, forwardRef } from 'react';\nimport tw from 'twin.macro';\nimport { INPUT_SIZES } from '../helpers/constants';\nimport { themeColor, themeContrast } from '../helpers/theme';\nimport { InputSizeKeys, ThemedProps } from '../types/theme';\nimport { BaseLink, LinkProps } from './Link';\nimport NavLink from './NavLink';\nimport { Tooltip } from './Tooltip';\nimport { useCopyClipboardEffect } from './clipboard';\nimport { Checkbox } from './input/Checkbox';\n\ninterface Props extends React.HtmlHTMLAttributes<HTMLMenuElement> {\n children?: React.ReactNode;\n className?: string;\n innerRef?: React.Ref<HTMLUListElement>;\n maxHeight?: string;\n size?: InputSizeKeys;\n}\n\n/** @deprecated Use DropdownMenu.Root and other DropdownMenu.* elements from Echoes instead.\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3354918914/DropdownMenus | Migration Guide}\n */\nexport function DropdownMenu({\n children,\n className,\n innerRef,\n maxHeight = 'inherit',\n size = 'small',\n ...menuProps\n}: Readonly<Props>) {\n return (\n <DropdownMenuWrapper\n className={classNames('dropdown-menu', className)}\n ref={innerRef}\n role=\"menu\"\n style={{ '--inputSize': INPUT_SIZES[size], maxHeight }}\n {...menuProps}\n >\n {children}\n </DropdownMenuWrapper>\n );\n}\n\ninterface ListItemProps {\n children?: React.ReactNode;\n className?: string;\n innerRef?: React.Ref<HTMLLIElement>;\n onFocus?: VoidFunction;\n onPointerEnter?: VoidFunction;\n onPointerLeave?: VoidFunction;\n selected?: boolean;\n}\n\ntype ItemLinkProps = Omit<ListItemProps, 'innerRef'> &\n Pick<LinkProps, 'disabled' | 'icon' | 'isExternal' | 'onClick' | 'to'> & {\n innerRef?: React.Ref<HTMLAnchorElement>;\n };\n\n/** @deprecated Use DropdownMenu.Root and other DropdownMenu.* elements from Echoes instead.\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3354918914/DropdownMenus | Migration Guide}\n */\nexport function ItemLink(props: ItemLinkProps) {\n const {\n children,\n className,\n disabled,\n icon,\n isExternal,\n onClick,\n selected,\n innerRef,\n to,\n ...liProps\n } = props;\n return (\n <li {...liProps}>\n <ItemLinkStyled\n className={classNames(className, { disabled, selected })}\n disabled={disabled}\n icon={icon}\n isExternal={isExternal}\n onClick={onClick}\n ref={innerRef}\n role=\"menuitem\"\n showExternalIcon={false}\n to={to}\n >\n {children}\n </ItemLinkStyled>\n </li>\n );\n}\n\ninterface ItemNavLinkProps extends ItemLinkProps {\n end?: boolean;\n}\n\n/** @deprecated Use DropdownMenu.Root and other DropdownMenu.* elements from Echoes instead.\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3354918914/DropdownMenus | Migration Guide}\n */\nexport function ItemNavLink(props: ItemNavLinkProps) {\n const { children, className, disabled, end, icon, onClick, selected, innerRef, to, ...liProps } =\n props;\n return (\n <li {...liProps}>\n <ItemNavLinkStyled\n className={classNames(className, { disabled, selected })}\n disabled={disabled}\n end={end}\n onClick={onClick}\n ref={innerRef}\n role=\"menuitem\"\n to={to}\n >\n {icon}\n {children}\n </ItemNavLinkStyled>\n </li>\n );\n}\n\ninterface ItemButtonProps extends ListItemProps {\n disabled?: boolean;\n icon?: React.ReactNode;\n onClick: React.MouseEventHandler<HTMLButtonElement>;\n}\n\n/** @deprecated Use DropdownMenu.Root and other DropdownMenu.* elements from Echoes instead.\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3354918914/DropdownMenus | Migration Guide}\n */\nexport const ItemButton = forwardRef(\n (props: ItemButtonProps, ref: ForwardedRef<HTMLButtonElement>) => {\n const { children, className, disabled, icon, innerRef, onClick, selected, ...liProps } = props;\n return (\n <li ref={innerRef} role=\"none\" {...liProps}>\n <ItemButtonStyled\n className={classNames(className, { disabled, selected })}\n disabled={disabled}\n onClick={onClick}\n ref={ref}\n role=\"menuitem\"\n >\n {icon}\n {children}\n </ItemButtonStyled>\n </li>\n );\n },\n);\nItemButton.displayName = 'ItemButton';\n\nexport const ItemDangerButton = styled(ItemButton)`\n --color: ${themeContrast('dropdownMenuDanger')};\n`;\n\ninterface ItemCheckboxProps extends ListItemProps {\n checked: boolean;\n disabled?: boolean;\n id?: string;\n label?: string;\n onCheck: (checked: boolean, id?: string) => void;\n}\n\nexport function ItemCheckbox(props: ItemCheckboxProps) {\n const {\n checked,\n children,\n className,\n disabled,\n id,\n innerRef,\n label,\n onCheck,\n onFocus,\n ...liProps\n } = props;\n return (\n <li ref={innerRef} role=\"none\" {...liProps}>\n <ItemCheckboxStyled\n checked={checked}\n className={classNames(className, { disabled })}\n disabled={disabled}\n id={id}\n label={label}\n onCheck={onCheck}\n onFocus={onFocus}\n >\n {children}\n </ItemCheckboxStyled>\n </li>\n );\n}\n\ninterface ItemCopyProps {\n children?: React.ReactNode;\n className?: string;\n copyValue: string;\n tooltipOverlay: React.ReactNode;\n}\n\nexport function ItemCopy(props: ItemCopyProps) {\n const { children, className, copyValue, tooltipOverlay } = props;\n\n const [copySuccess, handleCopy] = useCopyClipboardEffect(copyValue);\n\n return (\n <Tooltip content={tooltipOverlay} visible={copySuccess}>\n <li role=\"none\">\n <ItemButtonStyled className={className} onClick={handleCopy} role=\"menuitem\">\n {children}\n </ItemButtonStyled>\n </li>\n </Tooltip>\n );\n}\n\ninterface ItemDownloadProps extends ListItemProps {\n download: string;\n href: string;\n}\n\nexport function ItemDownload(props: ItemDownloadProps) {\n const { children, className, download, href, innerRef, ...liProps } = props;\n return (\n <li ref={innerRef} role=\"none\" {...liProps}>\n <ItemDownloadStyled\n className={className}\n download={download}\n href={href}\n rel=\"noopener noreferrer\"\n role=\"menuitem\"\n target=\"_blank\"\n >\n {children}\n </ItemDownloadStyled>\n </li>\n );\n}\n\nexport const ItemHeaderHighlight = styled.span`\n color: ${themeContrast('searchHighlight')};\n font-weight: 600;\n`;\n\n/** @deprecated Use DropdownMenu.Root and other DropdownMenu.* elements from Echoes instead.\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3354918914/DropdownMenus | Migration Guide}\n */\nexport const ItemHeader = styled(UnstyledItemHeader)`\n background-color: ${themeColor('dropdownMenuHeader')};\n color: var(--echoes-color-text-subdued);\n\n ${tw`sw-py-2 sw-px-3`}\n`;\n\nfunction UnstyledItemHeader({\n children,\n className = 'dropdown-menu-header',\n role = 'menuitem',\n ...props\n}: Readonly<React.HtmlHTMLAttributes<HTMLLIElement>>) {\n return (\n <li className={className} role={role} {...props}>\n {children}\n </li>\n );\n}\n\n/** @deprecated Use DropdownMenu.Root and other DropdownMenu.* elements from Echoes instead.\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3354918914/DropdownMenus | Migration Guide}\n */\nexport const ItemDivider = styled(UnstyledItemDivider)`\n height: 1px;\n background-color: ${themeColor('popupBorder')};\n\n ${tw`sw-my-1 sw--mx-2`}\n ${tw`sw-overflow-hidden`};\n`;\n\nfunction UnstyledItemDivider({\n children,\n role = 'separator',\n ...props\n}: Readonly<React.HtmlHTMLAttributes<HTMLLIElement>>) {\n return (\n <li role={role} {...props}>\n {children}\n </li>\n );\n}\n\nexport const DropdownMenuWrapper = styled.ul`\n background-color: ${themeColor('dropdownMenu')};\n color: ${themeContrast('dropdownMenu')};\n width: var(--inputSize);\n list-style: none;\n\n ${tw`sw-flex sw-flex-col`}\n ${tw`sw-box-border`};\n ${tw`sw-min-w-input-small`}\n ${tw`sw-py-2`}\n ${tw`sw-typo-default`}\n\n &:focus {\n outline: none;\n }\n`;\n\nconst itemStyle = (props: ThemedProps) => css`\n color: var(--color);\n background-color: ${themeColor('dropdownMenu')(props)};\n border: none;\n border-bottom: none;\n text-decoration: none;\n transition: none;\n\n ${tw`sw-flex sw-items-center`}\n ${tw`sw-typo-default`}\n ${tw`sw-box-border`}\n ${tw`sw-w-full`}\n ${tw`sw-text-left`}\n ${tw`sw-py-2 sw-px-3`}\n ${tw`sw-truncate`};\n ${tw`sw-cursor-pointer`}\n\n &.active,\n &:active,\n &.active:active,\n &:hover,\n &.active:hover {\n color: var(--color);\n background-color: ${themeColor('dropdownMenuHover')(props)};\n text-decoration: none;\n outline: none;\n border: none;\n border-bottom: none;\n }\n\n &:focus,\n &:focus-within,\n &.active:focus,\n &.active:focus-within {\n color: var(--color);\n background-color: ${themeColor('dropdownMenuFocus')(props)};\n text-decoration: none;\n border: none;\n border-bottom: none;\n }\n\n &:focus-visible {\n borderLeft: '2px solid var(--echoes-color-focus-default)',\n marginLeft: '-2px',\n }\n\n &:disabled,\n &.disabled {\n color: var(--echoes-color-text-disabled);\n background-color: ${themeColor('dropdownMenuDisabled')(props)};\n pointer-events: none !important;\n\n ${tw`sw-cursor-not-allowed`};\n }\n\n &.selected {\n background-color: ${themeColor('selectOptionSelected')(props)};\n }\n\n & > svg {\n ${tw`sw-mr-2`}\n }\n`;\n\nconst ItemNavLinkStyled = styled(NavLink)`\n --color: ${themeContrast('dropdownMenu')};\n ${itemStyle};\n`;\n\nconst ItemLinkStyled = styled(BaseLink)`\n --color: ${themeContrast('dropdownMenu')};\n ${itemStyle}\n`;\n\nconst ItemButtonStyled = styled.button`\n --color: ${themeContrast('dropdownMenu')};\n ${itemStyle}\n`;\n\nconst ItemDownloadStyled = styled.a`\n --color: ${themeContrast('dropdownMenu')};\n ${itemStyle}\n`;\n\nconst ItemCheckboxStyled = styled(Checkbox)`\n --color: ${themeContrast('dropdownMenu')};\n ${itemStyle}\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport React from 'react';\nimport { Key } from '../helpers/keyboard';\n\ninterface Props {\n children: React.ReactNode;\n onKeydown: () => void;\n}\n\nexport default class EscKeydownHandler extends React.Component<Props> {\n componentDidMount() {\n setTimeout(() => {\n document.addEventListener('keydown', this.handleKeyDown, false);\n }, 0);\n }\n\n componentWillUnmount() {\n document.removeEventListener('keydown', this.handleKeyDown, false);\n }\n\n handleKeyDown = (event: KeyboardEvent) => {\n if (event.code === Key.Escape) {\n this.props.onKeydown();\n }\n };\n\n render() {\n return this.props.children;\n }\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport * as React from 'react';\n\ninterface Props extends React.BaseHTMLAttributes<HTMLDivElement> {\n innerRef?: (instance: HTMLDivElement) => void;\n onFocusOut: () => void;\n}\n\nexport class FocusOutHandler extends React.PureComponent<React.PropsWithChildren<Props>> {\n ref?: HTMLDivElement;\n\n componentDidMount() {\n setTimeout(() => {\n document.addEventListener('focusin', this.handleFocusOut);\n }, 0);\n }\n\n componentWillUnmount() {\n document.removeEventListener('focusin', this.handleFocusOut);\n }\n\n nodeRef = (node: HTMLDivElement) => {\n const { innerRef } = this.props;\n this.ref = node;\n innerRef?.(node);\n };\n\n handleFocusOut = () => {\n if (this.ref?.querySelector(':focus') === null) {\n this.props.onFocusOut();\n }\n };\n\n render() {\n const { onFocusOut, innerRef, children, ...props } = this.props;\n return (\n <div ref={this.nodeRef} {...props}>\n {children}\n </div>\n );\n }\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport React from 'react';\nimport { findDOMNode } from 'react-dom';\n\nexport type MouseEventListener = 'click' | 'mousedown';\ninterface Props {\n children: React.ReactNode;\n listenerType?: MouseEventListener;\n onClickOutside: () => void;\n}\n\nexport class OutsideClickHandler extends React.Component<Props> {\n mounted = false;\n\n componentDidMount() {\n this.mounted = true;\n setTimeout(() => {\n this.addClickHandler();\n }, 0);\n }\n\n componentWillUnmount() {\n this.mounted = false;\n this.removeClickHandler();\n }\n\n addClickHandler = () => {\n const { listenerType = 'click' } = this.props;\n window.addEventListener(listenerType, this.handleWindowClick);\n };\n\n removeClickHandler = () => {\n const { listenerType = 'click' } = this.props;\n window.removeEventListener(listenerType, this.handleWindowClick);\n };\n\n handleWindowClick = (event: MouseEvent) => {\n if (this.mounted) {\n // eslint-disable-next-line react/no-find-dom-node\n const node = findDOMNode(this);\n\n if (!node?.contains(event.target as Node)) {\n this.props.onClickOutside();\n }\n }\n };\n\n render() {\n return this.props.children;\n }\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport React from 'react';\n\nexport interface ClickEventBoundaryProps {\n children: React.ReactElement<{ onClick?: (e: React.SyntheticEvent<MouseEvent>) => void }>;\n}\n\nexport default function ClickEventBoundary({ children }: ClickEventBoundaryProps) {\n return React.cloneElement(children, {\n onClick: (e: React.SyntheticEvent<MouseEvent>) => {\n e.stopPropagation();\n\n if (typeof children.props.onClick === 'function') {\n children.props.onClick(e);\n }\n },\n });\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport classNames from 'classnames';\nimport { throttle } from 'lodash';\nimport React, { AriaRole } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport tw from 'twin.macro';\nimport { THROTTLE_SCROLL_DELAY } from '../helpers/constants';\nimport { PopupPlacement, PopupZLevel, popupPositioning } from '../helpers/positioning';\nimport { themeBorder, themeColor, themeContrast, themeShadow } from '../helpers/theme';\nimport ClickEventBoundary from './ClickEventBoundary';\n\ninterface PopupBaseProps {\n 'aria-labelledby'?: string;\n children?: React.ReactNode;\n className?: string;\n id?: string;\n placement?: PopupPlacement;\n role?: AriaRole;\n style?: React.CSSProperties;\n zLevel?: PopupZLevel;\n}\n\nfunction PopupBase(props: PopupBaseProps, ref: React.Ref<HTMLDivElement>) {\n const {\n children,\n className,\n placement = PopupPlacement.Bottom,\n style,\n zLevel = PopupZLevel.Default,\n ...ariaProps\n } = props;\n return (\n <ClickEventBoundary>\n <PopupWrapper\n className={classNames(`is-${placement}`, className)}\n ref={ref ?? React.createRef()}\n style={style}\n zLevel={zLevel}\n {...ariaProps}\n >\n {children}\n </PopupWrapper>\n </ClickEventBoundary>\n );\n}\n\nconst PopupWithRef = React.forwardRef(PopupBase);\nPopupWithRef.displayName = 'Popup';\n\ninterface PopupProps extends Omit<PopupBaseProps, 'style'> {\n allowResizing?: boolean;\n children: React.ReactNode;\n overlay: React.ReactNode;\n}\n\ninterface Measurements {\n height: number;\n left: number;\n top: number;\n width: number;\n}\n\ntype State = Partial<Measurements>;\n\nfunction isMeasured(state: State): state is Measurements {\n return state.height !== undefined;\n}\n\nexport class Popup extends React.PureComponent<PopupProps, State> {\n mounted = false;\n popupNode = React.createRef<HTMLDivElement>();\n throttledPositionTooltip: () => void;\n\n constructor(props: PopupProps) {\n super(props);\n this.state = {};\n this.throttledPositionTooltip = throttle(this.positionPopup, THROTTLE_SCROLL_DELAY);\n }\n\n componentDidMount() {\n this.positionPopup();\n this.addEventListeners();\n this.mounted = true;\n }\n\n componentDidUpdate(prevProps: PopupProps) {\n if (this.props.placement !== prevProps.placement || this.props.overlay !== prevProps.overlay) {\n this.positionPopup();\n }\n }\n\n componentWillUnmount() {\n this.removeEventListeners();\n this.mounted = false;\n }\n\n addEventListeners = () => {\n window.addEventListener('resize', this.throttledPositionTooltip);\n if (this.props.zLevel !== PopupZLevel.Global) {\n window.addEventListener('scroll', this.throttledPositionTooltip);\n }\n };\n\n removeEventListeners = () => {\n window.removeEventListener('resize', this.throttledPositionTooltip);\n if (this.props.zLevel !== PopupZLevel.Global) {\n window.removeEventListener('scroll', this.throttledPositionTooltip);\n }\n };\n\n positionPopup = () => {\n if (this.mounted && this.props.zLevel !== PopupZLevel.Absolute) {\n // `findDOMNode(this)` will search for the DOM node for the current component\n // first it will find a React.Fragment (see `render`),\n // so it will get the DOM node of the first child, i.e. DOM node of `this.props.children`\n // docs: https://reactjs.org/docs/refs-and-the-dom.html#exposing-dom-refs-to-parent-components\n\n // eslint-disable-next-line react/no-find-dom-node\n const toggleNode = findDOMNode(this);\n if (toggleNode && toggleNode instanceof Element && this.popupNode.current) {\n const { placement, zLevel } = this.props;\n const isGlobal = zLevel === PopupZLevel.Global;\n const { height, left, top, width } = popupPositioning(\n toggleNode,\n this.popupNode.current,\n placement,\n );\n\n // save width and height (and later set in `render`) to avoid resizing the popup element,\n // when it's placed close to the window edge\n this.setState({\n left: left + (isGlobal ? 0 : window.scrollX),\n top: top + (isGlobal ? 0 : window.scrollY),\n width,\n height,\n });\n }\n }\n };\n\n render() {\n const {\n allowResizing,\n children,\n overlay,\n placement = PopupPlacement.Bottom,\n ...popupProps\n } = this.props;\n\n let style: React.CSSProperties | undefined;\n if (isMeasured(this.state)) {\n style = { left: this.state.left, top: this.state.top };\n if (!allowResizing) {\n style.width = this.state.width;\n style.height = this.state.height;\n }\n }\n return (\n <>\n {this.props.children}\n {this.props.overlay && (\n <PopupWithRef placement={placement} ref={this.popupNode} style={style} {...popupProps}>\n {overlay}\n </PopupWithRef>\n )}\n </>\n );\n }\n}\n\nexport const PopupWrapper = styled.div<{ zLevel: PopupZLevel }>`\n position: ${({ zLevel }) => (zLevel === PopupZLevel.Global ? 'fixed' : 'absolute')};\n background-color: ${themeColor('popup')};\n color: ${themeContrast('popup')};\n border: ${themeBorder('default', 'popupBorder')};\n box-shadow: ${themeShadow('md')};\n\n ${tw`sw-box-border`};\n ${tw`sw-rounded-2`};\n ${tw`sw-cursor-default`};\n ${tw`sw-overflow-hidden`};\n ${({ zLevel }) =>\n ({\n [PopupZLevel.Default]: tw`sw-z-popup`,\n [PopupZLevel.Global]: tw`sw-z-global-popup`,\n [PopupZLevel.Content]: tw`sw-z-content-popup`,\n [PopupZLevel.Absolute]: tw`sw-z-global-popup`,\n })[zLevel]};\n\n &.is-bottom,\n &.is-bottom-left,\n &.is-bottom-right {\n ${tw`sw-mt-2`};\n }\n\n &.is-top,\n &.is-top-left,\n &.is-top-right {\n ${tw`sw--mt-2`};\n }\n\n &.is-left,\n &.is-left-top,\n &.is-left-bottom {\n ${tw`sw--ml-2`};\n }\n\n &.is-right,\n &.is-right-top,\n &.is-right-bottom {\n ${tw`sw-ml-2`};\n }\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport EscKeydownHandler from './EscKeydownHandler';\nimport { FocusOutHandler } from './FocusOutHandler';\nimport { OutsideClickHandler } from './OutsideClickHandler';\nimport { Popup } from './popups';\n\ntype PopupProps = Popup['props'];\n\ninterface Props extends PopupProps {\n onRequestClose: VoidFunction;\n open: boolean;\n withClickOutHandler?: boolean;\n withFocusOutHandler?: boolean;\n}\n\n/** @deprecated Use DropdownMenu.Root and other DropdownMenu.* elements from Echoes instead.\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3354918914/DropdownMenus | Migration Guide}\n */\nexport function DropdownToggler(props: Props) {\n const {\n children,\n open,\n onRequestClose,\n withClickOutHandler = true,\n withFocusOutHandler = true,\n overlay,\n ...popupProps\n } = props;\n\n let finalOverlay = <EscKeydownHandler onKeydown={onRequestClose}>{overlay}</EscKeydownHandler>;\n\n if (withFocusOutHandler) {\n finalOverlay = <FocusOutHandler onFocusOut={onRequestClose}>{finalOverlay}</FocusOutHandler>;\n }\n\n if (withClickOutHandler) {\n finalOverlay = (\n <OutsideClickHandler onClickOutside={onRequestClose}>{finalOverlay}</OutsideClickHandler>\n );\n }\n\n return (\n <Popup overlay={open && finalOverlay} {...popupProps}>\n {children}\n </Popup>\n );\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport React from 'react';\nimport { PopupPlacement, PopupZLevel } from '../helpers/positioning';\nimport { InputSizeKeys } from '../types/theme';\nimport { DropdownMenu } from './DropdownMenu';\nimport { DropdownToggler } from './DropdownToggler';\n\ntype OnClickCallback = (event?: React.MouseEvent<HTMLElement>) => void;\ntype A11yAttrs = Pick<React.AriaAttributes, 'aria-controls' | 'aria-expanded' | 'aria-haspopup'> & {\n id: string;\n role: React.AriaRole;\n};\ninterface RenderProps {\n a11yAttrs: A11yAttrs;\n closeDropdown: VoidFunction;\n onToggleClick: OnClickCallback;\n open: boolean;\n}\n\ninterface Props {\n allowResizing?: boolean;\n children:\n | ((renderProps: Readonly<RenderProps>) => JSX.Element)\n | React.ReactElement<{ onClick: OnClickCallback }>;\n className?: string;\n closeOnClick?: boolean;\n id: string;\n onClose?: VoidFunction;\n onOpen?: VoidFunction;\n openDropdown?: boolean;\n overlay: React.ReactNode;\n placement?: PopupPlacement;\n size?: InputSizeKeys;\n withClickOutHandler?: boolean;\n withFocusOutHandler?: boolean;\n zLevel?: PopupZLevel;\n}\n\ninterface State {\n open: boolean;\n}\n\n/** @deprecated Use DropdownMenu.Root and other DropdownMenu.* elements from Echoes instead.\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3354918914/DropdownMenus | Migration Guide}\n */\nexport class Dropdown extends React.PureComponent<Readonly<Props>, State> {\n state: State = { open: false };\n\n componentDidUpdate(props: Readonly<Props>, prevState: State) {\n if (!prevState.open && this.state.open && this.props.onOpen) {\n this.props.onOpen();\n }\n if (\n props.openDropdown !== this.props.openDropdown &&\n typeof this.props.openDropdown === 'boolean'\n ) {\n this.setState({ open: this.props.openDropdown });\n }\n }\n\n handleClose = () => {\n this.setState({ open: false });\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n handleToggleClick: OnClickCallback = (event) => {\n if (event) {\n event.preventDefault();\n event.currentTarget.blur();\n }\n this.setState((state) => ({ open: !state.open }));\n };\n\n render() {\n const { open } = this.state;\n const { allowResizing, className, closeOnClick = true, id, size = 'full', zLevel } = this.props;\n const a11yAttrs: A11yAttrs = {\n 'aria-controls': `${id}-dropdown`,\n 'aria-expanded': open,\n 'aria-haspopup': 'menu',\n id: `${id}-trigger`,\n role: 'button',\n };\n\n const children = React.isValidElement(this.props.children)\n ? React.cloneElement(this.props.children, { onClick: this.handleToggleClick, ...a11yAttrs })\n : this.props.children({\n a11yAttrs,\n closeDropdown: this.handleClose,\n onToggleClick: this.handleToggleClick,\n open,\n });\n\n return (\n <DropdownToggler\n allowResizing={allowResizing}\n aria-labelledby={`${id}-trigger`}\n className={className}\n id={`${id}-dropdown`}\n onRequestClose={this.handleClose}\n open={open}\n overlay={\n <DropdownMenu onClick={closeOnClick ? this.handleClose : undefined} size={size}>\n {this.props.overlay}\n </DropdownMenu>\n }\n placement={this.props.placement}\n withClickOutHandler={this.props.withClickOutHandler}\n withFocusOutHandler={this.props.withFocusOutHandler}\n zLevel={zLevel}\n >\n {children}\n </DropdownToggler>\n );\n }\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(e) {\n if (\"function\" != typeof WeakMap) return null;\n var r = new WeakMap(),\n t = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {\n return e ? t : r;\n })(e);\n}\nfunction _interopRequireWildcard(e, r) {\n if (!r && e && e.__esModule) return e;\n if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return {\n \"default\": e\n };\n var t = _getRequireWildcardCache(r);\n if (t && t.has(e)) return t.get(e);\n var n = {\n __proto__: null\n },\n a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {\n var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;\n i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];\n }\n return n[\"default\"] = e, t && t.set(e, n), n;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = createDetectElementResize;\n\n/**\n * Detect Element Resize.\n * https://github.com/sdecima/javascript-detect-element-resize\n * Sebastian Decima\n *\n * Forked from version 0.5.3; includes the following modifications:\n * 1) Guard against unsafe 'window' and 'document' references (to support SSR).\n * 2) Defer initialization code via a top-level function wrapper (to support SSR).\n * 3) Avoid unnecessary reflows by not measuring size for scroll events bubbling from children.\n * 4) Add nonce for style element.\n * 5) Added support for injecting custom window object\n **/\nfunction createDetectElementResize(nonce, hostWindow) {\n // Check `document` and `window` in case of server-side rendering\n var _window;\n\n if (typeof hostWindow !== 'undefined') {\n _window = hostWindow;\n } else if (typeof window !== 'undefined') {\n _window = window;\n } else if (typeof self !== 'undefined') {\n _window = self;\n } else {\n _window = global;\n }\n\n var attachEvent = typeof _window.document !== 'undefined' && _window.document.attachEvent;\n\n if (!attachEvent) {\n var requestFrame = function () {\n var raf = _window.requestAnimationFrame || _window.mozRequestAnimationFrame || _window.webkitRequestAnimationFrame || function (fn) {\n return _window.setTimeout(fn, 20);\n };\n\n return function (fn) {\n return raf(fn);\n };\n }();\n\n var cancelFrame = function () {\n var cancel = _window.cancelAnimationFrame || _window.mozCancelAnimationFrame || _window.webkitCancelAnimationFrame || _window.clearTimeout;\n return function (id) {\n return cancel(id);\n };\n }();\n\n var resetTriggers = function resetTriggers(element) {\n var triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n var checkTriggers = function checkTriggers(element) {\n return element.offsetWidth != element.__resizeLast__.width || element.offsetHeight != element.__resizeLast__.height;\n };\n\n var scrollListener = function scrollListener(e) {\n // Don't measure (which forces) reflow for scrolls that happen inside of children!\n if (e.target.className && typeof e.target.className.indexOf === 'function' && e.target.className.indexOf('contract-trigger') < 0 && e.target.className.indexOf('expand-trigger') < 0) {\n return;\n }\n\n var element = this;\n resetTriggers(this);\n\n if (this.__resizeRAF__) {\n cancelFrame(this.__resizeRAF__);\n }\n\n this.__resizeRAF__ = requestFrame(function () {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n\n element.__resizeListeners__.forEach(function (fn) {\n fn.call(element, e);\n });\n }\n });\n };\n /* Detect CSS Animations support to detect element display/re-attach */\n\n\n var animation = false,\n keyframeprefix = '',\n animationstartevent = 'animationstart',\n domPrefixes = 'Webkit Moz O ms'.split(' '),\n startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' '),\n pfx = '';\n {\n var elm = _window.document.createElement('fakeelement');\n\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (var i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {\n pfx = domPrefixes[i];\n keyframeprefix = '-' + pfx.toLowerCase() + '-';\n animationstartevent = startEvents[i];\n animation = true;\n break;\n }\n }\n }\n }\n var animationName = 'resizeanim';\n var animationKeyframes = '@' + keyframeprefix + 'keyframes ' + animationName + ' { from { opacity: 0; } to { opacity: 0; } } ';\n var animationStyle = keyframeprefix + 'animation: 1ms ' + animationName + '; ';\n }\n\n var createStyles = function createStyles(doc) {\n if (!doc.getElementById('detectElementResize')) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n var css = (animationKeyframes ? animationKeyframes : '') + '.resize-triggers { ' + (animationStyle ? animationStyle : '') + 'visibility: hidden; opacity: 0; } ' + '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = doc.head || doc.getElementsByTagName('head')[0],\n style = doc.createElement('style');\n style.id = 'detectElementResize';\n style.type = 'text/css';\n\n if (nonce != null) {\n style.setAttribute('nonce', nonce);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(doc.createTextNode(css));\n }\n\n head.appendChild(style);\n }\n };\n\n var addResizeListener = function addResizeListener(element, fn) {\n if (attachEvent) {\n element.attachEvent('onresize', fn);\n } else {\n if (!element.__resizeTriggers__) {\n var doc = element.ownerDocument;\n\n var elementStyle = _window.getComputedStyle(element);\n\n if (elementStyle && elementStyle.position == 'static') {\n element.style.position = 'relative';\n }\n\n createStyles(doc);\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = doc.createElement('div')).className = 'resize-triggers';\n var resizeTriggersHtml = '<div class=\"expand-trigger\"><div></div></div>' + '<div class=\"contract-trigger\"></div>';\n\n if (window.trustedTypes) {\n var staticPolicy = trustedTypes.createPolicy('react-virtualized-auto-sizer', {\n createHTML: function createHTML() {\n return resizeTriggersHtml;\n }\n });\n element.__resizeTriggers__.innerHTML = staticPolicy.createHTML('');\n } else {\n element.__resizeTriggers__.innerHTML = resizeTriggersHtml;\n }\n\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n element.addEventListener('scroll', scrollListener, true);\n /* Listen for a css animation to detect element display/re-attach */\n\n if (animationstartevent) {\n element.__resizeTriggers__.__animationListener__ = function animationListener(e) {\n if (e.animationName == animationName) {\n resetTriggers(element);\n }\n };\n\n element.__resizeTriggers__.addEventListener(animationstartevent, element.__resizeTriggers__.__animationListener__);\n }\n }\n\n element.__resizeListeners__.push(fn);\n }\n };\n\n var removeResizeListener = function removeResizeListener(element, fn) {\n if (attachEvent) {\n element.detachEvent('onresize', fn);\n } else {\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener, true);\n\n if (element.__resizeTriggers__.__animationListener__) {\n element.__resizeTriggers__.removeEventListener(animationstartevent, element.__resizeTriggers__.__animationListener__);\n\n element.__resizeTriggers__.__animationListener__ = null;\n }\n\n try {\n element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);\n } catch (e) {// Preact compat; see developit/preact-compat/issues/228\n }\n }\n }\n };\n\n return {\n addResizeListener: addResizeListener,\n removeResizeListener: removeResizeListener\n };\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf3 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _detectElementResize = _interopRequireDefault(require(\"../vendor/detectElementResize\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _class, _temp;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar AutoSizer = (_temp = _class =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2[\"default\"])(AutoSizer, _React$Component);\n\n function AutoSizer() {\n var _getPrototypeOf2;\n\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, AutoSizer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3[\"default\"])(AutoSizer)).call.apply(_getPrototypeOf2, [this].concat(args)));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"state\", {\n height: _this.props.defaultHeight || 0,\n width: _this.props.defaultWidth || 0\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_parentNode\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_autoSizer\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_window\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_detectElementResize\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_onResize\", function () {\n var _this$props = _this.props,\n disableHeight = _this$props.disableHeight,\n disableWidth = _this$props.disableWidth,\n onResize = _this$props.onResize;\n\n if (_this._parentNode) {\n // Guard against AutoSizer component being removed from the DOM immediately after being added.\n // This can result in invalid style values which can result in NaN values if we don't handle them.\n // See issue #150 for more context.\n var height = _this._parentNode.offsetHeight || 0;\n var width = _this._parentNode.offsetWidth || 0;\n var win = _this._window || window;\n var style = win.getComputedStyle(_this._parentNode) || {};\n var paddingLeft = parseInt(style.paddingLeft, 10) || 0;\n var paddingRight = parseInt(style.paddingRight, 10) || 0;\n var paddingTop = parseInt(style.paddingTop, 10) || 0;\n var paddingBottom = parseInt(style.paddingBottom, 10) || 0;\n var newHeight = height - paddingTop - paddingBottom;\n var newWidth = width - paddingLeft - paddingRight;\n\n if (!disableHeight && _this.state.height !== newHeight || !disableWidth && _this.state.width !== newWidth) {\n _this.setState({\n height: height - paddingTop - paddingBottom,\n width: width - paddingLeft - paddingRight\n });\n\n onResize({\n height: height,\n width: width\n });\n }\n }\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_setRef\", function (autoSizer) {\n _this._autoSizer = autoSizer;\n });\n return _this;\n }\n\n (0, _createClass2[\"default\"])(AutoSizer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var nonce = this.props.nonce;\n\n if (this._autoSizer && this._autoSizer.parentNode && this._autoSizer.parentNode.ownerDocument && this._autoSizer.parentNode.ownerDocument.defaultView && this._autoSizer.parentNode instanceof this._autoSizer.parentNode.ownerDocument.defaultView.HTMLElement) {\n // Delay access of parentNode until mount.\n // This handles edge-cases where the component has already been unmounted before its ref has been set,\n // As well as libraries like react-lite which have a slightly different lifecycle.\n this._parentNode = this._autoSizer.parentNode;\n this._window = this._autoSizer.parentNode.ownerDocument.defaultView; // Defer requiring resize handler in order to support server-side rendering.\n // See issue #41\n\n this._detectElementResize = (0, _detectElementResize[\"default\"])(nonce, this._window);\n\n this._detectElementResize.addResizeListener(this._parentNode, this._onResize);\n\n this._onResize();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this._detectElementResize && this._parentNode) {\n this._detectElementResize.removeResizeListener(this._parentNode, this._onResize);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n disableHeight = _this$props2.disableHeight,\n disableWidth = _this$props2.disableWidth,\n style = _this$props2.style;\n var _this$state = this.state,\n height = _this$state.height,\n width = _this$state.width; // Outer div should not force width/height since that may prevent containers from shrinking.\n // Inner component should overflow and use calculated width/height.\n // See issue #68 for more information.\n\n var outerStyle = {\n overflow: 'visible'\n };\n var childParams = {};\n\n if (!disableHeight) {\n outerStyle.height = 0;\n childParams.height = height;\n }\n\n if (!disableWidth) {\n outerStyle.width = 0;\n childParams.width = width;\n }\n /**\n * TODO: Avoid rendering children before the initial measurements have been collected.\n * At best this would just be wasting cycles.\n * Add this check into version 10 though as it could break too many ref callbacks in version 9.\n * Note that if default width/height props were provided this would still work with SSR.\n if (\n height !== 0 &&\n width !== 0\n ) {\n child = children({ height, width })\n }\n */\n\n\n return React.createElement(\"div\", {\n className: className,\n ref: this._setRef,\n style: _objectSpread({}, outerStyle, {}, style)\n }, children(childParams));\n }\n }]);\n return AutoSizer;\n}(React.Component), (0, _defineProperty2[\"default\"])(_class, \"propTypes\", process.env.NODE_ENV === 'production' ? null : {\n /** Function responsible for rendering children.*/\n \"children\": _propTypes[\"default\"].func.isRequired,\n\n /** Optional custom CSS class name to attach to root AutoSizer element. */\n \"className\": _propTypes[\"default\"].string,\n\n /** Default height to use for initial render; useful for SSR */\n \"defaultHeight\": _propTypes[\"default\"].number,\n\n /** Default width to use for initial render; useful for SSR */\n \"defaultWidth\": _propTypes[\"default\"].number,\n\n /** Disable dynamic :height property */\n \"disableHeight\": _propTypes[\"default\"].bool.isRequired,\n\n /** Disable dynamic :width property */\n \"disableWidth\": _propTypes[\"default\"].bool.isRequired,\n\n /** Nonce of the inlined stylesheet for Content Security Policy */\n \"nonce\": _propTypes[\"default\"].string,\n\n /** Callback to be invoked on-resize */\n \"onResize\": _propTypes[\"default\"].func.isRequired,\n\n /** Optional inline style */\n \"style\": _propTypes[\"default\"].object\n}), _temp);\nexports[\"default\"] = AutoSizer;\n(0, _defineProperty2[\"default\"])(AutoSizer, \"defaultProps\", {\n onResize: function onResize() {},\n disableHeight: false,\n disableWidth: false,\n style: {}\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _AutoSizer[\"default\"];\n }\n});\nObject.defineProperty(exports, \"AutoSizer\", {\n enumerable: true,\n get: function get() {\n return _AutoSizer[\"default\"];\n }\n});\n\nvar _AutoSizer = _interopRequireDefault(require(\"./AutoSizer\"));","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport * as Echoes from '@sonarsource/echoes-react';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useIntl } from 'react-intl';\nimport tw from 'twin.macro';\nimport { InteractiveIcon } from '../../components/InteractiveIcon';\nimport {\n CloseIcon,\n FlagErrorIcon,\n FlagInfoIcon,\n FlagSuccessIcon,\n FlagWarningIcon,\n} from '../../components/icons';\nimport { themeBorder, themeColor, themeContrast } from '../../helpers/theme';\nimport { ThemeColors } from '../../types/theme';\n\n/**\n * @deprecated Use {@link Echoes.MessageType | MessageType} from Echoes instead.\n */\nexport type Variant = 'error' | 'warning' | 'success' | 'info';\n\ninterface Props {\n variant: Variant;\n}\n\nfunction getVariantInfo(variant: Variant) {\n const variantList = {\n error: {\n icon: <FlagErrorIcon />,\n borderColor: 'errorBorder',\n backGroundColor: 'errorBackground',\n },\n warning: {\n icon: <FlagWarningIcon />,\n borderColor: 'warningBorder',\n backGroundColor: 'warningBackground',\n },\n success: {\n icon: <FlagSuccessIcon />,\n borderColor: 'successBorder',\n backGroundColor: 'successBackground',\n },\n info: {\n icon: <FlagInfoIcon />,\n borderColor: 'infoBorder',\n backGroundColor: 'infoBackground',\n },\n } as const;\n\n return variantList[variant];\n}\n\n/**\n * @deprecated Use {@link Echoes.MessageCallout | MessageCallout} from Echoes instead.\n *\n * Or {@link Echoes.MessageInline | MessageInline} for lightweight contextual communication.\n *\n * Some of the props have changed:\n * - `variant` is now `type` using the {@link Echoes.MessageType | MessageType} enum, note that `error` is now called `Danger`\n * - `children` is now `text`\n *\n * New features for MessageCallout include:\n * - `action` allows you to pass buttons that are displayed at the bottom of the callout message\n * - `onDismiss` to make the callout message dismissible\n * - `title` to add an optional title to the callout message\n * - `screenReaderPrefix` to optionally change the default prefix that indicates the type of message to the screen readers\n *\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3774447676/Messages | Migration Guide} for more information.\n */\nexport function FlagMessage(props: Props & React.HTMLAttributes<HTMLDivElement>) {\n const { className, variant, ...domProps } = props;\n const variantInfo = getVariantInfo(variant);\n\n return (\n <StyledFlag\n backGroundColor={variantInfo.backGroundColor}\n borderColor={variantInfo.borderColor}\n className={classNames('alert', className)}\n {...domProps}\n >\n {props.children && (\n <div className=\"flag-inner\">\n <div className=\"flag-icon\">{variantInfo.icon}</div>\n <div className=\"flag-content\">{props.children}</div>\n </div>\n )}\n </StyledFlag>\n );\n}\n\nFlagMessage.displayName = 'FlagMessage'; // so that tests don't see the obfuscated production name\n\ninterface DismissableFlagMessageProps extends Props {\n onDismiss: () => void;\n}\n\n/**\n * @deprecated Use {@link Echoes.MessageCallout | MessageCallout} from Echoes instead.\n *\n * Some of the props have changed:\n * - `variant` is now `type` using the {@link Echoes.MessageType | MessageType} enum, note that `error` is now called `Danger`\n * - `children` is now `text`\n *\n * New features for MessageCallout include:\n * - `action` allows you to pass buttons that are displayed at the bottom of the callout message\n * - `onDismiss` to make the callout message dismissible\n * - `title` to add an optional title to the callout message\n * - `screenReaderPrefix` to optionally change the default prefix that indicates the type of message to the screen readers\n *\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3774447676/Messages | Migration Guide} for more information.\n */\nexport function DismissableFlagMessage(\n props: DismissableFlagMessageProps & React.HTMLAttributes<HTMLDivElement>,\n) {\n const { onDismiss, children, ...flagMessageProps } = props;\n const intl = useIntl();\n return (\n <FlagMessage {...flagMessageProps}>\n {children}\n <DismissIcon\n Icon={CloseIcon}\n aria-label={intl.formatMessage({ id: 'dismiss' })}\n className=\"sw-ml-3\"\n onClick={onDismiss}\n size=\"small\"\n />\n </FlagMessage>\n );\n}\n\nDismissableFlagMessage.displayName = 'DismissableFlagMessage'; // so that tests don't see the obfuscated production name\n\nconst StyledFlag = styled.div<{\n backGroundColor: ThemeColors;\n borderColor: ThemeColors;\n}>`\n ${tw`sw-inline-flex`}\n ${tw`sw-min-h-10`}\n ${tw`sw-rounded-1`}\n ${tw`sw-box-border`}\n border: ${({ borderColor }) => themeBorder('default', borderColor)};\n background-color: ${themeColor('flagMessageBackground')};\n\n :empty {\n display: none;\n }\n\n & > .flag-inner {\n ${tw`sw-flex sw-items-stretch`}\n ${tw`sw-box-border`}\n }\n\n & .flag-icon {\n ${tw`sw-flex sw-justify-center sw-items-center`}\n ${tw`sw-rounded-l-1`}\n ${tw`sw-px-3`}\n background-color: ${({ backGroundColor }) => themeColor(backGroundColor)};\n }\n\n & .flag-content {\n ${tw`sw-flex sw-flex-auto sw-items-center`}\n ${tw`sw-overflow-auto`}\n ${tw`sw-text-left`}\n ${tw`sw-px-3 sw-py-2`}\n ${tw`sw-typo-default`}\n color: ${themeContrast('flagMessageBackground')};\n }\n`;\n\nexport const DismissIcon = styled(InteractiveIcon)`\n --background: ${themeColor('productNews')};\n --backgroundHover: ${themeColor('productNewsHover')};\n --color: ${themeContrast('productNews')};\n --colorHover: ${themeContrast('productNewsHover')};\n --focus: ${themeColor('interactiveIconFocus', 0.2)};\n\n height: 28px;\n`;\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1);\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t value: true\n\t});\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _Highlighter = __webpack_require__(2);\n\t\n\tvar _Highlighter2 = _interopRequireDefault(_Highlighter);\n\n\texports['default'] = _Highlighter2['default'];\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports['default'] = Highlighter;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tvar _highlightWordsCore = __webpack_require__(3);\n\t\n\tvar _propTypes = __webpack_require__(4);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _react = __webpack_require__(14);\n\t\n\tvar _memoizeOne = __webpack_require__(15);\n\t\n\tvar _memoizeOne2 = _interopRequireDefault(_memoizeOne);\n\t\n\tHighlighter.propTypes = {\n\t activeClassName: _propTypes2['default'].string,\n\t activeIndex: _propTypes2['default'].number,\n\t activeStyle: _propTypes2['default'].object,\n\t autoEscape: _propTypes2['default'].bool,\n\t className: _propTypes2['default'].string,\n\t findChunks: _propTypes2['default'].func,\n\t highlightClassName: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].string]),\n\t highlightStyle: _propTypes2['default'].object,\n\t highlightTag: _propTypes2['default'].oneOfType([_propTypes2['default'].node, _propTypes2['default'].func, _propTypes2['default'].string]),\n\t sanitize: _propTypes2['default'].func,\n\t searchWords: _propTypes2['default'].arrayOf(_propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].instanceOf(RegExp)])).isRequired,\n\t textToHighlight: _propTypes2['default'].string.isRequired,\n\t unhighlightTag: _propTypes2['default'].oneOfType([_propTypes2['default'].node, _propTypes2['default'].func, _propTypes2['default'].string]),\n\t unhighlightClassName: _propTypes2['default'].string,\n\t unhighlightStyle: _propTypes2['default'].object\n\t};\n\t\n\t/**\r\n\t * Highlights all occurrences of search terms (searchText) within a string (textToHighlight).\r\n\t * This function returns an array of strings and <span>s (wrapping highlighted words).\r\n\t */\n\t\n\tfunction Highlighter(_ref) {\n\t var _ref$activeClassName = _ref.activeClassName;\n\t var activeClassName = _ref$activeClassName === undefined ? '' : _ref$activeClassName;\n\t var _ref$activeIndex = _ref.activeIndex;\n\t var activeIndex = _ref$activeIndex === undefined ? -1 : _ref$activeIndex;\n\t var activeStyle = _ref.activeStyle;\n\t var autoEscape = _ref.autoEscape;\n\t var _ref$caseSensitive = _ref.caseSensitive;\n\t var caseSensitive = _ref$caseSensitive === undefined ? false : _ref$caseSensitive;\n\t var className = _ref.className;\n\t var findChunks = _ref.findChunks;\n\t var _ref$highlightClassName = _ref.highlightClassName;\n\t var highlightClassName = _ref$highlightClassName === undefined ? '' : _ref$highlightClassName;\n\t var _ref$highlightStyle = _ref.highlightStyle;\n\t var highlightStyle = _ref$highlightStyle === undefined ? {} : _ref$highlightStyle;\n\t var _ref$highlightTag = _ref.highlightTag;\n\t var highlightTag = _ref$highlightTag === undefined ? 'mark' : _ref$highlightTag;\n\t var sanitize = _ref.sanitize;\n\t var searchWords = _ref.searchWords;\n\t var textToHighlight = _ref.textToHighlight;\n\t var _ref$unhighlightTag = _ref.unhighlightTag;\n\t var unhighlightTag = _ref$unhighlightTag === undefined ? 'span' : _ref$unhighlightTag;\n\t var _ref$unhighlightClassName = _ref.unhighlightClassName;\n\t var unhighlightClassName = _ref$unhighlightClassName === undefined ? '' : _ref$unhighlightClassName;\n\t var unhighlightStyle = _ref.unhighlightStyle;\n\t\n\t var rest = _objectWithoutProperties(_ref, ['activeClassName', 'activeIndex', 'activeStyle', 'autoEscape', 'caseSensitive', 'className', 'findChunks', 'highlightClassName', 'highlightStyle', 'highlightTag', 'sanitize', 'searchWords', 'textToHighlight', 'unhighlightTag', 'unhighlightClassName', 'unhighlightStyle']);\n\t\n\t var chunks = (0, _highlightWordsCore.findAll)({\n\t autoEscape: autoEscape,\n\t caseSensitive: caseSensitive,\n\t findChunks: findChunks,\n\t sanitize: sanitize,\n\t searchWords: searchWords,\n\t textToHighlight: textToHighlight\n\t });\n\t var HighlightTag = highlightTag;\n\t var highlightIndex = -1;\n\t var highlightClassNames = '';\n\t var highlightStyles = undefined;\n\t\n\t var lowercaseProps = function lowercaseProps(object) {\n\t var mapped = {};\n\t for (var key in object) {\n\t mapped[key.toLowerCase()] = object[key];\n\t }\n\t return mapped;\n\t };\n\t var memoizedLowercaseProps = (0, _memoizeOne2['default'])(lowercaseProps);\n\t\n\t return (0, _react.createElement)('span', _extends({\n\t className: className\n\t }, rest, {\n\t children: chunks.map(function (chunk, index) {\n\t var text = textToHighlight.substr(chunk.start, chunk.end - chunk.start);\n\t\n\t if (chunk.highlight) {\n\t highlightIndex++;\n\t\n\t var highlightClass = undefined;\n\t if (typeof highlightClassName === 'object') {\n\t if (!caseSensitive) {\n\t highlightClassName = memoizedLowercaseProps(highlightClassName);\n\t highlightClass = highlightClassName[text.toLowerCase()];\n\t } else {\n\t highlightClass = highlightClassName[text];\n\t }\n\t } else {\n\t highlightClass = highlightClassName;\n\t }\n\t\n\t var isActive = highlightIndex === +activeIndex;\n\t\n\t highlightClassNames = highlightClass + ' ' + (isActive ? activeClassName : '');\n\t highlightStyles = isActive === true && activeStyle != null ? Object.assign({}, highlightStyle, activeStyle) : highlightStyle;\n\t\n\t var props = {\n\t children: text,\n\t className: highlightClassNames,\n\t key: index,\n\t style: highlightStyles\n\t };\n\t\n\t // Don't attach arbitrary props to DOM elements; this triggers React DEV warnings (https://fb.me/react-unknown-prop)\n\t // Only pass through the highlightIndex attribute for custom components.\n\t if (typeof HighlightTag !== 'string') {\n\t props.highlightIndex = highlightIndex;\n\t }\n\t\n\t return (0, _react.createElement)(HighlightTag, props);\n\t } else {\n\t return (0, _react.createElement)(unhighlightTag, {\n\t children: text,\n\t className: unhighlightClassName,\n\t key: index,\n\t style: unhighlightStyle\n\t });\n\t }\n\t })\n\t }));\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n\tmodule.exports =\n\t/******/ (function(modules) { // webpackBootstrap\n\t/******/ \t// The module cache\n\t/******/ \tvar installedModules = {};\n\t/******/\n\t/******/ \t// The require function\n\t/******/ \tfunction __webpack_require__(moduleId) {\n\t/******/\n\t/******/ \t\t// Check if module is in cache\n\t/******/ \t\tif(installedModules[moduleId])\n\t/******/ \t\t\treturn installedModules[moduleId].exports;\n\t/******/\n\t/******/ \t\t// Create a new module (and put it into the cache)\n\t/******/ \t\tvar module = installedModules[moduleId] = {\n\t/******/ \t\t\texports: {},\n\t/******/ \t\t\tid: moduleId,\n\t/******/ \t\t\tloaded: false\n\t/******/ \t\t};\n\t/******/\n\t/******/ \t\t// Execute the module function\n\t/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t/******/\n\t/******/ \t\t// Flag the module as loaded\n\t/******/ \t\tmodule.loaded = true;\n\t/******/\n\t/******/ \t\t// Return the exports of the module\n\t/******/ \t\treturn module.exports;\n\t/******/ \t}\n\t/******/\n\t/******/\n\t/******/ \t// expose the modules object (__webpack_modules__)\n\t/******/ \t__webpack_require__.m = modules;\n\t/******/\n\t/******/ \t// expose the module cache\n\t/******/ \t__webpack_require__.c = installedModules;\n\t/******/\n\t/******/ \t// __webpack_public_path__\n\t/******/ \t__webpack_require__.p = \"\";\n\t/******/\n\t/******/ \t// Load entry module and return exports\n\t/******/ \treturn __webpack_require__(0);\n\t/******/ })\n\t/************************************************************************/\n\t/******/ ([\n\t/* 0 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\tmodule.exports = __webpack_require__(1);\n\t\n\t\n\t/***/ }),\n\t/* 1 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\t\n\t\tObject.defineProperty(exports, \"__esModule\", {\n\t\t value: true\n\t\t});\n\t\t\n\t\tvar _utils = __webpack_require__(2);\n\t\t\n\t\tObject.defineProperty(exports, 'combineChunks', {\n\t\t enumerable: true,\n\t\t get: function get() {\n\t\t return _utils.combineChunks;\n\t\t }\n\t\t});\n\t\tObject.defineProperty(exports, 'fillInChunks', {\n\t\t enumerable: true,\n\t\t get: function get() {\n\t\t return _utils.fillInChunks;\n\t\t }\n\t\t});\n\t\tObject.defineProperty(exports, 'findAll', {\n\t\t enumerable: true,\n\t\t get: function get() {\n\t\t return _utils.findAll;\n\t\t }\n\t\t});\n\t\tObject.defineProperty(exports, 'findChunks', {\n\t\t enumerable: true,\n\t\t get: function get() {\n\t\t return _utils.findChunks;\n\t\t }\n\t\t});\n\t\n\t/***/ }),\n\t/* 2 */\n\t/***/ (function(module, exports) {\n\t\n\t\t'use strict';\n\t\t\n\t\tObject.defineProperty(exports, \"__esModule\", {\n\t\t value: true\n\t\t});\n\t\t/**\n\t\t * Creates an array of chunk objects representing both higlightable and non highlightable pieces of text that match each search word.\n\t\t * @return Array of \"chunks\" (where a Chunk is { start:number, end:number, highlight:boolean })\n\t\t */\n\t\tvar findAll = exports.findAll = function findAll(_ref) {\n\t\t var autoEscape = _ref.autoEscape,\n\t\t _ref$caseSensitive = _ref.caseSensitive,\n\t\t caseSensitive = _ref$caseSensitive === undefined ? false : _ref$caseSensitive,\n\t\t _ref$findChunks = _ref.findChunks,\n\t\t findChunks = _ref$findChunks === undefined ? defaultFindChunks : _ref$findChunks,\n\t\t sanitize = _ref.sanitize,\n\t\t searchWords = _ref.searchWords,\n\t\t textToHighlight = _ref.textToHighlight;\n\t\t return fillInChunks({\n\t\t chunksToHighlight: combineChunks({\n\t\t chunks: findChunks({\n\t\t autoEscape: autoEscape,\n\t\t caseSensitive: caseSensitive,\n\t\t sanitize: sanitize,\n\t\t searchWords: searchWords,\n\t\t textToHighlight: textToHighlight\n\t\t })\n\t\t }),\n\t\t totalLength: textToHighlight ? textToHighlight.length : 0\n\t\t });\n\t\t};\n\t\t\n\t\t/**\n\t\t * Takes an array of {start:number, end:number} objects and combines chunks that overlap into single chunks.\n\t\t * @return {start:number, end:number}[]\n\t\t */\n\t\tvar combineChunks = exports.combineChunks = function combineChunks(_ref2) {\n\t\t var chunks = _ref2.chunks;\n\t\t\n\t\t chunks = chunks.sort(function (first, second) {\n\t\t return first.start - second.start;\n\t\t }).reduce(function (processedChunks, nextChunk) {\n\t\t // First chunk just goes straight in the array...\n\t\t if (processedChunks.length === 0) {\n\t\t return [nextChunk];\n\t\t } else {\n\t\t // ... subsequent chunks get checked to see if they overlap...\n\t\t var prevChunk = processedChunks.pop();\n\t\t if (nextChunk.start <= prevChunk.end) {\n\t\t // It may be the case that prevChunk completely surrounds nextChunk, so take the\n\t\t // largest of the end indeces.\n\t\t var endIndex = Math.max(prevChunk.end, nextChunk.end);\n\t\t processedChunks.push({ start: prevChunk.start, end: endIndex });\n\t\t } else {\n\t\t processedChunks.push(prevChunk, nextChunk);\n\t\t }\n\t\t return processedChunks;\n\t\t }\n\t\t }, []);\n\t\t\n\t\t return chunks;\n\t\t};\n\t\t\n\t\t/**\n\t\t * Examine text for any matches.\n\t\t * If we find matches, add them to the returned array as a \"chunk\" object ({start:number, end:number}).\n\t\t * @return {start:number, end:number}[]\n\t\t */\n\t\tvar defaultFindChunks = function defaultFindChunks(_ref3) {\n\t\t var autoEscape = _ref3.autoEscape,\n\t\t caseSensitive = _ref3.caseSensitive,\n\t\t _ref3$sanitize = _ref3.sanitize,\n\t\t sanitize = _ref3$sanitize === undefined ? identity : _ref3$sanitize,\n\t\t searchWords = _ref3.searchWords,\n\t\t textToHighlight = _ref3.textToHighlight;\n\t\t\n\t\t textToHighlight = sanitize(textToHighlight);\n\t\t\n\t\t return searchWords.filter(function (searchWord) {\n\t\t return searchWord;\n\t\t }) // Remove empty words\n\t\t .reduce(function (chunks, searchWord) {\n\t\t searchWord = sanitize(searchWord);\n\t\t\n\t\t if (autoEscape) {\n\t\t searchWord = escapeRegExpFn(searchWord);\n\t\t }\n\t\t\n\t\t var regex = new RegExp(searchWord, caseSensitive ? 'g' : 'gi');\n\t\t\n\t\t var match = void 0;\n\t\t while (match = regex.exec(textToHighlight)) {\n\t\t var start = match.index;\n\t\t var end = regex.lastIndex;\n\t\t // We do not return zero-length matches\n\t\t if (end > start) {\n\t\t chunks.push({ start: start, end: end });\n\t\t }\n\t\t\n\t\t // Prevent browsers like Firefox from getting stuck in an infinite loop\n\t\t // See http://www.regexguru.com/2008/04/watch-out-for-zero-length-matches/\n\t\t if (match.index == regex.lastIndex) {\n\t\t regex.lastIndex++;\n\t\t }\n\t\t }\n\t\t\n\t\t return chunks;\n\t\t }, []);\n\t\t};\n\t\t// Allow the findChunks to be overridden in findAll,\n\t\t// but for backwards compatibility we export as the old name\n\t\texports.findChunks = defaultFindChunks;\n\t\t\n\t\t/**\n\t\t * Given a set of chunks to highlight, create an additional set of chunks\n\t\t * to represent the bits of text between the highlighted text.\n\t\t * @param chunksToHighlight {start:number, end:number}[]\n\t\t * @param totalLength number\n\t\t * @return {start:number, end:number, highlight:boolean}[]\n\t\t */\n\t\t\n\t\tvar fillInChunks = exports.fillInChunks = function fillInChunks(_ref4) {\n\t\t var chunksToHighlight = _ref4.chunksToHighlight,\n\t\t totalLength = _ref4.totalLength;\n\t\t\n\t\t var allChunks = [];\n\t\t var append = function append(start, end, highlight) {\n\t\t if (end - start > 0) {\n\t\t allChunks.push({\n\t\t start: start,\n\t\t end: end,\n\t\t highlight: highlight\n\t\t });\n\t\t }\n\t\t };\n\t\t\n\t\t if (chunksToHighlight.length === 0) {\n\t\t append(0, totalLength, false);\n\t\t } else {\n\t\t var lastIndex = 0;\n\t\t chunksToHighlight.forEach(function (chunk) {\n\t\t append(lastIndex, chunk.start, false);\n\t\t append(chunk.start, chunk.end, true);\n\t\t lastIndex = chunk.end;\n\t\t });\n\t\t append(lastIndex, totalLength, false);\n\t\t }\n\t\t return allChunks;\n\t\t};\n\t\t\n\t\tfunction identity(value) {\n\t\t return value;\n\t\t}\n\t\t\n\t\tfunction escapeRegExpFn(str) {\n\t\t return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n\t\t}\n\t\n\t/***/ })\n\t/******/ ]);\n\t//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\tif (process.env.NODE_ENV !== 'production') {\n\t var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n\t Symbol.for &&\n\t Symbol.for('react.element')) ||\n\t 0xeac7;\n\t\n\t var isValidElement = function(object) {\n\t return typeof object === 'object' &&\n\t object !== null &&\n\t object.$$typeof === REACT_ELEMENT_TYPE;\n\t };\n\t\n\t // By explicitly using `prop-types` you are opting into new development behavior.\n\t // http://fb.me/prop-types-in-prod\n\t var throwOnDirectAccess = true;\n\t module.exports = __webpack_require__(6)(isValidElement, throwOnDirectAccess);\n\t} else {\n\t // By explicitly using `prop-types` you are opting into new production behavior.\n\t // http://fb.me/prop-types-in-prod\n\t module.exports = __webpack_require__(13)();\n\t}\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n\t// shim for using process in browser\n\tvar process = module.exports = {};\n\t\n\t// cached from whatever global is present so that test runners that stub it\n\t// don't break things. But we need to wrap it in a try catch in case it is\n\t// wrapped in strict mode code which doesn't define any globals. It's inside a\n\t// function because try/catches deoptimize in certain engines.\n\t\n\tvar cachedSetTimeout;\n\tvar cachedClearTimeout;\n\t\n\tfunction defaultSetTimout() {\n\t throw new Error('setTimeout has not been defined');\n\t}\n\tfunction defaultClearTimeout () {\n\t throw new Error('clearTimeout has not been defined');\n\t}\n\t(function () {\n\t try {\n\t if (typeof setTimeout === 'function') {\n\t cachedSetTimeout = setTimeout;\n\t } else {\n\t cachedSetTimeout = defaultSetTimout;\n\t }\n\t } catch (e) {\n\t cachedSetTimeout = defaultSetTimout;\n\t }\n\t try {\n\t if (typeof clearTimeout === 'function') {\n\t cachedClearTimeout = clearTimeout;\n\t } else {\n\t cachedClearTimeout = defaultClearTimeout;\n\t }\n\t } catch (e) {\n\t cachedClearTimeout = defaultClearTimeout;\n\t }\n\t} ())\n\tfunction runTimeout(fun) {\n\t if (cachedSetTimeout === setTimeout) {\n\t //normal enviroments in sane situations\n\t return setTimeout(fun, 0);\n\t }\n\t // if setTimeout wasn't available but was latter defined\n\t if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n\t cachedSetTimeout = setTimeout;\n\t return setTimeout(fun, 0);\n\t }\n\t try {\n\t // when when somebody has screwed with setTimeout but no I.E. maddness\n\t return cachedSetTimeout(fun, 0);\n\t } catch(e){\n\t try {\n\t // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n\t return cachedSetTimeout.call(null, fun, 0);\n\t } catch(e){\n\t // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n\t return cachedSetTimeout.call(this, fun, 0);\n\t }\n\t }\n\t\n\t\n\t}\n\tfunction runClearTimeout(marker) {\n\t if (cachedClearTimeout === clearTimeout) {\n\t //normal enviroments in sane situations\n\t return clearTimeout(marker);\n\t }\n\t // if clearTimeout wasn't available but was latter defined\n\t if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n\t cachedClearTimeout = clearTimeout;\n\t return clearTimeout(marker);\n\t }\n\t try {\n\t // when when somebody has screwed with setTimeout but no I.E. maddness\n\t return cachedClearTimeout(marker);\n\t } catch (e){\n\t try {\n\t // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n\t return cachedClearTimeout.call(null, marker);\n\t } catch (e){\n\t // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n\t // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n\t return cachedClearTimeout.call(this, marker);\n\t }\n\t }\n\t\n\t\n\t\n\t}\n\tvar queue = [];\n\tvar draining = false;\n\tvar currentQueue;\n\tvar queueIndex = -1;\n\t\n\tfunction cleanUpNextTick() {\n\t if (!draining || !currentQueue) {\n\t return;\n\t }\n\t draining = false;\n\t if (currentQueue.length) {\n\t queue = currentQueue.concat(queue);\n\t } else {\n\t queueIndex = -1;\n\t }\n\t if (queue.length) {\n\t drainQueue();\n\t }\n\t}\n\t\n\tfunction drainQueue() {\n\t if (draining) {\n\t return;\n\t }\n\t var timeout = runTimeout(cleanUpNextTick);\n\t draining = true;\n\t\n\t var len = queue.length;\n\t while(len) {\n\t currentQueue = queue;\n\t queue = [];\n\t while (++queueIndex < len) {\n\t if (currentQueue) {\n\t currentQueue[queueIndex].run();\n\t }\n\t }\n\t queueIndex = -1;\n\t len = queue.length;\n\t }\n\t currentQueue = null;\n\t draining = false;\n\t runClearTimeout(timeout);\n\t}\n\t\n\tprocess.nextTick = function (fun) {\n\t var args = new Array(arguments.length - 1);\n\t if (arguments.length > 1) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t args[i - 1] = arguments[i];\n\t }\n\t }\n\t queue.push(new Item(fun, args));\n\t if (queue.length === 1 && !draining) {\n\t runTimeout(drainQueue);\n\t }\n\t};\n\t\n\t// v8 likes predictible objects\n\tfunction Item(fun, array) {\n\t this.fun = fun;\n\t this.array = array;\n\t}\n\tItem.prototype.run = function () {\n\t this.fun.apply(null, this.array);\n\t};\n\tprocess.title = 'browser';\n\tprocess.browser = true;\n\tprocess.env = {};\n\tprocess.argv = [];\n\tprocess.version = ''; // empty string to avoid regexp issues\n\tprocess.versions = {};\n\t\n\tfunction noop() {}\n\t\n\tprocess.on = noop;\n\tprocess.addListener = noop;\n\tprocess.once = noop;\n\tprocess.off = noop;\n\tprocess.removeListener = noop;\n\tprocess.removeAllListeners = noop;\n\tprocess.emit = noop;\n\tprocess.prependListener = noop;\n\tprocess.prependOnceListener = noop;\n\t\n\tprocess.listeners = function (name) { return [] }\n\t\n\tprocess.binding = function (name) {\n\t throw new Error('process.binding is not supported');\n\t};\n\t\n\tprocess.cwd = function () { return '/' };\n\tprocess.chdir = function (dir) {\n\t throw new Error('process.chdir is not supported');\n\t};\n\tprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\t'use strict';\n\t\n\tvar emptyFunction = __webpack_require__(7);\n\tvar invariant = __webpack_require__(8);\n\tvar warning = __webpack_require__(9);\n\tvar assign = __webpack_require__(10);\n\t\n\tvar ReactPropTypesSecret = __webpack_require__(11);\n\tvar checkPropTypes = __webpack_require__(12);\n\t\n\tmodule.exports = function(isValidElement, throwOnDirectAccess) {\n\t /* global Symbol */\n\t var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n\t var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\t\n\t /**\n\t * Returns the iterator method function contained on the iterable object.\n\t *\n\t * Be sure to invoke the function with the iterable as context:\n\t *\n\t * var iteratorFn = getIteratorFn(myIterable);\n\t * if (iteratorFn) {\n\t * var iterator = iteratorFn.call(myIterable);\n\t * ...\n\t * }\n\t *\n\t * @param {?object} maybeIterable\n\t * @return {?function}\n\t */\n\t function getIteratorFn(maybeIterable) {\n\t var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n\t if (typeof iteratorFn === 'function') {\n\t return iteratorFn;\n\t }\n\t }\n\t\n\t /**\n\t * Collection of methods that allow declaration and validation of props that are\n\t * supplied to React components. Example usage:\n\t *\n\t * var Props = require('ReactPropTypes');\n\t * var MyArticle = React.createClass({\n\t * propTypes: {\n\t * // An optional string prop named \"description\".\n\t * description: Props.string,\n\t *\n\t * // A required enum prop named \"category\".\n\t * category: Props.oneOf(['News','Photos']).isRequired,\n\t *\n\t * // A prop named \"dialog\" that requires an instance of Dialog.\n\t * dialog: Props.instanceOf(Dialog).isRequired\n\t * },\n\t * render: function() { ... }\n\t * });\n\t *\n\t * A more formal specification of how these methods are used:\n\t *\n\t * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n\t * decl := ReactPropTypes.{type}(.isRequired)?\n\t *\n\t * Each and every declaration produces a function with the same signature. This\n\t * allows the creation of custom validation functions. For example:\n\t *\n\t * var MyLink = React.createClass({\n\t * propTypes: {\n\t * // An optional string or URI prop named \"href\".\n\t * href: function(props, propName, componentName) {\n\t * var propValue = props[propName];\n\t * if (propValue != null && typeof propValue !== 'string' &&\n\t * !(propValue instanceof URI)) {\n\t * return new Error(\n\t * 'Expected a string or an URI for ' + propName + ' in ' +\n\t * componentName\n\t * );\n\t * }\n\t * }\n\t * },\n\t * render: function() {...}\n\t * });\n\t *\n\t * @internal\n\t */\n\t\n\t var ANONYMOUS = '<<anonymous>>';\n\t\n\t // Important!\n\t // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n\t var ReactPropTypes = {\n\t array: createPrimitiveTypeChecker('array'),\n\t bool: createPrimitiveTypeChecker('boolean'),\n\t func: createPrimitiveTypeChecker('function'),\n\t number: createPrimitiveTypeChecker('number'),\n\t object: createPrimitiveTypeChecker('object'),\n\t string: createPrimitiveTypeChecker('string'),\n\t symbol: createPrimitiveTypeChecker('symbol'),\n\t\n\t any: createAnyTypeChecker(),\n\t arrayOf: createArrayOfTypeChecker,\n\t element: createElementTypeChecker(),\n\t instanceOf: createInstanceTypeChecker,\n\t node: createNodeChecker(),\n\t objectOf: createObjectOfTypeChecker,\n\t oneOf: createEnumTypeChecker,\n\t oneOfType: createUnionTypeChecker,\n\t shape: createShapeTypeChecker,\n\t exact: createStrictShapeTypeChecker,\n\t };\n\t\n\t /**\n\t * inlined Object.is polyfill to avoid requiring consumers ship their own\n\t * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n\t */\n\t /*eslint-disable no-self-compare*/\n\t function is(x, y) {\n\t // SameValue algorithm\n\t if (x === y) {\n\t // Steps 1-5, 7-10\n\t // Steps 6.b-6.e: +0 != -0\n\t return x !== 0 || 1 / x === 1 / y;\n\t } else {\n\t // Step 6.a: NaN == NaN\n\t return x !== x && y !== y;\n\t }\n\t }\n\t /*eslint-enable no-self-compare*/\n\t\n\t /**\n\t * We use an Error-like object for backward compatibility as people may call\n\t * PropTypes directly and inspect their output. However, we don't use real\n\t * Errors anymore. We don't inspect their stack anyway, and creating them\n\t * is prohibitively expensive if they are created too often, such as what\n\t * happens in oneOfType() for any type before the one that matched.\n\t */\n\t function PropTypeError(message) {\n\t this.message = message;\n\t this.stack = '';\n\t }\n\t // Make `instanceof Error` still work for returned errors.\n\t PropTypeError.prototype = Error.prototype;\n\t\n\t function createChainableTypeChecker(validate) {\n\t if (process.env.NODE_ENV !== 'production') {\n\t var manualPropTypeCallCache = {};\n\t var manualPropTypeWarningCount = 0;\n\t }\n\t function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n\t componentName = componentName || ANONYMOUS;\n\t propFullName = propFullName || propName;\n\t\n\t if (secret !== ReactPropTypesSecret) {\n\t if (throwOnDirectAccess) {\n\t // New behavior only for users of `prop-types` package\n\t invariant(\n\t false,\n\t 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n\t 'Use `PropTypes.checkPropTypes()` to call them. ' +\n\t 'Read more at http://fb.me/use-check-prop-types'\n\t );\n\t } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n\t // Old behavior for people using React.PropTypes\n\t var cacheKey = componentName + ':' + propName;\n\t if (\n\t !manualPropTypeCallCache[cacheKey] &&\n\t // Avoid spamming the console because they are often not actionable except for lib authors\n\t manualPropTypeWarningCount < 3\n\t ) {\n\t warning(\n\t false,\n\t 'You are manually calling a React.PropTypes validation ' +\n\t 'function for the `%s` prop on `%s`. This is deprecated ' +\n\t 'and will throw in the standalone `prop-types` package. ' +\n\t 'You may be seeing this warning due to a third-party PropTypes ' +\n\t 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n\t propFullName,\n\t componentName\n\t );\n\t manualPropTypeCallCache[cacheKey] = true;\n\t manualPropTypeWarningCount++;\n\t }\n\t }\n\t }\n\t if (props[propName] == null) {\n\t if (isRequired) {\n\t if (props[propName] === null) {\n\t return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n\t }\n\t return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n\t }\n\t return null;\n\t } else {\n\t return validate(props, propName, componentName, location, propFullName);\n\t }\n\t }\n\t\n\t var chainedCheckType = checkType.bind(null, false);\n\t chainedCheckType.isRequired = checkType.bind(null, true);\n\t\n\t return chainedCheckType;\n\t }\n\t\n\t function createPrimitiveTypeChecker(expectedType) {\n\t function validate(props, propName, componentName, location, propFullName, secret) {\n\t var propValue = props[propName];\n\t var propType = getPropType(propValue);\n\t if (propType !== expectedType) {\n\t // `propValue` being instance of, say, date/regexp, pass the 'object'\n\t // check, but we can offer a more precise error message here rather than\n\t // 'of type `object`'.\n\t var preciseType = getPreciseType(propValue);\n\t\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createAnyTypeChecker() {\n\t return createChainableTypeChecker(emptyFunction.thatReturnsNull);\n\t }\n\t\n\t function createArrayOfTypeChecker(typeChecker) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t if (typeof typeChecker !== 'function') {\n\t return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n\t }\n\t var propValue = props[propName];\n\t if (!Array.isArray(propValue)) {\n\t var propType = getPropType(propValue);\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n\t }\n\t for (var i = 0; i < propValue.length; i++) {\n\t var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n\t if (error instanceof Error) {\n\t return error;\n\t }\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createElementTypeChecker() {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t var propValue = props[propName];\n\t if (!isValidElement(propValue)) {\n\t var propType = getPropType(propValue);\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createInstanceTypeChecker(expectedClass) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t if (!(props[propName] instanceof expectedClass)) {\n\t var expectedClassName = expectedClass.name || ANONYMOUS;\n\t var actualClassName = getClassName(props[propName]);\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createEnumTypeChecker(expectedValues) {\n\t if (!Array.isArray(expectedValues)) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n\t return emptyFunction.thatReturnsNull;\n\t }\n\t\n\t function validate(props, propName, componentName, location, propFullName) {\n\t var propValue = props[propName];\n\t for (var i = 0; i < expectedValues.length; i++) {\n\t if (is(propValue, expectedValues[i])) {\n\t return null;\n\t }\n\t }\n\t\n\t var valuesString = JSON.stringify(expectedValues);\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createObjectOfTypeChecker(typeChecker) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t if (typeof typeChecker !== 'function') {\n\t return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n\t }\n\t var propValue = props[propName];\n\t var propType = getPropType(propValue);\n\t if (propType !== 'object') {\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n\t }\n\t for (var key in propValue) {\n\t if (propValue.hasOwnProperty(key)) {\n\t var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\t if (error instanceof Error) {\n\t return error;\n\t }\n\t }\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createUnionTypeChecker(arrayOfTypeCheckers) {\n\t if (!Array.isArray(arrayOfTypeCheckers)) {\n\t process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n\t return emptyFunction.thatReturnsNull;\n\t }\n\t\n\t for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n\t var checker = arrayOfTypeCheckers[i];\n\t if (typeof checker !== 'function') {\n\t warning(\n\t false,\n\t 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n\t 'received %s at index %s.',\n\t getPostfixForTypeWarning(checker),\n\t i\n\t );\n\t return emptyFunction.thatReturnsNull;\n\t }\n\t }\n\t\n\t function validate(props, propName, componentName, location, propFullName) {\n\t for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n\t var checker = arrayOfTypeCheckers[i];\n\t if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n\t return null;\n\t }\n\t }\n\t\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createNodeChecker() {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t if (!isNode(props[propName])) {\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createShapeTypeChecker(shapeTypes) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t var propValue = props[propName];\n\t var propType = getPropType(propValue);\n\t if (propType !== 'object') {\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n\t }\n\t for (var key in shapeTypes) {\n\t var checker = shapeTypes[key];\n\t if (!checker) {\n\t continue;\n\t }\n\t var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\t if (error) {\n\t return error;\n\t }\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createStrictShapeTypeChecker(shapeTypes) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t var propValue = props[propName];\n\t var propType = getPropType(propValue);\n\t if (propType !== 'object') {\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n\t }\n\t // We need to check all keys in case some are required but missing from\n\t // props.\n\t var allKeys = assign({}, props[propName], shapeTypes);\n\t for (var key in allKeys) {\n\t var checker = shapeTypes[key];\n\t if (!checker) {\n\t return new PropTypeError(\n\t 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n\t '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n\t '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n\t );\n\t }\n\t var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\t if (error) {\n\t return error;\n\t }\n\t }\n\t return null;\n\t }\n\t\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function isNode(propValue) {\n\t switch (typeof propValue) {\n\t case 'number':\n\t case 'string':\n\t case 'undefined':\n\t return true;\n\t case 'boolean':\n\t return !propValue;\n\t case 'object':\n\t if (Array.isArray(propValue)) {\n\t return propValue.every(isNode);\n\t }\n\t if (propValue === null || isValidElement(propValue)) {\n\t return true;\n\t }\n\t\n\t var iteratorFn = getIteratorFn(propValue);\n\t if (iteratorFn) {\n\t var iterator = iteratorFn.call(propValue);\n\t var step;\n\t if (iteratorFn !== propValue.entries) {\n\t while (!(step = iterator.next()).done) {\n\t if (!isNode(step.value)) {\n\t return false;\n\t }\n\t }\n\t } else {\n\t // Iterator will provide entry [k,v] tuples rather than values.\n\t while (!(step = iterator.next()).done) {\n\t var entry = step.value;\n\t if (entry) {\n\t if (!isNode(entry[1])) {\n\t return false;\n\t }\n\t }\n\t }\n\t }\n\t } else {\n\t return false;\n\t }\n\t\n\t return true;\n\t default:\n\t return false;\n\t }\n\t }\n\t\n\t function isSymbol(propType, propValue) {\n\t // Native Symbol.\n\t if (propType === 'symbol') {\n\t return true;\n\t }\n\t\n\t // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\t if (propValue['@@toStringTag'] === 'Symbol') {\n\t return true;\n\t }\n\t\n\t // Fallback for non-spec compliant Symbols which are polyfilled.\n\t if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n\t return true;\n\t }\n\t\n\t return false;\n\t }\n\t\n\t // Equivalent of `typeof` but with special handling for array and regexp.\n\t function getPropType(propValue) {\n\t var propType = typeof propValue;\n\t if (Array.isArray(propValue)) {\n\t return 'array';\n\t }\n\t if (propValue instanceof RegExp) {\n\t // Old webkits (at least until Android 4.0) return 'function' rather than\n\t // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n\t // passes PropTypes.object.\n\t return 'object';\n\t }\n\t if (isSymbol(propType, propValue)) {\n\t return 'symbol';\n\t }\n\t return propType;\n\t }\n\t\n\t // This handles more types than `getPropType`. Only used for error messages.\n\t // See `createPrimitiveTypeChecker`.\n\t function getPreciseType(propValue) {\n\t if (typeof propValue === 'undefined' || propValue === null) {\n\t return '' + propValue;\n\t }\n\t var propType = getPropType(propValue);\n\t if (propType === 'object') {\n\t if (propValue instanceof Date) {\n\t return 'date';\n\t } else if (propValue instanceof RegExp) {\n\t return 'regexp';\n\t }\n\t }\n\t return propType;\n\t }\n\t\n\t // Returns a string that is postfixed to a warning about an invalid type.\n\t // For example, \"undefined\" or \"of type array\"\n\t function getPostfixForTypeWarning(value) {\n\t var type = getPreciseType(value);\n\t switch (type) {\n\t case 'array':\n\t case 'object':\n\t return 'an ' + type;\n\t case 'boolean':\n\t case 'date':\n\t case 'regexp':\n\t return 'a ' + type;\n\t default:\n\t return type;\n\t }\n\t }\n\t\n\t // Returns class name of the object, if any.\n\t function getClassName(propValue) {\n\t if (!propValue.constructor || !propValue.constructor.name) {\n\t return ANONYMOUS;\n\t }\n\t return propValue.constructor.name;\n\t }\n\t\n\t ReactPropTypes.checkPropTypes = checkPropTypes;\n\t ReactPropTypes.PropTypes = ReactPropTypes;\n\t\n\t return ReactPropTypes;\n\t};\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t * \n\t */\n\t\n\tfunction makeEmptyFunction(arg) {\n\t return function () {\n\t return arg;\n\t };\n\t}\n\t\n\t/**\n\t * This function accepts and discards inputs; it has no side effects. This is\n\t * primarily useful idiomatically for overridable function endpoints which\n\t * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n\t */\n\tvar emptyFunction = function emptyFunction() {};\n\t\n\temptyFunction.thatReturns = makeEmptyFunction;\n\temptyFunction.thatReturnsFalse = makeEmptyFunction(false);\n\temptyFunction.thatReturnsTrue = makeEmptyFunction(true);\n\temptyFunction.thatReturnsNull = makeEmptyFunction(null);\n\temptyFunction.thatReturnsThis = function () {\n\t return this;\n\t};\n\temptyFunction.thatReturnsArgument = function (arg) {\n\t return arg;\n\t};\n\t\n\tmodule.exports = emptyFunction;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Use invariant() to assert state which your program assumes to be true.\n\t *\n\t * Provide sprintf-style format (only %s is supported) and arguments\n\t * to provide information about what broke and what you were\n\t * expecting.\n\t *\n\t * The invariant message will be stripped in production, but the invariant\n\t * will remain to ensure logic does not differ in production.\n\t */\n\t\n\tvar validateFormat = function validateFormat(format) {};\n\t\n\tif (process.env.NODE_ENV !== 'production') {\n\t validateFormat = function validateFormat(format) {\n\t if (format === undefined) {\n\t throw new Error('invariant requires an error message argument');\n\t }\n\t };\n\t}\n\t\n\tfunction invariant(condition, format, a, b, c, d, e, f) {\n\t validateFormat(format);\n\t\n\t if (!condition) {\n\t var error;\n\t if (format === undefined) {\n\t error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n\t } else {\n\t var args = [a, b, c, d, e, f];\n\t var argIndex = 0;\n\t error = new Error(format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t }));\n\t error.name = 'Invariant Violation';\n\t }\n\t\n\t error.framesToPop = 1; // we don't care about invariant's own frame\n\t throw error;\n\t }\n\t}\n\t\n\tmodule.exports = invariant;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {/**\n\t * Copyright (c) 2014-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t */\n\t\n\t'use strict';\n\t\n\tvar emptyFunction = __webpack_require__(7);\n\t\n\t/**\n\t * Similar to invariant but only logs a warning if the condition is not met.\n\t * This can be used to log issues in development environments in critical\n\t * paths. Removing the logging code for production environments will keep the\n\t * same logic and follow the same code paths.\n\t */\n\t\n\tvar warning = emptyFunction;\n\t\n\tif (process.env.NODE_ENV !== 'production') {\n\t var printWarning = function printWarning(format) {\n\t for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t args[_key - 1] = arguments[_key];\n\t }\n\t\n\t var argIndex = 0;\n\t var message = 'Warning: ' + format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t });\n\t if (typeof console !== 'undefined') {\n\t console.error(message);\n\t }\n\t try {\n\t // --- Welcome to debugging React ---\n\t // This error was thrown as a convenience so that you can use this stack\n\t // to find the callsite that caused this warning to fire.\n\t throw new Error(message);\n\t } catch (x) {}\n\t };\n\t\n\t warning = function warning(condition, format) {\n\t if (format === undefined) {\n\t throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n\t }\n\t\n\t if (format.indexOf('Failed Composite propType: ') === 0) {\n\t return; // Ignore CompositeComponent proptype check.\n\t }\n\t\n\t if (!condition) {\n\t for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n\t args[_key2 - 2] = arguments[_key2];\n\t }\n\t\n\t printWarning.apply(undefined, [format].concat(args));\n\t }\n\t };\n\t}\n\t\n\tmodule.exports = warning;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\n\t/*\n\tobject-assign\n\t(c) Sindre Sorhus\n\t@license MIT\n\t*/\n\t\n\t'use strict';\n\t/* eslint-disable no-unused-vars */\n\tvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\t\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\t\n\t\treturn Object(val);\n\t}\n\t\n\tfunction shouldUseNative() {\n\t\ttry {\n\t\t\tif (!Object.assign) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// Detect buggy property enumeration order in older V8 versions.\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\t\ttest1[5] = 'de';\n\t\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test2 = {};\n\t\t\tfor (var i = 0; i < 10; i++) {\n\t\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t\t}\n\t\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\t\treturn test2[n];\n\t\t\t});\n\t\t\tif (order2.join('') !== '0123456789') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test3 = {};\n\t\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\t\ttest3[letter] = letter;\n\t\t\t});\n\t\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\t\treturn false;\n\t\t}\n\t}\n\t\n\tmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\t\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\t\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tif (getOwnPropertySymbols) {\n\t\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn to;\n\t};\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\t'use strict';\n\t\n\tvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\t\n\tmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\t'use strict';\n\t\n\tif (process.env.NODE_ENV !== 'production') {\n\t var invariant = __webpack_require__(8);\n\t var warning = __webpack_require__(9);\n\t var ReactPropTypesSecret = __webpack_require__(11);\n\t var loggedTypeFailures = {};\n\t}\n\t\n\t/**\n\t * Assert that the values match with the type specs.\n\t * Error messages are memorized and will only be shown once.\n\t *\n\t * @param {object} typeSpecs Map of name to a ReactPropType\n\t * @param {object} values Runtime values that need to be type-checked\n\t * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n\t * @param {string} componentName Name of the component for error messages.\n\t * @param {?Function} getStack Returns the component stack.\n\t * @private\n\t */\n\tfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n\t if (process.env.NODE_ENV !== 'production') {\n\t for (var typeSpecName in typeSpecs) {\n\t if (typeSpecs.hasOwnProperty(typeSpecName)) {\n\t var error;\n\t // Prop type validation may throw. In case they do, we don't want to\n\t // fail the render phase where it didn't fail before. So we log it.\n\t // After these have been cleaned up, we'll let them throw.\n\t try {\n\t // This is intentionally an invariant that gets caught. It's the same\n\t // behavior as without this statement except with a better message.\n\t invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);\n\t error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n\t } catch (ex) {\n\t error = ex;\n\t }\n\t warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n\t if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n\t // Only monitor this failure once because there tends to be a lot of the\n\t // same error.\n\t loggedTypeFailures[error.message] = true;\n\t\n\t var stack = getStack ? getStack() : '';\n\t\n\t warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n\t }\n\t }\n\t }\n\t }\n\t}\n\t\n\tmodule.exports = checkPropTypes;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\t'use strict';\n\t\n\tvar emptyFunction = __webpack_require__(7);\n\tvar invariant = __webpack_require__(8);\n\tvar ReactPropTypesSecret = __webpack_require__(11);\n\t\n\tmodule.exports = function() {\n\t function shim(props, propName, componentName, location, propFullName, secret) {\n\t if (secret === ReactPropTypesSecret) {\n\t // It is still safe when called from React.\n\t return;\n\t }\n\t invariant(\n\t false,\n\t 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n\t 'Use PropTypes.checkPropTypes() to call them. ' +\n\t 'Read more at http://fb.me/use-check-prop-types'\n\t );\n\t };\n\t shim.isRequired = shim;\n\t function getShim() {\n\t return shim;\n\t };\n\t // Important!\n\t // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\t var ReactPropTypes = {\n\t array: shim,\n\t bool: shim,\n\t func: shim,\n\t number: shim,\n\t object: shim,\n\t string: shim,\n\t symbol: shim,\n\t\n\t any: shim,\n\t arrayOf: getShim,\n\t element: shim,\n\t instanceOf: getShim,\n\t node: shim,\n\t objectOf: getShim,\n\t oneOf: getShim,\n\t oneOfType: getShim,\n\t shape: getShim,\n\t exact: getShim\n\t };\n\t\n\t ReactPropTypes.checkPropTypes = emptyFunction;\n\t ReactPropTypes.PropTypes = ReactPropTypes;\n\t\n\t return ReactPropTypes;\n\t};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"react\");\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tvar simpleIsEqual = function simpleIsEqual(a, b) {\n\t return a === b;\n\t};\n\t\n\tfunction index (resultFn) {\n\t var isEqual = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : simpleIsEqual;\n\t\n\t var lastThis = void 0;\n\t var lastArgs = [];\n\t var lastResult = void 0;\n\t var calledOnce = false;\n\t\n\t var isNewArgEqualToLast = function isNewArgEqualToLast(newArg, index) {\n\t return isEqual(newArg, lastArgs[index]);\n\t };\n\t\n\t var result = function result() {\n\t for (var _len = arguments.length, newArgs = Array(_len), _key = 0; _key < _len; _key++) {\n\t newArgs[_key] = arguments[_key];\n\t }\n\t\n\t if (calledOnce && lastThis === this && newArgs.length === lastArgs.length && newArgs.every(isNewArgEqualToLast)) {\n\t return lastResult;\n\t }\n\t\n\t calledOnce = true;\n\t lastThis = this;\n\t lastArgs = newArgs;\n\t lastResult = resultFn.apply(this, newArgs);\n\t return lastResult;\n\t };\n\t\n\t return result;\n\t}\n\t\n\tmodule.exports = index;\n\n\n/***/ })\n/******/ ]);\n//# sourceMappingURL=main.js.map","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { deburr } from 'lodash';\nimport * as React from 'react';\nimport Highlighter from 'react-highlight-words';\nimport { themeColor, themeContrast } from '../helpers/theme';\n\nexport const SearchHighlighterContext = React.createContext<string | undefined>(undefined);\nSearchHighlighterContext.displayName = 'SearchHighlighterContext';\n\ninterface Props {\n children?: string;\n term?: string;\n}\n\nexport function SearchHighlighter({ children = '', term }: Props) {\n const query = React.useContext(SearchHighlighterContext);\n\n const searchTerm = term ?? query;\n if (searchTerm) {\n return (\n <StyledHighlighter\n autoEscape\n sanitize={deburr}\n searchWords={[searchTerm]}\n textToHighlight={children}\n />\n );\n }\n return <>{children}</>;\n}\n\nconst StyledHighlighter = styled(Highlighter)`\n mark {\n color: ${themeContrast('searchHighlight')};\n font-weight: inherit;\n background: ${themeColor('searchHighlight')};\n }\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { forwardRef } from 'react';\nimport tw from 'twin.macro';\nimport { getProp, themeColor, themeContrast } from '../../helpers/theme';\nimport { RatingLabel } from '../types/measures';\n\ntype sizeType = keyof typeof SIZE_MAPPING;\ninterface Props extends React.AriaAttributes {\n className?: string;\n label?: string;\n rating?: RatingLabel;\n size?: sizeType;\n}\n\nconst SIZE_MAPPING = {\n xs: '1rem',\n sm: '1.5rem',\n md: '2rem',\n lg: '2.8rem',\n xl: '4rem',\n};\n\nexport const MetricsRatingBadge = forwardRef<HTMLDivElement, Props>(\n ({ className, size = 'sm', label, rating, ...ariaAttrs }: Readonly<Props>, ref) => {\n if (!rating) {\n return (\n <StyledNoRatingBadge\n aria-label={label}\n className={className}\n ref={ref}\n size={SIZE_MAPPING[size]}\n {...ariaAttrs}\n >\n —\n </StyledNoRatingBadge>\n );\n }\n return (\n <MetricsRatingBadgeStyled\n aria-label={label}\n className={className}\n rating={rating}\n ref={ref}\n size={SIZE_MAPPING[size]}\n {...ariaAttrs}\n >\n {rating}\n </MetricsRatingBadgeStyled>\n );\n },\n);\n\nMetricsRatingBadge.displayName = 'MetricsRatingBadge';\n\nconst StyledNoRatingBadge = styled.div<{ size: string }>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n width: ${getProp('size')};\n height: ${getProp('size')};\n`;\n\nconst getFontSize = (size: string) => {\n switch (size) {\n case '2rem':\n return '0.875rem';\n case '4rem':\n return '1.5rem';\n default:\n return '0.75rem';\n }\n};\n\nconst MetricsRatingBadgeStyled = styled.div<{\n rating: RatingLabel;\n size: string;\n}>`\n width: ${getProp('size')};\n height: ${getProp('size')};\n color: ${({ rating }) => themeContrast(`rating.${rating}`)};\n font-size: ${({ size }) => getFontSize(size)};\n background-color: ${({ rating }) => themeColor(`rating.${rating}`)};\n user-select: none;\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n ${tw`sw-rounded-pill`};\n ${tw`sw-font-semibold`};\n`;\n","/*! @license DOMPurify 3.2.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.3/LICENSE */\n\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object; // eslint-disable-line import/no-mutable-exports\nlet {\n apply,\n construct\n} = typeof Reflect !== 'undefined' && Reflect;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\nif (!construct) {\n construct = function construct(Func, args) {\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return construct(func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*}/gm); // eslint-disable-line unicorn/better-regex\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n ARIA_ATTR: ARIA_ATTR,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT,\n DATA_ATTR: DATA_ATTR,\n DOCTYPE_NAME: DOCTYPE_NAME,\n ERB_EXPR: ERB_EXPR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR\n});\n\n/* eslint-disable @typescript-eslint/indent */\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.2.3';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document\n } = window;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;\n HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * _isClobbered\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(element) {\n return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');\n };\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param value object to check whether it's a DOM node\n * @return true is object is a DOM node\n */\n const _isNode = function _isNode(value) {\n return typeof Node === 'function' && value instanceof Node;\n };\n function _executeHooks(hooks, currentNode, data) {\n arrayForEach(hooks, hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content = null;\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n }\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n content = stringReplace(content, expr, ' ');\n });\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n const {\n attributes\n } = currentNode;\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes || _isClobbered(currentNode)) {\n return;\n }\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined\n };\n let l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const {\n name,\n namespaceURI,\n value: attrValue\n } = attr;\n const lcName = transformCaseFunc(name);\n let value = name === 'value' ? attrValue : stringTrim(attrValue);\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n value = stringReplace(value, expr, ' ');\n });\n }\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n /* Handle attributes that require Trusted Types */\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case 'TrustedScriptURL':\n {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {}\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n /* Sanitize tags and elements */\n _sanitizeElements(shadowNode);\n /* Check attributes next */\n _sanitizeAttributes(shadowNode);\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n _sanitizeElements(currentNode);\n /* Check attributes next */\n _sanitizeAttributes(currentNode);\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n }\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function (entryPoint) {\n return arrayPop(hooks[entryPoint]);\n };\n DOMPurify.removeHooks = function (entryPoint) {\n hooks[entryPoint] = [];\n };\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.mjs.map\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport dompurify from 'dompurify';\n\nimport React from 'react';\n\nconst { sanitize } = dompurify;\n\nexport enum SanitizeLevel {\n FORBID_STYLE, // minimum sanitation level to prevent CSS injections\n FORBID_SVG_MATHML, // adds SVG and MathML exclusion\n USER_INPUT, // adds restrictions on tags and attributes\n RESTRICTED, // adds even more restrictions on tags and attributes\n}\n\nexport const sanitizeFunctionByLevel = (sanitizeLevel: SanitizeLevel) =>\n ({\n [SanitizeLevel.FORBID_STYLE]: sanitizeHTMLToPreventCSSInjection,\n [SanitizeLevel.FORBID_SVG_MATHML]: sanitizeHTMLNoSVGNoMathML,\n [SanitizeLevel.USER_INPUT]: sanitizeHTMLUserInput,\n [SanitizeLevel.RESTRICTED]: sanitizeHTMLRestricted,\n })[sanitizeLevel];\n\nexport const sanitizeHTMLToPreventCSSInjection = (htmlAsString: string) =>\n sanitize(htmlAsString, {\n FORBID_ATTR: ['style'],\n FORBID_TAGS: ['style'],\n });\n\nexport function sanitizeHTMLNoSVGNoMathML(htmlAsString: string) {\n return sanitize(htmlAsString, {\n FORBID_ATTR: ['style'],\n FORBID_TAGS: ['style'],\n USE_PROFILES: { html: true },\n });\n}\n\nexport function sanitizeHTMLUserInput(htmlAsString: string) {\n return sanitize(htmlAsString, {\n ALLOWED_ATTR: ['href', 'rel'],\n ALLOWED_TAGS: [\n 'a',\n 'b',\n 'blockquote',\n 'br',\n 'code',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'i',\n 'li',\n 'ol',\n 'p',\n 'pre',\n 'strong',\n 'ul',\n ],\n });\n}\n\nexport function sanitizeHTMLRestricted(htmlAsString: string) {\n return sanitize(htmlAsString, {\n ALLOWED_ATTR: ['href'],\n ALLOWED_TAGS: ['a', 'b', 'br', 'code', 'i', 'li', 'p', 'strong', 'ul'],\n });\n}\n\n/**\n * Safely injects HTML into an element with no risk of XSS attacks.\n *\n * @param children The React element to clone with the sanitized HTML (defaults to a `span`)\n * @param htmlAsString The HTML string to sanitize and inject (required)\n * @param sanitizeLevel The level of sanitation to apply (defaults to `SanitizeLevel.FORBID_STYLE`)\n *\n * @returns A React element with the sanitized HTML injected, and all other props preserved\n *\n * @example\n * Here's a simple example with no children:\n * ```\n * <SafeHTMLInjection htmlAsString={taintedString} />\n * ```\n *\n * @example\n * Here's an example with a custom `sanitizeLevel` and a child `div`:\n * ```\n * <SafeHTMLInjection htmlAsString={taintedString} sanitizeLevel={SanitizeLevel.RESTRICTED}>\n * // the HTML will be safely injected in the div below, with the className preserved:\n * <div className=\"someClassThatWillBePreserved\" />\n * </SafeHTMLInjection>\n * ```\n */\nexport const SafeHTMLInjection = ({\n children,\n htmlAsString,\n sanitizeLevel = SanitizeLevel.FORBID_STYLE,\n}: Readonly<{\n children?: React.ReactElement;\n htmlAsString: string;\n sanitizeLevel?: SanitizeLevel;\n}>) =>\n React.cloneElement(children ?? <span />, {\n dangerouslySetInnerHTML: { __html: sanitizeFunctionByLevel(sanitizeLevel)(htmlAsString) },\n });\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { BeforeHighlightContext, HighlightResult } from 'highlight.js';\n\nconst BREAK_LINE_REGEXP = /\\n/g;\n\n/**\n * Plugin for HLJS to add issue indicators to the code.\n *\n * In order to add issue indicators (sidebar with indicators to issue count on each line), the input source code must be preprocessed using the addIssuesToLines() method. This method will update the source code to prepend the list of issues key of this line.\n * Then, the `before` hook of the HLJS plugin will extract the issue keys from the source code, store them in memory for later use, and drop the issue keys token from the source code.\n * Finally, the `after` hook will add some HTML markup with a reference to the issue key in the transformed code source. The actual interactive issue indicators will be attached inside this HTML markup later on with a React Portal.\n *\n * Each line is wrapped with a div element that contains the issue indicators and the line content.\n */\nexport class HljsIssueIndicatorPlugin {\n static readonly LINE_WRAPPER_STYLE = [\n 'display: inline-grid',\n 'grid-template-rows: auto',\n 'grid-template-columns: 26px 1fr',\n 'align-items: center',\n ].join(';');\n\n private issueKeys: { [line: string]: string[] };\n static readonly LINE_WRAPPER_OPEN_TAG = `<div style=\"${this.LINE_WRAPPER_STYLE}\">`;\n static readonly LINE_WRAPPER_CLOSE_TAG = `</div>`;\n static readonly EMPTY_INDICATOR_COLUMN = `<div></div>`;\n public lineIssueIndicatorElement(issueKey: string) {\n return `<div id=\"issue-key-${issueKey}\"></div>`;\n }\n\n constructor() {\n this.issueKeys = {};\n }\n\n 'before:highlight'(data: BeforeHighlightContext) {\n data.code = this.extractIssue(data.code);\n }\n\n 'after:highlight'(data: HighlightResult) {\n if (Object.keys(this.issueKeys).length > 0) {\n data.value = this.addIssueIndicator(data.value);\n }\n // reset issueKeys for next CodeSnippet\n this.issueKeys = {};\n }\n\n addIssuesToLines = (sourceLines: string[], issues: { [line: number]: string[] }) => {\n return sourceLines.map((line, lineIndex) => {\n const issuesByLine = issues[lineIndex];\n if (!issues || !issuesByLine) {\n return line;\n }\n\n return `[ISSUE_KEYS:${issuesByLine.join(',')}]${line}`;\n });\n };\n\n private getLines(text: string) {\n if (text.length === 0) {\n return [];\n }\n return text.split(BREAK_LINE_REGEXP);\n }\n\n private extractIssue(inputHtml: string) {\n const lines = this.getLines(inputHtml);\n const issueKeysPattern = /\\[ISSUE_KEYS:([^\\]]+)\\](.+)/;\n const removeIssueKeysPattern = /\\[ISSUE_KEYS:[^\\]]+\\](.+)/;\n\n const wrappedLines = lines.map((line, lineNumber) => {\n const match = issueKeysPattern.exec(line);\n\n if (match) {\n const issueKeys = match[1].split(',');\n if (!this.issueKeys[lineNumber]) {\n this.issueKeys[lineNumber] = issueKeys;\n } else {\n this.issueKeys[lineNumber].push(...issueKeys);\n }\n }\n\n const result = removeIssueKeysPattern.exec(line);\n\n return result ? result[1] : line;\n });\n\n return wrappedLines.join('\\n');\n }\n\n private addIssueIndicator(inputHtml: string) {\n const lines = this.getLines(inputHtml);\n\n const wrappedLines = lines.map((line, lineNumber) => {\n const issueKeys = this.issueKeys[lineNumber];\n\n if (issueKeys) {\n // the react portal looks for the first issue key\n const referenceIssueKey = issueKeys[0];\n return [\n HljsIssueIndicatorPlugin.LINE_WRAPPER_OPEN_TAG,\n this.lineIssueIndicatorElement(referenceIssueKey),\n '<div>',\n line,\n '</div>',\n HljsIssueIndicatorPlugin.LINE_WRAPPER_CLOSE_TAG,\n ].join('');\n }\n\n // Keep the correct structure when at least one line has issues\n return [\n HljsIssueIndicatorPlugin.LINE_WRAPPER_OPEN_TAG,\n HljsIssueIndicatorPlugin.EMPTY_INDICATOR_COLUMN,\n '<div>',\n line,\n '</div>',\n HljsIssueIndicatorPlugin.LINE_WRAPPER_CLOSE_TAG,\n ].join('');\n });\n\n return wrappedLines.join('\\n');\n }\n}\n\nconst hljsIssueIndicatorPlugin = new HljsIssueIndicatorPlugin();\nexport { hljsIssueIndicatorPlugin };\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { HighlightResult } from 'highlight.js';\n\nexport interface UnderlineRangePosition {\n cursorOffset: number;\n line: number;\n}\n\ninterface UnderlineRange {\n end: UnderlineRangePosition;\n start: UnderlineRangePosition;\n}\n\n/**\n * Plugin for HLJS to underline content.\n *\n * In order to underline code, the input source code must be preprocessed using the tokenize() method.\n * Then, the after hook will replace the tokens with the appropriate HTML markup to underline the content.\n */\nexport class HljsUnderlinePlugin {\n static readonly SPAN_REGEX = '<\\\\/?span[^>]*>';\n\n static readonly TOKEN_PREFIX = 'SNR_TGXRJVF'; // Random string to avoid conflicts with real code\n\n static readonly TOKEN_SUFFIX_START = '_START';\n\n static readonly TOKEN_SUFFIX_END = '_END';\n\n static readonly TOKEN_START =\n HljsUnderlinePlugin.TOKEN_PREFIX + HljsUnderlinePlugin.TOKEN_SUFFIX_START;\n\n static readonly TOKEN_END =\n HljsUnderlinePlugin.TOKEN_PREFIX + HljsUnderlinePlugin.TOKEN_SUFFIX_END;\n\n static readonly OPEN_TAG = '<span data-testid=\"hljs-sonar-underline\" class=\"sonar-underline\">';\n\n static readonly CLOSE_TAG = '</span>';\n\n /**\n * Add a pair of tokens to the source code to mark the start and end of the content to be underlined.\n */\n tokenize(source: string[], ranges: UnderlineRange[]): string[] {\n // Order ranges by start position, ascending\n ranges.sort((a, b) => {\n if (a.start.line === b.start.line) {\n return a.start.cursorOffset - b.start.cursorOffset;\n }\n return a.start.line - b.start.line;\n });\n\n // We want to merge overlapping ranges to ensure the underline markup doesn't intesect with itself in the after hook\n const simplifiedRanges: UnderlineRange[] = [];\n let currentRange = ranges[0];\n for (let i = 1; i < ranges.length; i++) {\n const nextRange = ranges[i];\n\n if (\n currentRange.start.line <= nextRange.start.line &&\n currentRange.start.cursorOffset <= nextRange.start.cursorOffset &&\n currentRange.end.line >= nextRange.end.line &&\n currentRange.end.cursorOffset >= nextRange.end.cursorOffset\n ) {\n // Range is contained in the current range. Do nothing\n } else if (\n currentRange.end.line >= nextRange.start.line &&\n currentRange.end.cursorOffset >= nextRange.start.cursorOffset\n ) {\n // Ranges overlap\n currentRange.end = nextRange.end;\n } else {\n simplifiedRanges.push(currentRange);\n currentRange = nextRange;\n }\n }\n simplifiedRanges.push(currentRange);\n\n // Add tokens to the source code, from the end to the start to avoid messing up the indices\n for (let i = simplifiedRanges.length - 1; i >= 0; i--) {\n const range = simplifiedRanges[i];\n\n source[range.end.line] = [\n source[range.end.line].slice(0, range.end.cursorOffset),\n HljsUnderlinePlugin.TOKEN_END,\n source[range.end.line].slice(range.end.cursorOffset),\n ].join('');\n\n // If there are lines between the start and end, we re-tokenize each line\n if (range.end.line !== range.start.line) {\n source[range.end.line] = HljsUnderlinePlugin.TOKEN_START + source[range.end.line];\n for (let j = range.end.line - 1; j > range.start.line; j--) {\n source[j] = [\n HljsUnderlinePlugin.TOKEN_START,\n source[j],\n HljsUnderlinePlugin.TOKEN_END,\n ].join('');\n }\n source[range.start.line] += HljsUnderlinePlugin.TOKEN_END;\n }\n\n source[range.start.line] = [\n source[range.start.line].slice(0, range.start.cursorOffset),\n HljsUnderlinePlugin.TOKEN_START,\n source[range.start.line].slice(range.start.cursorOffset),\n ].join('');\n }\n\n return source;\n }\n\n /**\n * Replace the tokens with the appropriate HTML markup to underline the content.\n * Tokens were added using the tokenize() method.\n */\n 'after:highlight'(result: HighlightResult) {\n const re = new RegExp(HljsUnderlinePlugin.TOKEN_START, 'g');\n re.lastIndex = 0;\n let match = re.exec(result.value);\n while (match) {\n result.value = this.replaceTokens(result.value, match.index);\n match = re.exec(result.value);\n }\n }\n\n /**\n * Whether the content is intersecting with HTML <span> tags added by HLJS or this plugin.\n */\n isIntersectingHtmlMarkup(content: string) {\n const re = new RegExp(HljsUnderlinePlugin.SPAN_REGEX, 'g');\n let depth = 0;\n let intersecting = false;\n let tag = re.exec(content);\n while (tag) {\n if (tag[0].startsWith('</')) {\n depth--;\n } else {\n depth++;\n }\n\n // If at any point we're closing one-too-many tag, we're intersecting\n if (depth < 0) {\n intersecting = true;\n break;\n }\n\n tag = re.exec(content);\n }\n\n // If at the end we're not at 0, we're intersecting\n intersecting = intersecting || depth !== 0;\n\n return intersecting;\n }\n\n /**\n * Replace a pair of tokens and everything between with the appropriate HTML markup to underline the content.\n */\n private replaceTokens(htmlMarkup: string, startTokenIndex: number) {\n const endTagIndex = htmlMarkup.indexOf(HljsUnderlinePlugin.TOKEN_END);\n\n // Just in case the end tag is before the start tag (or the end tag isn't found)\n if (endTagIndex <= startTokenIndex) {\n return htmlMarkup;\n }\n\n let content = htmlMarkup.slice(\n startTokenIndex + HljsUnderlinePlugin.TOKEN_START.length,\n endTagIndex,\n );\n\n // If intersecting, we highlight in a safe way\n // We could always use this method, but this creates visual artifacts in the underline wave\n if (this.isIntersectingHtmlMarkup(content)) {\n content = content.replace(\n new RegExp(HljsUnderlinePlugin.SPAN_REGEX, 'g'),\n (tag) => `${HljsUnderlinePlugin.CLOSE_TAG}${tag}${HljsUnderlinePlugin.OPEN_TAG}`,\n );\n }\n\n // If no intersection, it's safe to add the tags\n const stringRegex = [\n HljsUnderlinePlugin.TOKEN_START,\n '(.+?)',\n HljsUnderlinePlugin.TOKEN_END,\n ].join('');\n htmlMarkup = htmlMarkup.replace(\n new RegExp(stringRegex, 's'),\n `${HljsUnderlinePlugin.OPEN_TAG}${content}${HljsUnderlinePlugin.CLOSE_TAG}`,\n );\n\n return htmlMarkup;\n }\n}\n\nconst hljsUnderlinePlugin = new HljsUnderlinePlugin();\nexport { hljsUnderlinePlugin };\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport tw from 'twin.macro';\nimport { themeBorder, themeColor, themeContrast } from '../../helpers/theme';\nimport { BareButton } from '../../sonar-aligned';\n\nexport const SCMHighlight = styled.h6`\n color: ${themeColor('tooltipHighlight')};\n\n ${tw`sw-typo-semibold`};\n ${tw`sw-text-right`};\n ${tw`sw-min-w-[6rem]`};\n ${tw`sw-mr-4`};\n ${tw`sw-my-1`};\n`;\n\nexport const LineSCMStyledDiv = styled.div`\n outline: none;\n\n ${tw`sw-pr-2`}\n ${tw`sw-truncate`}\n ${tw`sw-whitespace-nowrap`}\n ${tw`sw-cursor-pointer`}\n ${tw`sw-w-full sw-h-full`}\n\n &:hover {\n color: var(--echoes-color-text-bold);\n }\n`;\n\nexport const DuplicationHighlight = styled.h6`\n color: ${themeColor('tooltipHighlight')};\n\n ${tw`sw-mb-2 sw-font-semibold`};\n`;\n\nexport const LineStyled = styled.tr`\n display: grid;\n grid-template-rows: auto;\n grid-template-columns: var(--columns);\n align-items: center;\n\n ${tw`sw-code`}\n`;\nLineStyled.displayName = 'LineStyled';\n\nexport const LineMeta = styled.td`\n color: var(--echoes-color-text-subdued);\n background-color: var(--line-background);\n outline: none;\n\n ${tw`sw-w-full sw-h-full`}\n ${tw`sw-box-border`}\n ${tw`sw-select-none`}\n\n ${LineStyled}:hover & {\n background-color: ${themeColor('codeLineHover')};\n }\n`;\n\nexport const LineCodePreFormatted = styled.pre`\n position: relative;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n tab-size: 4;\n`;\n\nexport const LineCodeLayer = styled.div`\n grid-row: 1;\n grid-column: 1;\n`;\n\nexport const LineCodeLayers = styled.td`\n position: relative;\n display: grid;\n height: 100%;\n background-color: var(--line-background);\n border-left: ${themeBorder('default', 'codeLineBorder')};\n\n ${LineStyled}:hover & {\n background-color: ${themeColor('codeLineHover')};\n }\n`;\n\nexport const NewCodeUnderline = styled(LineCodeLayer)`\n background-color: ${themeColor('codeLineNewCodeUnderline')};\n`;\n\nexport const CoveredUnderline = styled(LineCodeLayer)`\n background-color: ${themeColor('codeLineCoveredUnderline')};\n`;\n\nexport const UncoveredUnderline = styled(LineCodeLayer)`\n background-color: ${themeColor('codeLineUncoveredUnderline')};\n`;\n\nexport const UnderlineLabels = styled.div<{ transparentBackground?: boolean }>`\n ${tw`sw-absolute`}\n ${tw`sw-flex sw-gap-1`}\n ${tw`sw-px-1`}\n ${tw`sw-right-0`}\n\n\n height: 1.125rem;\n margin-top: -1.125rem;\n background-color: ${({ transparentBackground, theme }) =>\n themeColor(transparentBackground ? 'transparent' : 'codeLine')({ theme })};\n`;\n\nexport const UnderlineLabel = styled.span`\n ${tw`sw-rounded-t-1`}\n ${tw`sw-px-1`}\n`;\n\nexport const NewCodeUnderlineLabel = styled(UnderlineLabel)`\n color: ${themeContrast('codeLineNewCodeUnderline')};\n background-color: ${themeColor('codeLineNewCodeUnderline')};\n`;\n\nexport const CoveredUnderlineLabel = styled(UnderlineLabel)`\n color: ${themeContrast('codeLineCoveredUnderline')};\n background-color: ${themeColor('codeLineCoveredUnderline')};\n`;\n\nexport const UncoveredUnderlineLabel = styled(UnderlineLabel)`\n color: ${themeContrast('codeLineUncoveredUnderline')};\n background-color: ${themeColor('codeLineUncoveredUnderline')};\n`;\n\nexport const LineCodeEllipsisStyled = styled(BareButton)`\n ${tw`sw-flex sw-items-center sw-gap-2`}\n ${tw`sw-px-2 sw-py-1`}\n ${tw`sw-code`}\n ${tw`sw-w-full`}\n ${tw`sw-box-border`}\n\n border-top: ${themeBorder('default', 'codeLineBorder')};\n border-bottom: ${themeBorder('default', 'codeLineBorder')};\n\n color: var(--echoes-color-text-subdued);\n background-color: ${themeColor('codeLineEllipsis')};\n\n &:hover {\n background-color: ${themeColor('codeLineEllipsisHover')};\n }\n`;\n","/*\nLanguage: ActionScript\nAuthor: Alexander Myadzel <myadzel@gmail.com>\nCategory: scripting\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction actionscript(hljs) {\n const regex = hljs.regex;\n const IDENT_RE = /[a-zA-Z_$][a-zA-Z0-9_$]*/;\n const PKG_NAME_RE = regex.concat(\n IDENT_RE,\n regex.concat(\"(\\\\.\", IDENT_RE, \")*\")\n );\n const IDENT_FUNC_RETURN_TYPE_RE = /([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)/;\n\n const AS3_REST_ARG_MODE = {\n className: 'rest_arg',\n begin: /[.]{3}/,\n end: IDENT_RE,\n relevance: 10\n };\n\n const KEYWORDS = [\n \"as\",\n \"break\",\n \"case\",\n \"catch\",\n \"class\",\n \"const\",\n \"continue\",\n \"default\",\n \"delete\",\n \"do\",\n \"dynamic\",\n \"each\",\n \"else\",\n \"extends\",\n \"final\",\n \"finally\",\n \"for\",\n \"function\",\n \"get\",\n \"if\",\n \"implements\",\n \"import\",\n \"in\",\n \"include\",\n \"instanceof\",\n \"interface\",\n \"internal\",\n \"is\",\n \"namespace\",\n \"native\",\n \"new\",\n \"override\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"return\",\n \"set\",\n \"static\",\n \"super\",\n \"switch\",\n \"this\",\n \"throw\",\n \"try\",\n \"typeof\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"with\"\n ];\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\"\n ];\n\n return {\n name: 'ActionScript',\n aliases: [ 'as' ],\n keywords: {\n keyword: KEYWORDS,\n literal: LITERALS\n },\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_NUMBER_MODE,\n {\n match: [\n /\\bpackage/,\n /\\s+/,\n PKG_NAME_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n {\n match: [\n /\\b(?:class|interface|extends|implements)/,\n /\\s+/,\n IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n {\n className: 'meta',\n beginKeywords: 'import include',\n end: /;/,\n keywords: { keyword: 'import include' }\n },\n {\n beginKeywords: 'function',\n end: /[{;]/,\n excludeEnd: true,\n illegal: /\\S/,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, { className: \"title.function\" }),\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n AS3_REST_ARG_MODE\n ]\n },\n { begin: regex.concat(/:\\s*/, IDENT_FUNC_RETURN_TYPE_RE) }\n ]\n },\n hljs.METHOD_GUARD\n ],\n illegal: /#/\n };\n}\n\nexport { actionscript as default };\n","/*\nLanguage: Bash\nAuthor: vah <vahtenberg@gmail.com>\nContributrors: Benjamin Pannell <contact@sierrasoftworks.com>\nWebsite: https://www.gnu.org/software/bash/\nCategory: common, scripting\n*/\n\n/** @type LanguageFn */\nfunction bash(hljs) {\n const regex = hljs.regex;\n const VAR = {};\n const BRACED_VAR = {\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [\n \"self\",\n {\n begin: /:-/,\n contains: [ VAR ]\n } // default values\n ]\n };\n Object.assign(VAR, {\n className: 'variable',\n variants: [\n { begin: regex.concat(/\\$[\\w\\d#@][\\w\\d_]*/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![\\\\w\\\\d])(?![$])`) },\n BRACED_VAR\n ]\n });\n\n const SUBST = {\n className: 'subst',\n begin: /\\$\\(/,\n end: /\\)/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n const COMMENT = hljs.inherit(\n hljs.COMMENT(),\n {\n match: [\n /(^|\\s)/,\n /#.*$/\n ],\n scope: {\n 2: 'comment'\n }\n }\n );\n const HERE_DOC = {\n begin: /<<-?\\s*(?=\\w+)/,\n starts: { contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n className: 'string'\n })\n ] }\n };\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VAR,\n SUBST\n ]\n };\n SUBST.contains.push(QUOTE_STRING);\n const ESCAPED_QUOTE = {\n match: /\\\\\"/\n };\n const APOS_STRING = {\n className: 'string',\n begin: /'/,\n end: /'/\n };\n const ESCAPED_APOS = {\n match: /\\\\'/\n };\n const ARITHMETIC = {\n begin: /\\$?\\(\\(/,\n end: /\\)\\)/,\n contains: [\n {\n begin: /\\d+#[0-9a-f]+/,\n className: \"number\"\n },\n hljs.NUMBER_MODE,\n VAR\n ]\n };\n const SH_LIKE_SHELLS = [\n \"fish\",\n \"bash\",\n \"zsh\",\n \"sh\",\n \"csh\",\n \"ksh\",\n \"tcsh\",\n \"dash\",\n \"scsh\",\n ];\n const KNOWN_SHEBANG = hljs.SHEBANG({\n binary: `(${SH_LIKE_SHELLS.join(\"|\")})`,\n relevance: 10\n });\n const FUNCTION = {\n className: 'function',\n begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n returnBegin: true,\n contains: [ hljs.inherit(hljs.TITLE_MODE, { begin: /\\w[\\w\\d_]*/ }) ],\n relevance: 0\n };\n\n const KEYWORDS = [\n \"if\",\n \"then\",\n \"else\",\n \"elif\",\n \"fi\",\n \"for\",\n \"while\",\n \"until\",\n \"in\",\n \"do\",\n \"done\",\n \"case\",\n \"esac\",\n \"function\",\n \"select\"\n ];\n\n const LITERALS = [\n \"true\",\n \"false\"\n ];\n\n // to consume paths to prevent keyword matches inside them\n const PATH_MODE = { match: /(\\/[a-z._-]+)+/ };\n\n // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n const SHELL_BUILT_INS = [\n \"break\",\n \"cd\",\n \"continue\",\n \"eval\",\n \"exec\",\n \"exit\",\n \"export\",\n \"getopts\",\n \"hash\",\n \"pwd\",\n \"readonly\",\n \"return\",\n \"shift\",\n \"test\",\n \"times\",\n \"trap\",\n \"umask\",\n \"unset\"\n ];\n\n const BASH_BUILT_INS = [\n \"alias\",\n \"bind\",\n \"builtin\",\n \"caller\",\n \"command\",\n \"declare\",\n \"echo\",\n \"enable\",\n \"help\",\n \"let\",\n \"local\",\n \"logout\",\n \"mapfile\",\n \"printf\",\n \"read\",\n \"readarray\",\n \"source\",\n \"sudo\",\n \"type\",\n \"typeset\",\n \"ulimit\",\n \"unalias\"\n ];\n\n const ZSH_BUILT_INS = [\n \"autoload\",\n \"bg\",\n \"bindkey\",\n \"bye\",\n \"cap\",\n \"chdir\",\n \"clone\",\n \"comparguments\",\n \"compcall\",\n \"compctl\",\n \"compdescribe\",\n \"compfiles\",\n \"compgroups\",\n \"compquote\",\n \"comptags\",\n \"comptry\",\n \"compvalues\",\n \"dirs\",\n \"disable\",\n \"disown\",\n \"echotc\",\n \"echoti\",\n \"emulate\",\n \"fc\",\n \"fg\",\n \"float\",\n \"functions\",\n \"getcap\",\n \"getln\",\n \"history\",\n \"integer\",\n \"jobs\",\n \"kill\",\n \"limit\",\n \"log\",\n \"noglob\",\n \"popd\",\n \"print\",\n \"pushd\",\n \"pushln\",\n \"rehash\",\n \"sched\",\n \"setcap\",\n \"setopt\",\n \"stat\",\n \"suspend\",\n \"ttyctl\",\n \"unfunction\",\n \"unhash\",\n \"unlimit\",\n \"unsetopt\",\n \"vared\",\n \"wait\",\n \"whence\",\n \"where\",\n \"which\",\n \"zcompile\",\n \"zformat\",\n \"zftp\",\n \"zle\",\n \"zmodload\",\n \"zparseopts\",\n \"zprof\",\n \"zpty\",\n \"zregexparse\",\n \"zsocket\",\n \"zstyle\",\n \"ztcp\"\n ];\n\n const GNU_CORE_UTILS = [\n \"chcon\",\n \"chgrp\",\n \"chown\",\n \"chmod\",\n \"cp\",\n \"dd\",\n \"df\",\n \"dir\",\n \"dircolors\",\n \"ln\",\n \"ls\",\n \"mkdir\",\n \"mkfifo\",\n \"mknod\",\n \"mktemp\",\n \"mv\",\n \"realpath\",\n \"rm\",\n \"rmdir\",\n \"shred\",\n \"sync\",\n \"touch\",\n \"truncate\",\n \"vdir\",\n \"b2sum\",\n \"base32\",\n \"base64\",\n \"cat\",\n \"cksum\",\n \"comm\",\n \"csplit\",\n \"cut\",\n \"expand\",\n \"fmt\",\n \"fold\",\n \"head\",\n \"join\",\n \"md5sum\",\n \"nl\",\n \"numfmt\",\n \"od\",\n \"paste\",\n \"ptx\",\n \"pr\",\n \"sha1sum\",\n \"sha224sum\",\n \"sha256sum\",\n \"sha384sum\",\n \"sha512sum\",\n \"shuf\",\n \"sort\",\n \"split\",\n \"sum\",\n \"tac\",\n \"tail\",\n \"tr\",\n \"tsort\",\n \"unexpand\",\n \"uniq\",\n \"wc\",\n \"arch\",\n \"basename\",\n \"chroot\",\n \"date\",\n \"dirname\",\n \"du\",\n \"echo\",\n \"env\",\n \"expr\",\n \"factor\",\n // \"false\", // keyword literal already\n \"groups\",\n \"hostid\",\n \"id\",\n \"link\",\n \"logname\",\n \"nice\",\n \"nohup\",\n \"nproc\",\n \"pathchk\",\n \"pinky\",\n \"printenv\",\n \"printf\",\n \"pwd\",\n \"readlink\",\n \"runcon\",\n \"seq\",\n \"sleep\",\n \"stat\",\n \"stdbuf\",\n \"stty\",\n \"tee\",\n \"test\",\n \"timeout\",\n // \"true\", // keyword literal already\n \"tty\",\n \"uname\",\n \"unlink\",\n \"uptime\",\n \"users\",\n \"who\",\n \"whoami\",\n \"yes\"\n ];\n\n return {\n name: 'Bash',\n aliases: [\n 'sh',\n 'zsh'\n ],\n keywords: {\n $pattern: /\\b[a-z][a-z0-9._-]+\\b/,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: [\n ...SHELL_BUILT_INS,\n ...BASH_BUILT_INS,\n // Shell modifiers\n \"set\",\n \"shopt\",\n ...ZSH_BUILT_INS,\n ...GNU_CORE_UTILS\n ]\n },\n contains: [\n KNOWN_SHEBANG, // to catch known shells and boost relevancy\n hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang\n FUNCTION,\n ARITHMETIC,\n COMMENT,\n HERE_DOC,\n PATH_MODE,\n QUOTE_STRING,\n ESCAPED_QUOTE,\n APOS_STRING,\n ESCAPED_APOS,\n VAR\n ]\n };\n}\n\nexport { bash as default };\n","/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n\n const TYPES = {\n className: 'type',\n variants: [\n { begin: '\\\\b[a-z\\\\d_]*_t\\\\b' },\n { match: /\\batomic_[a-z]{3,6}\\b/ }\n ]\n\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { begin: '\\\\b(0b[01\\']+)' },\n { begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)' },\n { begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)' }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef elifdef elifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const C_KEYWORDS = [\n \"asm\",\n \"auto\",\n \"break\",\n \"case\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"enum\",\n \"extern\",\n \"for\",\n \"fortran\",\n \"goto\",\n \"if\",\n \"inline\",\n \"register\",\n \"restrict\",\n \"return\",\n \"sizeof\",\n \"typeof\",\n \"typeof_unqual\",\n \"struct\",\n \"switch\",\n \"typedef\",\n \"union\",\n \"volatile\",\n \"while\",\n \"_Alignas\",\n \"_Alignof\",\n \"_Atomic\",\n \"_Generic\",\n \"_Noreturn\",\n \"_Static_assert\",\n \"_Thread_local\",\n // aliases\n \"alignas\",\n \"alignof\",\n \"noreturn\",\n \"static_assert\",\n \"thread_local\",\n // not a C keyword but is, for all intents and purposes, treated exactly like one.\n \"_Pragma\"\n ];\n\n const C_TYPES = [\n \"float\",\n \"double\",\n \"signed\",\n \"unsigned\",\n \"int\",\n \"short\",\n \"long\",\n \"char\",\n \"void\",\n \"_Bool\",\n \"_BitInt\",\n \"_Complex\",\n \"_Imaginary\",\n \"_Decimal32\",\n \"_Decimal64\",\n \"_Decimal96\",\n \"_Decimal128\",\n \"_Decimal64x\",\n \"_Decimal128x\",\n \"_Float16\",\n \"_Float32\",\n \"_Float64\",\n \"_Float128\",\n \"_Float32x\",\n \"_Float64x\",\n \"_Float128x\",\n // modifiers\n \"const\",\n \"static\",\n \"constexpr\",\n // aliases\n \"complex\",\n \"bool\",\n \"imaginary\"\n ];\n\n const KEYWORDS = {\n keyword: C_KEYWORDS,\n type: C_TYPES,\n literal: 'true false NULL',\n // TODO: apply hinting work similar to what was done in cpp.js\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream '\n + 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set '\n + 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos '\n + 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp '\n + 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper '\n + 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow '\n + 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp '\n + 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan '\n + 'vfprintf vprintf vsprintf endl initializer_list unique_ptr',\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ hljs.inherit(TITLE_MODE, { className: \"title.function\" }) ],\n relevance: 0\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES\n ]\n }\n ]\n },\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [ 'h' ],\n keywords: KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '</',\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n {\n begin: hljs.IDENT_RE + '::',\n keywords: KEYWORDS\n },\n {\n className: 'class',\n beginKeywords: 'enum class struct union',\n end: /[{;:<>=]/,\n contains: [\n { beginKeywords: \"final class struct\" },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: KEYWORDS\n }\n };\n}\n\nexport { c as default };\n","/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cpp(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(?!struct)('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n const CPP_PRIMITIVE_TYPES = {\n className: 'type',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + '|.)',\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n // Floating-point literal.\n { begin:\n \"[+-]?(?:\" // Leading sign.\n // Decimal.\n + \"(?:\"\n +\"[0-9](?:'?[0-9])*\\\\.(?:[0-9](?:'?[0-9])*)?\"\n + \"|\\\\.[0-9](?:'?[0-9])*\"\n + \")(?:[Ee][+-]?[0-9](?:'?[0-9])*)?\"\n + \"|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*\"\n // Hexadecimal.\n + \"|0[Xx](?:\"\n +\"[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?\"\n + \"|\\\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*\"\n + \")[Pp][+-]?[0-9](?:'?[0-9])*\"\n + \")(?:\" // Literal suffixes.\n + \"[Ff](?:16|32|64|128)?\"\n + \"|(BF|bf)16\"\n + \"|[Ll]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n },\n // Integer literal.\n { begin:\n \"[+-]?\\\\b(?:\" // Leading sign.\n + \"0[Bb][01](?:'?[01])*\" // Binary.\n + \"|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*\" // Hexadecimal.\n + \"|0(?:'?[0-7])*\" // Octal or just a lone zero.\n + \"|[1-9](?:'?[0-9])*\" // Decimal.\n + \")(?:\" // Literal suffixes.\n + \"[Uu](?:LL?|ll?)\"\n + \"|[Uu][Zz]?\"\n + \"|(?:LL?|ll?)[Uu]?\"\n + \"|[Zz][Uu]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n // Note: there are user-defined literal suffixes too, but perhaps having the custom suffix not part of the\n // literal highlight actually makes it stand out more.\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_KEYWORDS = [\n 'alignas',\n 'alignof',\n 'and',\n 'and_eq',\n 'asm',\n 'atomic_cancel',\n 'atomic_commit',\n 'atomic_noexcept',\n 'auto',\n 'bitand',\n 'bitor',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'co_await',\n 'co_return',\n 'co_yield',\n 'compl',\n 'concept',\n 'const_cast|10',\n 'consteval',\n 'constexpr',\n 'constinit',\n 'continue',\n 'decltype',\n 'default',\n 'delete',\n 'do',\n 'dynamic_cast|10',\n 'else',\n 'enum',\n 'explicit',\n 'export',\n 'extern',\n 'false',\n 'final',\n 'for',\n 'friend',\n 'goto',\n 'if',\n 'import',\n 'inline',\n 'module',\n 'mutable',\n 'namespace',\n 'new',\n 'noexcept',\n 'not',\n 'not_eq',\n 'nullptr',\n 'operator',\n 'or',\n 'or_eq',\n 'override',\n 'private',\n 'protected',\n 'public',\n 'reflexpr',\n 'register',\n 'reinterpret_cast|10',\n 'requires',\n 'return',\n 'sizeof',\n 'static_assert',\n 'static_cast|10',\n 'struct',\n 'switch',\n 'synchronized',\n 'template',\n 'this',\n 'thread_local',\n 'throw',\n 'transaction_safe',\n 'transaction_safe_dynamic',\n 'true',\n 'try',\n 'typedef',\n 'typeid',\n 'typename',\n 'union',\n 'using',\n 'virtual',\n 'volatile',\n 'while',\n 'xor',\n 'xor_eq'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_TYPES = [\n 'bool',\n 'char',\n 'char16_t',\n 'char32_t',\n 'char8_t',\n 'double',\n 'float',\n 'int',\n 'long',\n 'short',\n 'void',\n 'wchar_t',\n 'unsigned',\n 'signed',\n 'const',\n 'static'\n ];\n\n const TYPE_HINTS = [\n 'any',\n 'auto_ptr',\n 'barrier',\n 'binary_semaphore',\n 'bitset',\n 'complex',\n 'condition_variable',\n 'condition_variable_any',\n 'counting_semaphore',\n 'deque',\n 'false_type',\n 'future',\n 'imaginary',\n 'initializer_list',\n 'istringstream',\n 'jthread',\n 'latch',\n 'lock_guard',\n 'multimap',\n 'multiset',\n 'mutex',\n 'optional',\n 'ostringstream',\n 'packaged_task',\n 'pair',\n 'promise',\n 'priority_queue',\n 'queue',\n 'recursive_mutex',\n 'recursive_timed_mutex',\n 'scoped_lock',\n 'set',\n 'shared_future',\n 'shared_lock',\n 'shared_mutex',\n 'shared_timed_mutex',\n 'shared_ptr',\n 'stack',\n 'string_view',\n 'stringstream',\n 'timed_mutex',\n 'thread',\n 'true_type',\n 'tuple',\n 'unique_lock',\n 'unique_ptr',\n 'unordered_map',\n 'unordered_multimap',\n 'unordered_multiset',\n 'unordered_set',\n 'variant',\n 'vector',\n 'weak_ptr',\n 'wstring',\n 'wstring_view'\n ];\n\n const FUNCTION_HINTS = [\n 'abort',\n 'abs',\n 'acos',\n 'apply',\n 'as_const',\n 'asin',\n 'atan',\n 'atan2',\n 'calloc',\n 'ceil',\n 'cerr',\n 'cin',\n 'clog',\n 'cos',\n 'cosh',\n 'cout',\n 'declval',\n 'endl',\n 'exchange',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'forward',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'fscanf',\n 'future',\n 'invoke',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'labs',\n 'launder',\n 'ldexp',\n 'log',\n 'log10',\n 'make_pair',\n 'make_shared',\n 'make_shared_for_overwrite',\n 'make_tuple',\n 'make_unique',\n 'malloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'move',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'realloc',\n 'scanf',\n 'sin',\n 'sinh',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'std',\n 'stderr',\n 'stdin',\n 'stdout',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'swap',\n 'tan',\n 'tanh',\n 'terminate',\n 'to_underlying',\n 'tolower',\n 'toupper',\n 'vfprintf',\n 'visit',\n 'vprintf',\n 'vsprintf'\n ];\n\n const LITERALS = [\n 'NULL',\n 'false',\n 'nullopt',\n 'nullptr',\n 'true'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const BUILT_IN = [ '_Pragma' ];\n\n const CPP_KEYWORDS = {\n type: RESERVED_TYPES,\n keyword: RESERVED_KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_IN,\n _type_hints: TYPE_HINTS\n };\n\n const FUNCTION_DISPATCH = {\n className: 'function.dispatch',\n relevance: 0,\n keywords: {\n // Only for relevance, not highlighting.\n _hint: FUNCTION_HINTS },\n begin: regex.concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!switch)/,\n /(?!while)/,\n hljs.IDENT_RE,\n regex.lookahead(/(<[^<>]+>|)\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: '</',\n classNameAliases: { 'function.dispatch': 'built_in' },\n contains: [].concat(\n EXPRESSION_CONTEXT,\n FUNCTION_DECLARATION,\n FUNCTION_DISPATCH,\n EXPRESSION_CONTAINS,\n [\n PREPROCESSOR,\n { // containers: ie, `vector <int> rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\\\s*<(?!<)',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n match: [\n // extra complexity to deal with `enum class` and `enum struct`\n /\\b(?:enum(?:\\s+(?:class|struct))?|class|struct|union)/,\n /\\s+/,\n /\\w+/\n ],\n className: {\n 1: 'keyword',\n 3: 'title.class'\n }\n }\n ])\n };\n}\n\nexport { cpp as default };\n","/*\nLanguage: C#\nAuthor: Jason Diamond <jason@diamond.name>\nContributor: Nicolas LLOBERA <nllobera@gmail.com>, Pieter Vantorre <pietervantorre@gmail.com>, David Pine <david.pine@microsoft.com>\nWebsite: https://docs.microsoft.com/dotnet/csharp/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction csharp(hljs) {\n const BUILT_IN_KEYWORDS = [\n 'bool',\n 'byte',\n 'char',\n 'decimal',\n 'delegate',\n 'double',\n 'dynamic',\n 'enum',\n 'float',\n 'int',\n 'long',\n 'nint',\n 'nuint',\n 'object',\n 'sbyte',\n 'short',\n 'string',\n 'ulong',\n 'uint',\n 'ushort'\n ];\n const FUNCTION_MODIFIERS = [\n 'public',\n 'private',\n 'protected',\n 'static',\n 'internal',\n 'protected',\n 'abstract',\n 'async',\n 'extern',\n 'override',\n 'unsafe',\n 'virtual',\n 'new',\n 'sealed',\n 'partial'\n ];\n const LITERAL_KEYWORDS = [\n 'default',\n 'false',\n 'null',\n 'true'\n ];\n const NORMAL_KEYWORDS = [\n 'abstract',\n 'as',\n 'base',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'const',\n 'continue',\n 'do',\n 'else',\n 'event',\n 'explicit',\n 'extern',\n 'finally',\n 'fixed',\n 'for',\n 'foreach',\n 'goto',\n 'if',\n 'implicit',\n 'in',\n 'interface',\n 'internal',\n 'is',\n 'lock',\n 'namespace',\n 'new',\n 'operator',\n 'out',\n 'override',\n 'params',\n 'private',\n 'protected',\n 'public',\n 'readonly',\n 'record',\n 'ref',\n 'return',\n 'scoped',\n 'sealed',\n 'sizeof',\n 'stackalloc',\n 'static',\n 'struct',\n 'switch',\n 'this',\n 'throw',\n 'try',\n 'typeof',\n 'unchecked',\n 'unsafe',\n 'using',\n 'virtual',\n 'void',\n 'volatile',\n 'while'\n ];\n const CONTEXTUAL_KEYWORDS = [\n 'add',\n 'alias',\n 'and',\n 'ascending',\n 'async',\n 'await',\n 'by',\n 'descending',\n 'equals',\n 'from',\n 'get',\n 'global',\n 'group',\n 'init',\n 'into',\n 'join',\n 'let',\n 'nameof',\n 'not',\n 'notnull',\n 'on',\n 'or',\n 'orderby',\n 'partial',\n 'remove',\n 'select',\n 'set',\n 'unmanaged',\n 'value|0',\n 'var',\n 'when',\n 'where',\n 'with',\n 'yield'\n ];\n\n const KEYWORDS = {\n keyword: NORMAL_KEYWORDS.concat(CONTEXTUAL_KEYWORDS),\n built_in: BUILT_IN_KEYWORDS,\n literal: LITERAL_KEYWORDS\n };\n const TITLE_MODE = hljs.inherit(hljs.TITLE_MODE, { begin: '[a-zA-Z](\\\\.?\\\\w)*' });\n const NUMBERS = {\n className: 'number',\n variants: [\n { begin: '\\\\b(0b[01\\']+)' },\n { begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)(u|U|l|L|ul|UL|f|F|b|B)' },\n { begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)' }\n ],\n relevance: 0\n };\n const RAW_STRING = {\n className: 'string',\n begin: /\"\"\"(\"*)(?!\")(.|\\n)*?\"\"\"\\1/,\n relevance: 1\n };\n const VERBATIM_STRING = {\n className: 'string',\n begin: '@\"',\n end: '\"',\n contains: [ { begin: '\"\"' } ]\n };\n const VERBATIM_STRING_NO_LF = hljs.inherit(VERBATIM_STRING, { illegal: /\\n/ });\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS\n };\n const SUBST_NO_LF = hljs.inherit(SUBST, { illegal: /\\n/ });\n const INTERPOLATED_STRING = {\n className: 'string',\n begin: /\\$\"/,\n end: '\"',\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n hljs.BACKSLASH_ESCAPE,\n SUBST_NO_LF\n ]\n };\n const INTERPOLATED_VERBATIM_STRING = {\n className: 'string',\n begin: /\\$@\"/,\n end: '\"',\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST\n ]\n };\n const INTERPOLATED_VERBATIM_STRING_NO_LF = hljs.inherit(INTERPOLATED_VERBATIM_STRING, {\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST_NO_LF\n ]\n });\n SUBST.contains = [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ];\n SUBST_NO_LF.contains = [\n INTERPOLATED_VERBATIM_STRING_NO_LF,\n INTERPOLATED_STRING,\n VERBATIM_STRING_NO_LF,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.inherit(hljs.C_BLOCK_COMMENT_MODE, { illegal: /\\n/ })\n ];\n const STRING = { variants: [\n RAW_STRING,\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ] };\n\n const GENERIC_MODIFIER = {\n begin: \"<\",\n end: \">\",\n contains: [\n { beginKeywords: \"in out\" },\n TITLE_MODE\n ]\n };\n const TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\\\s*,\\\\s*' + hljs.IDENT_RE + ')*>)?(\\\\[\\\\])?';\n const AT_IDENTIFIER = {\n // prevents expressions like `@class` from incorrect flagging\n // `class` as a keyword\n begin: \"@\" + hljs.IDENT_RE,\n relevance: 0\n };\n\n return {\n name: 'C#',\n aliases: [\n 'cs',\n 'c#'\n ],\n keywords: KEYWORDS,\n illegal: /::/,\n contains: [\n hljs.COMMENT(\n '///',\n '$',\n {\n returnBegin: true,\n contains: [\n {\n className: 'doctag',\n variants: [\n {\n begin: '///',\n relevance: 0\n },\n { begin: '<!--|-->' },\n {\n begin: '</?',\n end: '>'\n }\n ]\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: { keyword: 'if else elif endif define undef warning error line region endregion pragma checksum' }\n },\n STRING,\n NUMBERS,\n {\n beginKeywords: 'class interface',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:,]/,\n contains: [\n { beginKeywords: \"where class\" },\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'record',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // [Attributes(\"\")]\n className: 'meta',\n begin: '^\\\\s*\\\\[(?=[\\\\w])',\n excludeBegin: true,\n end: '\\\\]',\n excludeEnd: true,\n contains: [\n {\n className: 'string',\n begin: /\"/,\n end: /\"/\n }\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new return throw await else',\n relevance: 0\n },\n {\n className: 'function',\n begin: '(' + TYPE_IDENT_RE + '\\\\s+)+' + hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n end: /\\s*[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n // prevents these from being highlighted `title`\n {\n beginKeywords: FUNCTION_MODIFIERS.join(\" \"),\n relevance: 0\n },\n {\n begin: hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n contains: [\n hljs.TITLE_MODE,\n GENERIC_MODIFIER\n ],\n relevance: 0\n },\n { match: /\\(\\)/ },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n STRING,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n AT_IDENTIFIER\n ]\n };\n}\n\nexport { csharp as default };\n","const MODES = (hljs) => {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'animation',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-timing-function',\n 'appearance',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-decoration-break',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'cx',\n 'cy',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flow',\n 'flood-color',\n 'flood-opacity',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-size',\n 'font-size-adjust',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-variant',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'inline-size',\n 'inset',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'kerning',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'mask',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'pointer-events',\n 'position',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'scale',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'tab-size',\n 'table-layout',\n 'text-anchor',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'top',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'vector-effect',\n 'vertical-align',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index'\n].sort().reverse();\n\n/*\nLanguage: CSS\nCategory: common, css, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/CSS\n*/\n\n\n/** @type LanguageFn */\nfunction css(hljs) {\n const regex = hljs.regex;\n const modes = MODES(hljs);\n const VENDOR_PREFIX = { begin: /-(webkit|moz|ms|o)-(?=[a-z])/ };\n const AT_MODIFIERS = \"and or not only\";\n const AT_PROPERTY_RE = /@-?\\w[\\w]*(-\\w+)*/; // @-webkit-keyframes\n const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n const STRINGS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ];\n\n return {\n name: 'CSS',\n case_insensitive: true,\n illegal: /[=|'\\$]/,\n keywords: { keyframePosition: \"from to\" },\n classNameAliases: {\n // for visual continuity with `tag {}` and because we\n // don't have a great class for this?\n keyframePosition: \"selector-tag\" },\n contains: [\n modes.BLOCK_COMMENT,\n VENDOR_PREFIX,\n // to recognize keyframe 40% etc which are outside the scope of our\n // attribute value mode\n modes.CSS_NUMBER_MODE,\n {\n className: 'selector-id',\n begin: /#[A-Za-z0-9_-]+/,\n relevance: 0\n },\n {\n className: 'selector-class',\n begin: '\\\\.' + IDENT_RE,\n relevance: 0\n },\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n variants: [\n { begin: ':(' + PSEUDO_CLASSES.join('|') + ')' },\n { begin: ':(:)?(' + PSEUDO_ELEMENTS.join('|') + ')' }\n ]\n },\n // we may actually need this (12/2020)\n // { // pseudo-selector params\n // begin: /\\(/,\n // end: /\\)/,\n // contains: [ hljs.CSS_NUMBER_MODE ]\n // },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n },\n // attribute values\n {\n begin: /:/,\n end: /[;}{]/,\n contains: [\n modes.BLOCK_COMMENT,\n modes.HEXCOLOR,\n modes.IMPORTANT,\n modes.CSS_NUMBER_MODE,\n ...STRINGS,\n // needed to highlight these as strings and to avoid issues with\n // illegal characters that might be inside urls that would tigger the\n // languages illegal stack\n {\n begin: /(url|data-uri)\\(/,\n end: /\\)/,\n relevance: 0, // from keywords\n keywords: { built_in: \"url data-uri\" },\n contains: [\n ...STRINGS,\n {\n className: \"string\",\n // any character other than `)` as in `url()` will be the start\n // of a string, which ends with `)` (from the parent mode)\n begin: /[^)]/,\n endsWithParent: true,\n excludeEnd: true\n }\n ]\n },\n modes.FUNCTION_DISPATCH\n ]\n },\n {\n begin: regex.lookahead(/@/),\n end: '[{;]',\n relevance: 0,\n illegal: /:/, // break on Less variables @var: ...\n contains: [\n {\n className: 'keyword',\n begin: AT_PROPERTY_RE\n },\n {\n begin: /\\s/,\n endsWithParent: true,\n excludeEnd: true,\n relevance: 0,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [\n {\n begin: /[a-z-]+(?=:)/,\n className: \"attribute\"\n },\n ...STRINGS,\n modes.CSS_NUMBER_MODE\n ]\n }\n ]\n },\n {\n className: 'selector-tag',\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b'\n }\n ]\n };\n}\n\nexport { css as default };\n","/*\nLanguage: Dart\nRequires: markdown.js\nAuthor: Maxim Dikun <dikmax@gmail.com>\nDescription: Dart a modern, object-oriented language developed by Google. For more information see https://www.dartlang.org/\nWebsite: https://dart.dev\nCategory: scripting\n*/\n\n/** @type LanguageFn */\nfunction dart(hljs) {\n const SUBST = {\n className: 'subst',\n variants: [ { begin: '\\\\$[A-Za-z0-9_]+' } ]\n };\n\n const BRACED_SUBST = {\n className: 'subst',\n variants: [\n {\n begin: /\\$\\{/,\n end: /\\}/\n }\n ],\n keywords: 'true false null this is new super'\n };\n\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: 'r\\'\\'\\'',\n end: '\\'\\'\\''\n },\n {\n begin: 'r\"\"\"',\n end: '\"\"\"'\n },\n {\n begin: 'r\\'',\n end: '\\'',\n illegal: '\\\\n'\n },\n {\n begin: 'r\"',\n end: '\"',\n illegal: '\\\\n'\n },\n {\n begin: '\\'\\'\\'',\n end: '\\'\\'\\'',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n BRACED_SUBST\n ]\n },\n {\n begin: '\"\"\"',\n end: '\"\"\"',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n BRACED_SUBST\n ]\n },\n {\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n BRACED_SUBST\n ]\n },\n {\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n BRACED_SUBST\n ]\n }\n ]\n };\n BRACED_SUBST.contains = [\n hljs.C_NUMBER_MODE,\n STRING\n ];\n\n const BUILT_IN_TYPES = [\n // dart:core\n 'Comparable',\n 'DateTime',\n 'Duration',\n 'Function',\n 'Iterable',\n 'Iterator',\n 'List',\n 'Map',\n 'Match',\n 'Object',\n 'Pattern',\n 'RegExp',\n 'Set',\n 'Stopwatch',\n 'String',\n 'StringBuffer',\n 'StringSink',\n 'Symbol',\n 'Type',\n 'Uri',\n 'bool',\n 'double',\n 'int',\n 'num',\n // dart:html\n 'Element',\n 'ElementList'\n ];\n const NULLABLE_BUILT_IN_TYPES = BUILT_IN_TYPES.map((e) => `${e}?`);\n\n const BASIC_KEYWORDS = [\n \"abstract\",\n \"as\",\n \"assert\",\n \"async\",\n \"await\",\n \"base\",\n \"break\",\n \"case\",\n \"catch\",\n \"class\",\n \"const\",\n \"continue\",\n \"covariant\",\n \"default\",\n \"deferred\",\n \"do\",\n \"dynamic\",\n \"else\",\n \"enum\",\n \"export\",\n \"extends\",\n \"extension\",\n \"external\",\n \"factory\",\n \"false\",\n \"final\",\n \"finally\",\n \"for\",\n \"Function\",\n \"get\",\n \"hide\",\n \"if\",\n \"implements\",\n \"import\",\n \"in\",\n \"interface\",\n \"is\",\n \"late\",\n \"library\",\n \"mixin\",\n \"new\",\n \"null\",\n \"on\",\n \"operator\",\n \"part\",\n \"required\",\n \"rethrow\",\n \"return\",\n \"sealed\",\n \"set\",\n \"show\",\n \"static\",\n \"super\",\n \"switch\",\n \"sync\",\n \"this\",\n \"throw\",\n \"true\",\n \"try\",\n \"typedef\",\n \"var\",\n \"void\",\n \"when\",\n \"while\",\n \"with\",\n \"yield\"\n ];\n\n const KEYWORDS = {\n keyword: BASIC_KEYWORDS,\n built_in:\n BUILT_IN_TYPES\n .concat(NULLABLE_BUILT_IN_TYPES)\n .concat([\n // dart:core\n 'Never',\n 'Null',\n 'dynamic',\n 'print',\n // dart:html\n 'document',\n 'querySelector',\n 'querySelectorAll',\n 'window'\n ]),\n $pattern: /[A-Za-z][A-Za-z0-9_]*\\??/\n };\n\n return {\n name: 'Dart',\n keywords: KEYWORDS,\n contains: [\n STRING,\n hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n /\\*\\//,\n {\n subLanguage: 'markdown',\n relevance: 0\n }\n ),\n hljs.COMMENT(\n /\\/{3,} ?/,\n /$/, { contains: [\n {\n subLanguage: 'markdown',\n begin: '.',\n end: '$',\n relevance: 0\n }\n ] }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'class',\n beginKeywords: 'class interface',\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n hljs.C_NUMBER_MODE,\n {\n className: 'meta',\n begin: '@[A-Za-z]+'\n },\n { begin: '=>' // No markup, just a relevance booster\n }\n ]\n };\n}\n\nexport { dart as default };\n","/*\nLanguage: Dockerfile\nRequires: bash.js\nAuthor: Alexis Hénaut <alexis@henaut.net>\nDescription: language definition for Dockerfile files\nWebsite: https://docs.docker.com/engine/reference/builder/\nCategory: config\n*/\n\n/** @type LanguageFn */\nfunction dockerfile(hljs) {\n const KEYWORDS = [\n \"from\",\n \"maintainer\",\n \"expose\",\n \"env\",\n \"arg\",\n \"user\",\n \"onbuild\",\n \"stopsignal\"\n ];\n return {\n name: 'Dockerfile',\n aliases: [ 'docker' ],\n case_insensitive: true,\n keywords: KEYWORDS,\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE,\n {\n beginKeywords: 'run cmd entrypoint volume add copy workdir label healthcheck shell',\n starts: {\n end: /[^\\\\]$/,\n subLanguage: 'bash'\n }\n }\n ],\n illegal: '</'\n };\n}\n\nexport { dockerfile as default };\n","/*\nLanguage: Go\nAuthor: Stephan Kountso aka StepLg <steplg@gmail.com>\nContributors: Evgeny Stepanischev <imbolk@gmail.com>\nDescription: Google go language (golang). For info about language\nWebsite: http://golang.org/\nCategory: common, system\n*/\n\nfunction go(hljs) {\n const LITERALS = [\n \"true\",\n \"false\",\n \"iota\",\n \"nil\"\n ];\n const BUILT_INS = [\n \"append\",\n \"cap\",\n \"close\",\n \"complex\",\n \"copy\",\n \"imag\",\n \"len\",\n \"make\",\n \"new\",\n \"panic\",\n \"print\",\n \"println\",\n \"real\",\n \"recover\",\n \"delete\"\n ];\n const TYPES = [\n \"bool\",\n \"byte\",\n \"complex64\",\n \"complex128\",\n \"error\",\n \"float32\",\n \"float64\",\n \"int8\",\n \"int16\",\n \"int32\",\n \"int64\",\n \"string\",\n \"uint8\",\n \"uint16\",\n \"uint32\",\n \"uint64\",\n \"int\",\n \"uint\",\n \"uintptr\",\n \"rune\"\n ];\n const KWS = [\n \"break\",\n \"case\",\n \"chan\",\n \"const\",\n \"continue\",\n \"default\",\n \"defer\",\n \"else\",\n \"fallthrough\",\n \"for\",\n \"func\",\n \"go\",\n \"goto\",\n \"if\",\n \"import\",\n \"interface\",\n \"map\",\n \"package\",\n \"range\",\n \"return\",\n \"select\",\n \"struct\",\n \"switch\",\n \"type\",\n \"var\",\n ];\n const KEYWORDS = {\n keyword: KWS,\n type: TYPES,\n literal: LITERALS,\n built_in: BUILT_INS\n };\n return {\n name: 'Go',\n aliases: [ 'golang' ],\n keywords: KEYWORDS,\n illegal: '</',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'string',\n variants: [\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n {\n begin: '`',\n end: '`'\n }\n ]\n },\n {\n className: 'number',\n variants: [\n {\n match: /-?\\b0[xX]\\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\\d(_?\\d)*i?/, // hex without a present digit before . (making a digit afterwards required)\n relevance: 0\n },\n {\n match: /-?\\b0[xX](_?[a-fA-F0-9])+((\\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\\d(_?\\d)*)?i?/, // hex with a present digit before . (making a digit afterwards optional)\n relevance: 0\n },\n {\n match: /-?\\b0[oO](_?[0-7])*i?/, // leading 0o octal\n relevance: 0\n },\n {\n match: /-?\\.\\d(_?\\d)*([eE][+-]?\\d(_?\\d)*)?i?/, // decimal without a present digit before . (making a digit afterwards required)\n relevance: 0\n },\n {\n match: /-?\\b\\d(_?\\d)*(\\.(\\d(_?\\d)*)?)?([eE][+-]?\\d(_?\\d)*)?i?/, // decimal with a present digit before . (making a digit afterwards optional)\n relevance: 0\n }\n ]\n },\n { begin: /:=/ // relevance booster\n },\n {\n className: 'function',\n beginKeywords: 'func',\n end: '\\\\s*(\\\\{|$)',\n excludeEnd: true,\n contains: [\n hljs.TITLE_MODE,\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n endsParent: true,\n keywords: KEYWORDS,\n illegal: /[\"']/\n }\n ]\n }\n ]\n };\n}\n\nexport { go as default };\n","/*\nLanguage: Gradle\nDescription: Gradle is an open-source build automation tool focused on flexibility and performance.\nWebsite: https://gradle.org\nAuthor: Damian Mee <mee.damian@gmail.com>\nCategory: build-system\n*/\n\nfunction gradle(hljs) {\n const KEYWORDS = [\n \"task\",\n \"project\",\n \"allprojects\",\n \"subprojects\",\n \"artifacts\",\n \"buildscript\",\n \"configurations\",\n \"dependencies\",\n \"repositories\",\n \"sourceSets\",\n \"description\",\n \"delete\",\n \"from\",\n \"into\",\n \"include\",\n \"exclude\",\n \"source\",\n \"classpath\",\n \"destinationDir\",\n \"includes\",\n \"options\",\n \"sourceCompatibility\",\n \"targetCompatibility\",\n \"group\",\n \"flatDir\",\n \"doLast\",\n \"doFirst\",\n \"flatten\",\n \"todir\",\n \"fromdir\",\n \"ant\",\n \"def\",\n \"abstract\",\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"extends\",\n \"final\",\n \"finally\",\n \"for\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"native\",\n \"new\",\n \"private\",\n \"protected\",\n \"public\",\n \"return\",\n \"static\",\n \"switch\",\n \"synchronized\",\n \"throw\",\n \"throws\",\n \"transient\",\n \"try\",\n \"volatile\",\n \"while\",\n \"strictfp\",\n \"package\",\n \"import\",\n \"false\",\n \"null\",\n \"super\",\n \"this\",\n \"true\",\n \"antlrtask\",\n \"checkstyle\",\n \"codenarc\",\n \"copy\",\n \"boolean\",\n \"byte\",\n \"char\",\n \"class\",\n \"double\",\n \"float\",\n \"int\",\n \"interface\",\n \"long\",\n \"short\",\n \"void\",\n \"compile\",\n \"runTime\",\n \"file\",\n \"fileTree\",\n \"abs\",\n \"any\",\n \"append\",\n \"asList\",\n \"asWritable\",\n \"call\",\n \"collect\",\n \"compareTo\",\n \"count\",\n \"div\",\n \"dump\",\n \"each\",\n \"eachByte\",\n \"eachFile\",\n \"eachLine\",\n \"every\",\n \"find\",\n \"findAll\",\n \"flatten\",\n \"getAt\",\n \"getErr\",\n \"getIn\",\n \"getOut\",\n \"getText\",\n \"grep\",\n \"immutable\",\n \"inject\",\n \"inspect\",\n \"intersect\",\n \"invokeMethods\",\n \"isCase\",\n \"join\",\n \"leftShift\",\n \"minus\",\n \"multiply\",\n \"newInputStream\",\n \"newOutputStream\",\n \"newPrintWriter\",\n \"newReader\",\n \"newWriter\",\n \"next\",\n \"plus\",\n \"pop\",\n \"power\",\n \"previous\",\n \"print\",\n \"println\",\n \"push\",\n \"putAt\",\n \"read\",\n \"readBytes\",\n \"readLines\",\n \"reverse\",\n \"reverseEach\",\n \"round\",\n \"size\",\n \"sort\",\n \"splitEachLine\",\n \"step\",\n \"subMap\",\n \"times\",\n \"toInteger\",\n \"toList\",\n \"tokenize\",\n \"upto\",\n \"waitForOrKill\",\n \"withPrintWriter\",\n \"withReader\",\n \"withStream\",\n \"withWriter\",\n \"withWriterAppend\",\n \"write\",\n \"writeLine\"\n ];\n return {\n name: 'Gradle',\n case_insensitive: true,\n keywords: KEYWORDS,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE,\n hljs.REGEXP_MODE\n\n ]\n };\n}\n\nexport { gradle as default };\n","// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n className: 'number',\n variants: [\n // DecimalFloatingPointLiteral\n // including ExponentPart\n { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n // excluding ExponentPart\n { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n { begin: `(${frac})[fFdD]?\\\\b` },\n { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n // HexadecimalFloatingPointLiteral\n { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n // DecimalIntegerLiteral\n { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n // HexIntegerLiteral\n { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n // OctalIntegerLiteral\n { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n // BinaryIntegerLiteral\n { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n ],\n relevance: 0\n};\n\n/*\nLanguage: Java\nAuthor: Vsevolod Solovyov <vsevolod.solovyov@gmail.com>\nCategory: common, enterprise\nWebsite: https://www.java.com/\n*/\n\n\n/**\n * Allows recursive regex expressions to a given depth\n *\n * ie: recurRegex(\"(abc~~~)\", /~~~/g, 2) becomes:\n * (abc(abc(abc)))\n *\n * @param {string} re\n * @param {RegExp} substitution (should be a g mode regex)\n * @param {number} depth\n * @returns {string}``\n */\nfunction recurRegex(re, substitution, depth) {\n if (depth === -1) return \"\";\n\n return re.replace(substitution, _ => {\n return recurRegex(re, substitution, depth - 1);\n });\n}\n\n/** @type LanguageFn */\nfunction java(hljs) {\n const regex = hljs.regex;\n const JAVA_IDENT_RE = '[\\u00C0-\\u02B8a-zA-Z_$][\\u00C0-\\u02B8a-zA-Z_$0-9]*';\n const GENERIC_IDENT_RE = JAVA_IDENT_RE\n + recurRegex('(?:<' + JAVA_IDENT_RE + '~~~(?:\\\\s*,\\\\s*' + JAVA_IDENT_RE + '~~~)*>)?', /~~~/g, 2);\n const MAIN_KEYWORDS = [\n 'synchronized',\n 'abstract',\n 'private',\n 'var',\n 'static',\n 'if',\n 'const ',\n 'for',\n 'while',\n 'strictfp',\n 'finally',\n 'protected',\n 'import',\n 'native',\n 'final',\n 'void',\n 'enum',\n 'else',\n 'break',\n 'transient',\n 'catch',\n 'instanceof',\n 'volatile',\n 'case',\n 'assert',\n 'package',\n 'default',\n 'public',\n 'try',\n 'switch',\n 'continue',\n 'throws',\n 'protected',\n 'public',\n 'private',\n 'module',\n 'requires',\n 'exports',\n 'do',\n 'sealed',\n 'yield',\n 'permits',\n 'goto'\n ];\n\n const BUILT_INS = [\n 'super',\n 'this'\n ];\n\n const LITERALS = [\n 'false',\n 'true',\n 'null'\n ];\n\n const TYPES = [\n 'char',\n 'boolean',\n 'long',\n 'float',\n 'int',\n 'byte',\n 'short',\n 'double'\n ];\n\n const KEYWORDS = {\n keyword: MAIN_KEYWORDS,\n literal: LITERALS,\n type: TYPES,\n built_in: BUILT_INS\n };\n\n const ANNOTATION = {\n className: 'meta',\n begin: '@' + JAVA_IDENT_RE,\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [ \"self\" ] // allow nested () inside our annotation\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [ hljs.C_BLOCK_COMMENT_MODE ],\n endsParent: true\n };\n\n return {\n name: 'Java',\n aliases: [ 'jsp' ],\n keywords: KEYWORDS,\n illegal: /<\\/|#/,\n contains: [\n hljs.COMMENT(\n '/\\\\*\\\\*',\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n // eat up @'s in emails to prevent them to be recognized as doctags\n begin: /\\w+@/,\n relevance: 0\n },\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n }\n ]\n }\n ),\n // relevance boost\n {\n begin: /import java\\.[a-z]+\\./,\n keywords: \"import\",\n relevance: 2\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n begin: /\"\"\"/,\n end: /\"\"\"/,\n className: \"string\",\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n match: [\n /\\b(?:class|interface|enum|extends|implements|new)/,\n /\\s+/,\n JAVA_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n {\n // Exceptions for hyphenated keywords\n match: /non-sealed/,\n scope: \"keyword\"\n },\n {\n begin: [\n regex.concat(/(?!else)/, JAVA_IDENT_RE),\n /\\s+/,\n JAVA_IDENT_RE,\n /\\s+/,\n /=(?!=)/\n ],\n className: {\n 1: \"type\",\n 3: \"variable\",\n 5: \"operator\"\n }\n },\n {\n begin: [\n /record/,\n /\\s+/,\n JAVA_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n },\n contains: [\n PARAMS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new throw return else',\n relevance: 0\n },\n {\n begin: [\n '(?:' + GENERIC_IDENT_RE + '\\\\s+)',\n hljs.UNDERSCORE_IDENT_RE,\n /\\s*(?=\\()/\n ],\n className: { 2: \"title.function\" },\n keywords: KEYWORDS,\n contains: [\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n ANNOTATION,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMERIC,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n NUMERIC,\n ANNOTATION\n ]\n };\n}\n\nexport { java as default };\n","const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \"<Booger\" and checks to see\n * if we can find a matching \"</Booger\" later in the\n * content.\n * @param {RegExpMatchArray} match\n * @param {{after:number}} param1\n */\n const hasClosingTag = (match, { after }) => {\n const tag = \"</\" + match[0].slice(1);\n const pos = match.input.indexOf(tag, after);\n return pos !== -1;\n };\n\n const IDENT_RE$1 = IDENT_RE;\n const FRAGMENT = {\n begin: '<>',\n end: '</>'\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `<Array<Array<number>>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // `<T, A extends keyof T, V>`\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // `<something>`\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `<blah />` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // <T = any>(key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // `<From extends string>`\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with \n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n className: 'attr',\n begin: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\nexport { javascript as default };\n","/*\nLanguage: JSON\nDescription: JSON (JavaScript Object Notation) is a lightweight data-interchange format.\nAuthor: Ivan Sagalaev <maniac@softwaremaniacs.org>\nWebsite: http://www.json.org\nCategory: common, protocols, web\n*/\n\nfunction json(hljs) {\n const ATTRIBUTE = {\n className: 'attr',\n begin: /\"(\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n relevance: 1.01\n };\n const PUNCTUATION = {\n match: /[{}[\\],:]/,\n className: \"punctuation\",\n relevance: 0\n };\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\"\n ];\n // NOTE: normally we would rely on `keywords` for this but using a mode here allows us\n // - to use the very tight `illegal: \\S` rule later to flag any other character\n // - as illegal indicating that despite looking like JSON we do not truly have\n // - JSON and thus improve false-positively greatly since JSON will try and claim\n // - all sorts of JSON looking stuff\n const LITERALS_MODE = {\n scope: \"literal\",\n beginKeywords: LITERALS.join(\" \"),\n };\n\n return {\n name: 'JSON',\n aliases: ['jsonc'],\n keywords:{\n literal: LITERALS,\n },\n contains: [\n ATTRIBUTE,\n PUNCTUATION,\n hljs.QUOTE_STRING_MODE,\n LITERALS_MODE,\n hljs.C_NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ],\n illegal: '\\\\S'\n };\n}\n\nexport { json as default };\n","// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n className: 'number',\n variants: [\n // DecimalFloatingPointLiteral\n // including ExponentPart\n { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n // excluding ExponentPart\n { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n { begin: `(${frac})[fFdD]?\\\\b` },\n { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n // HexadecimalFloatingPointLiteral\n { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n // DecimalIntegerLiteral\n { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n // HexIntegerLiteral\n { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n // OctalIntegerLiteral\n { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n // BinaryIntegerLiteral\n { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n ],\n relevance: 0\n};\n\n/*\n Language: Kotlin\n Description: Kotlin is an OSS statically typed programming language that targets the JVM, Android, JavaScript and Native.\n Author: Sergey Mashkov <cy6erGn0m@gmail.com>\n Website: https://kotlinlang.org\n Category: common\n */\n\n\nfunction kotlin(hljs) {\n const KEYWORDS = {\n keyword:\n 'abstract as val var vararg get set class object open private protected public noinline '\n + 'crossinline dynamic final enum if else do while for when throw try catch finally '\n + 'import package is in fun override companion reified inline lateinit init '\n + 'interface annotation data sealed internal infix operator out by constructor super '\n + 'tailrec where const inner suspend typealias external expect actual',\n built_in:\n 'Byte Short Char Int Long Boolean Float Double Void Unit Nothing',\n literal:\n 'true false null'\n };\n const KEYWORDS_WITH_LABEL = {\n className: 'keyword',\n begin: /\\b(break|continue|return|this)\\b/,\n starts: { contains: [\n {\n className: 'symbol',\n begin: /@\\w+/\n }\n ] }\n };\n const LABEL = {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '@'\n };\n\n // for string templates\n const SUBST = {\n className: 'subst',\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [ hljs.C_NUMBER_MODE ]\n };\n const VARIABLE = {\n className: 'variable',\n begin: '\\\\$' + hljs.UNDERSCORE_IDENT_RE\n };\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: '\"\"\"',\n end: '\"\"\"(?=[^\"])',\n contains: [\n VARIABLE,\n SUBST\n ]\n },\n // Can't use built-in modes easily, as we want to use STRING in the meta\n // context as 'meta-string' and there's no syntax to remove explicitly set\n // classNames in built-in modes.\n {\n begin: '\\'',\n end: '\\'',\n illegal: /\\n/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '\"',\n end: '\"',\n illegal: /\\n/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VARIABLE,\n SUBST\n ]\n }\n ]\n };\n SUBST.contains.push(STRING);\n\n const ANNOTATION_USE_SITE = {\n className: 'meta',\n begin: '@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\\\s*:(?:\\\\s*' + hljs.UNDERSCORE_IDENT_RE + ')?'\n };\n const ANNOTATION = {\n className: 'meta',\n begin: '@' + hljs.UNDERSCORE_IDENT_RE,\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n hljs.inherit(STRING, { className: 'string' }),\n \"self\"\n ]\n }\n ]\n };\n\n // https://kotlinlang.org/docs/reference/whatsnew11.html#underscores-in-numeric-literals\n // According to the doc above, the number mode of kotlin is the same as java 8,\n // so the code below is copied from java.js\n const KOTLIN_NUMBER_MODE = NUMERIC;\n const KOTLIN_NESTED_COMMENT = hljs.COMMENT(\n '/\\\\*', '\\\\*/',\n { contains: [ hljs.C_BLOCK_COMMENT_MODE ] }\n );\n const KOTLIN_PAREN_TYPE = { variants: [\n {\n className: 'type',\n begin: hljs.UNDERSCORE_IDENT_RE\n },\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [] // defined later\n }\n ] };\n const KOTLIN_PAREN_TYPE2 = KOTLIN_PAREN_TYPE;\n KOTLIN_PAREN_TYPE2.variants[1].contains = [ KOTLIN_PAREN_TYPE ];\n KOTLIN_PAREN_TYPE.variants[1].contains = [ KOTLIN_PAREN_TYPE2 ];\n\n return {\n name: 'Kotlin',\n aliases: [\n 'kt',\n 'kts'\n ],\n keywords: KEYWORDS,\n contains: [\n hljs.COMMENT(\n '/\\\\*\\\\*',\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n KEYWORDS_WITH_LABEL,\n LABEL,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n {\n className: 'function',\n beginKeywords: 'fun',\n end: '[(]|$',\n returnBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 5,\n contains: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(',\n returnBegin: true,\n relevance: 0,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n className: 'type',\n begin: /</,\n end: />/,\n keywords: 'reified',\n relevance: 0\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n endsParent: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n {\n begin: /:/,\n end: /[=,\\/]/,\n endsWithParent: true,\n contains: [\n KOTLIN_PAREN_TYPE,\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT\n ],\n relevance: 0\n },\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n STRING,\n hljs.C_NUMBER_MODE\n ]\n },\n KOTLIN_NESTED_COMMENT\n ]\n },\n {\n begin: [\n /class|interface|trait/,\n /\\s+/,\n hljs.UNDERSCORE_IDENT_RE\n ],\n beginScope: {\n 3: \"title.class\"\n },\n keywords: 'class interface trait',\n end: /[:\\{(]|$/,\n excludeEnd: true,\n illegal: 'extends implements',\n contains: [\n { beginKeywords: 'public protected internal private constructor' },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n className: 'type',\n begin: /</,\n end: />/,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0\n },\n {\n className: 'type',\n begin: /[,:]\\s*/,\n end: /[<\\(,){\\s]|$/,\n excludeBegin: true,\n returnEnd: true\n },\n ANNOTATION_USE_SITE,\n ANNOTATION\n ]\n },\n STRING,\n {\n className: 'meta',\n begin: \"^#!/usr/bin/env\",\n end: '$',\n illegal: '\\n'\n },\n KOTLIN_NUMBER_MODE\n ]\n };\n}\n\nexport { kotlin as default };\n","/*\nLanguage: Objective-C\nAuthor: Valerii Hiora <valerii.hiora@gmail.com>\nContributors: Angel G. Olloqui <angelgarcia.mail@gmail.com>, Matt Diephouse <matt@diephouse.com>, Andrew Farmer <ahfarmer@gmail.com>, Minh Nguyễn <mxn@1ec5.org>\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 contains: [\n API_CLASS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_NUMBER_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n {\n className: 'string',\n variants: [\n {\n begin: '@\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n }\n ]\n },\n {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/,\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\nexport { objectivec as default };\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 // <<labeles>>\n {\n className: 'symbol',\n begin: LABEL,\n relevance: 10\n }\n ]\n };\n}\n\nexport { pgsql as default };\n","/*\nLanguage: PHP\nAuthor: Victor Karamzin <Victor.Karamzin@enterra-inc.com>\nContributors: Evgeny Stepanischev <imbolk@gmail.com>, Ivan Sagalaev <maniac@softwaremaniacs.org>\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 // <https://www.php.net/manual/en/language.constants.predefined.php>\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 // <https://www.php.net/manual/en/reserved.php>\n // <https://www.php.net/manual/en/language.types.type-juggling.php>\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 // <https://www.php.net/manual/en/book.spl.php>\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 // <https://www.php.net/manual/en/reserved.interfaces.php>\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 // <https://www.php.net/manual/en/reserved.classes.php>\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\nexport { php as default };\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\nexport { plaintext as default };\n","/*\nLanguage: PowerShell\nDescription: PowerShell is a task-based command-line shell and scripting language built on .NET.\nAuthor: David Mohundro <david@mohundro.com>\nContributors: Nicholas Blumhardt <nblumhardt@nblumhardt.com>, Victor Zhou <OiCMudkips@users.noreply.github.com>, Nicolas Le Gall <contact@nlegall.fr>\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\nexport { powershell as default };\n","/*\nLanguage: .properties\nContributors: Valentin Aitken <valentin@nalisbg.com>, Egor Rogov <e.rogov@postgrespro.ru>\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\nexport { properties as default };\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\nexport { python as default };\n","/*\nLanguage: Ruby\nDescription: Ruby is a dynamic, open source programming language with a focus on simplicity and productivity.\nWebsite: https://www.ruby-lang.org/\nAuthor: Anton Kovalyov <anton@kovalyov.net>\nContributors: Peter Leonov <gojpeg@yandex.ru>, Vasily Polovnyov <vast@whiteants.net>, Loren Segal <lsegal@soen.ca>, Pascal Hurni <phi@ruby-reactive.org>, Cedric Sohrauer <sohrauer@googlemail.com>\nCategory: common, scripting\n*/\n\nfunction ruby(hljs) {\n const regex = hljs.regex;\n const RUBY_METHOD_RE = '([a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?)';\n // TODO: move concepts like CAMEL_CASE into `modes.js`\n const CLASS_NAME_RE = regex.either(\n /\\b([A-Z]+[a-z0-9]+)+/,\n // ends in caps\n /\\b([A-Z]+[a-z0-9]+)+[A-Z]+/,\n )\n ;\n const CLASS_NAME_WITH_NAMESPACE_RE = regex.concat(CLASS_NAME_RE, /(::\\w+)*/);\n // very popular ruby built-ins that one might even assume\n // are actual keywords (despite that not being the case)\n const PSEUDO_KWS = [\n \"include\",\n \"extend\",\n \"prepend\",\n \"public\",\n \"private\",\n \"protected\",\n \"raise\",\n \"throw\"\n ];\n const RUBY_KEYWORDS = {\n \"variable.constant\": [\n \"__FILE__\",\n \"__LINE__\",\n \"__ENCODING__\"\n ],\n \"variable.language\": [\n \"self\",\n \"super\",\n ],\n keyword: [\n \"alias\",\n \"and\",\n \"begin\",\n \"BEGIN\",\n \"break\",\n \"case\",\n \"class\",\n \"defined\",\n \"do\",\n \"else\",\n \"elsif\",\n \"end\",\n \"END\",\n \"ensure\",\n \"for\",\n \"if\",\n \"in\",\n \"module\",\n \"next\",\n \"not\",\n \"or\",\n \"redo\",\n \"require\",\n \"rescue\",\n \"retry\",\n \"return\",\n \"then\",\n \"undef\",\n \"unless\",\n \"until\",\n \"when\",\n \"while\",\n \"yield\",\n ...PSEUDO_KWS\n ],\n built_in: [\n \"proc\",\n \"lambda\",\n \"attr_accessor\",\n \"attr_reader\",\n \"attr_writer\",\n \"define_method\",\n \"private_constant\",\n \"module_function\"\n ],\n literal: [\n \"true\",\n \"false\",\n \"nil\"\n ]\n };\n const YARDOCTAG = {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n };\n const IRB_OBJECT = {\n begin: '#<',\n end: '>'\n };\n const COMMENT_MODES = [\n hljs.COMMENT(\n '#',\n '$',\n { contains: [ YARDOCTAG ] }\n ),\n hljs.COMMENT(\n '^=begin',\n '^=end',\n {\n contains: [ YARDOCTAG ],\n relevance: 10\n }\n ),\n hljs.COMMENT('^__END__', hljs.MATCH_NOTHING_RE)\n ];\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: RUBY_KEYWORDS\n };\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /`/,\n end: /`/\n },\n {\n begin: /%[qQwWx]?\\(/,\n end: /\\)/\n },\n {\n begin: /%[qQwWx]?\\[/,\n end: /\\]/\n },\n {\n begin: /%[qQwWx]?\\{/,\n end: /\\}/\n },\n {\n begin: /%[qQwWx]?</,\n end: />/\n },\n {\n begin: /%[qQwWx]?\\//,\n end: /\\//\n },\n {\n begin: /%[qQwWx]?%/,\n end: /%/\n },\n {\n begin: /%[qQwWx]?-/,\n end: /-/\n },\n {\n begin: /%[qQwWx]?\\|/,\n end: /\\|/\n },\n // in the following expressions, \\B in the beginning suppresses recognition of ?-sequences\n // where ? is the last character of a preceding identifier, as in: `func?4`\n { begin: /\\B\\?(\\\\\\d{1,3})/ },\n { begin: /\\B\\?(\\\\x[A-Fa-f0-9]{1,2})/ },\n { begin: /\\B\\?(\\\\u\\{?[A-Fa-f0-9]{1,6}\\}?)/ },\n { begin: /\\B\\?(\\\\M-\\\\C-|\\\\M-\\\\c|\\\\c\\\\M-|\\\\M-|\\\\C-\\\\M-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\(c|C-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\?\\S/ },\n // heredocs\n {\n // this guard makes sure that we have an entire heredoc and not a false\n // positive (auto-detect, etc.)\n begin: regex.concat(\n /<<[-~]?'?/,\n regex.lookahead(/(\\w+)(?=\\W)[^\\n]*\\n(?:[^\\n]*\\n)*?\\s*\\1\\b/)\n ),\n contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n })\n ]\n }\n ]\n };\n\n // Ruby syntax is underdocumented, but this grammar seems to be accurate\n // as of version 2.7.2 (confirmed with (irb and `Ripper.sexp(...)`)\n // https://docs.ruby-lang.org/en/2.7.0/doc/syntax/literals_rdoc.html#label-Numbers\n const decimal = '[1-9](_?[0-9])*|0';\n const digits = '[0-9](_?[0-9])*';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal integer/float, optionally exponential or rational, optionally imaginary\n { begin: `\\\\b(${decimal})(\\\\.(${digits}))?([eE][+-]?(${digits})|r)?i?\\\\b` },\n\n // explicit decimal/binary/octal/hexadecimal integer,\n // optionally rational and/or imaginary\n { begin: \"\\\\b0[dD][0-9](_?[0-9])*r?i?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*r?i?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*r?i?\\\\b\" },\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\\\b\" },\n\n // 0-prefixed implicit octal integer, optionally rational and/or imaginary\n { begin: \"\\\\b0(_?[0-7])+r?i?\\\\b\" }\n ]\n };\n\n const PARAMS = {\n variants: [\n {\n match: /\\(\\)/,\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /(?=\\))/,\n excludeBegin: true,\n endsParent: true,\n keywords: RUBY_KEYWORDS,\n }\n ]\n };\n\n const INCLUDE_EXTEND = {\n match: [\n /(include|extend)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ],\n scope: {\n 2: \"title.class\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const CLASS_DEFINITION = {\n variants: [\n {\n match: [\n /class\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\s+<\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n },\n {\n match: [\n /\\b(class|module)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n }\n ],\n scope: {\n 2: \"title.class\",\n 4: \"title.class.inherited\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n const METHOD_DEFINITION = {\n match: [\n /def/, /\\s+/,\n RUBY_METHOD_RE\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n const OBJECT_CREATION = {\n relevance: 0,\n match: [\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\.new[. (]/\n ],\n scope: {\n 1: \"title.class\"\n }\n };\n\n // CamelCase\n const CLASS_REFERENCE = {\n relevance: 0,\n match: CLASS_NAME_RE,\n scope: \"title.class\"\n };\n\n const RUBY_DEFAULT_CONTAINS = [\n STRING,\n CLASS_DEFINITION,\n INCLUDE_EXTEND,\n OBJECT_CREATION,\n UPPER_CASE_CONSTANT,\n CLASS_REFERENCE,\n METHOD_DEFINITION,\n {\n // swallow namespace qualifiers before symbols\n begin: hljs.IDENT_RE + '::' },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':(?!\\\\s)',\n contains: [\n STRING,\n { begin: RUBY_METHOD_RE }\n ],\n relevance: 0\n },\n NUMBER,\n {\n // negative-look forward attempts to prevent false matches like:\n // @ident@ or $ident$ that might indicate this is not ruby at all\n className: \"variable\",\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))(?=[^@$?])' + `(?![A-Za-z])(?![@$?'])`\n },\n {\n className: 'params',\n begin: /\\|/,\n end: /\\|/,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0, // this could be a lot of things (in other languages) other than params\n keywords: RUBY_KEYWORDS\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + '|unless)\\\\s*',\n keywords: 'unless',\n contains: [\n {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n illegal: /\\n/,\n variants: [\n {\n begin: '/',\n end: '/[a-z]*'\n },\n {\n begin: /%r\\{/,\n end: /\\}[a-z]*/\n },\n {\n begin: '%r\\\\(',\n end: '\\\\)[a-z]*'\n },\n {\n begin: '%r!',\n end: '![a-z]*'\n },\n {\n begin: '%r\\\\[',\n end: '\\\\][a-z]*'\n }\n ]\n }\n ].concat(IRB_OBJECT, COMMENT_MODES),\n relevance: 0\n }\n ].concat(IRB_OBJECT, COMMENT_MODES);\n\n SUBST.contains = RUBY_DEFAULT_CONTAINS;\n PARAMS.contains = RUBY_DEFAULT_CONTAINS;\n\n // >>\n // ?>\n const SIMPLE_PROMPT = \"[>?]>\";\n // irb(main):001:0>\n const DEFAULT_PROMPT = \"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+[>*]\";\n const RVM_PROMPT = \"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d+(p\\\\d+)?[^\\\\d][^>]+>\";\n\n const IRB_DEFAULT = [\n {\n begin: /^\\s*=>/,\n starts: {\n end: '$',\n contains: RUBY_DEFAULT_CONTAINS\n }\n },\n {\n className: 'meta.prompt',\n begin: '^(' + SIMPLE_PROMPT + \"|\" + DEFAULT_PROMPT + '|' + RVM_PROMPT + ')(?=[ ])',\n starts: {\n end: '$',\n keywords: RUBY_KEYWORDS,\n contains: RUBY_DEFAULT_CONTAINS\n }\n }\n ];\n\n COMMENT_MODES.unshift(IRB_OBJECT);\n\n return {\n name: 'Ruby',\n aliases: [\n 'rb',\n 'gemspec',\n 'podspec',\n 'thor',\n 'irb'\n ],\n keywords: RUBY_KEYWORDS,\n illegal: /\\/\\*/,\n contains: [ hljs.SHEBANG({ binary: \"ruby\" }) ]\n .concat(IRB_DEFAULT)\n .concat(COMMENT_MODES)\n .concat(RUBY_DEFAULT_CONTAINS)\n };\n}\n\nexport { ruby as default };\n","/*\nLanguage: Scala\nCategory: functional\nAuthor: Jan Berkel <jan.berkel@gmail.com>\nContributors: Erik Osheim <d_m@plastic-idolatry.com>\nWebsite: https://www.scala-lang.org\n*/\n\nfunction scala(hljs) {\n const regex = hljs.regex;\n const ANNOTATION = {\n className: 'meta',\n begin: '@[A-Za-z]+'\n };\n\n // used in strings for escaping/interpolation/substitution\n const SUBST = {\n className: 'subst',\n variants: [\n { begin: '\\\\$[A-Za-z0-9_]+' },\n {\n begin: /\\$\\{/,\n end: /\\}/\n }\n ]\n };\n\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: '\"\"\"',\n end: '\"\"\"'\n },\n {\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '[a-z]+\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n },\n {\n className: 'string',\n begin: '[a-z]+\"\"\"',\n end: '\"\"\"',\n contains: [ SUBST ],\n relevance: 10\n }\n ]\n\n };\n\n const TYPE = {\n className: 'type',\n begin: '\\\\b[A-Z][A-Za-z0-9_]*',\n relevance: 0\n };\n\n const NAME = {\n className: 'title',\n begin: /[^0-9\\n\\t \"'(),.`{}\\[\\]:;][^\\n\\t \"'(),.`{}\\[\\]:;]+|[^0-9\\n\\t \"'(),.`{}\\[\\]:;=]/,\n relevance: 0\n };\n\n const CLASS = {\n className: 'class',\n beginKeywords: 'class object trait type',\n end: /[:={\\[\\n;]/,\n excludeEnd: true,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n beginKeywords: 'extends with',\n relevance: 10\n },\n {\n begin: /\\[/,\n end: /\\]/,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0,\n contains: [ \n TYPE, \n hljs.C_LINE_COMMENT_MODE, \n hljs.C_BLOCK_COMMENT_MODE, \n ]\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0,\n contains: [ \n TYPE, \n hljs.C_LINE_COMMENT_MODE, \n hljs.C_BLOCK_COMMENT_MODE, \n ]\n },\n NAME\n ]\n };\n\n const METHOD = {\n className: 'function',\n beginKeywords: 'def',\n end: regex.lookahead(/[:={\\[(\\n;]/),\n contains: [ NAME ]\n };\n\n const EXTENSION = {\n begin: [\n /^\\s*/, // Is first token on the line\n 'extension',\n /\\s+(?=[[(])/, // followed by at least one space and `[` or `(`\n ],\n beginScope: { 2: \"keyword\", }\n };\n\n const END = {\n begin: [\n /^\\s*/, // Is first token on the line\n /end/,\n /\\s+/,\n /(extension\\b)?/, // `extension` is the only marker that follows an `end` that cannot be captured by another rule.\n ],\n beginScope: {\n 2: \"keyword\",\n 4: \"keyword\",\n }\n };\n\n // TODO: use negative look-behind in future\n // /(?<!\\.)\\binline(?=\\s)/\n const INLINE_MODES = [\n { match: /\\.inline\\b/ },\n {\n begin: /\\binline(?=\\s)/,\n keywords: 'inline'\n }\n ];\n\n const USING_PARAM_CLAUSE = {\n begin: [\n /\\(\\s*/, // Opening `(` of a parameter or argument list\n /using/,\n /\\s+(?!\\))/, // Spaces not followed by `)`\n ],\n beginScope: { 2: \"keyword\", }\n };\n\n // glob all non-whitespace characters as a \"string\"\n // sourced from https://github.com/scala/docs.scala-lang/pull/2845\n const DIRECTIVE_VALUE = {\n className: 'string',\n begin: /\\S+/,\n };\n\n // directives\n // sourced from https://github.com/scala/docs.scala-lang/pull/2845\n const USING_DIRECTIVE = {\n begin: [\n '//>',\n /\\s+/,\n /using/,\n /\\s+/,\n /\\S+/\n ],\n beginScope: {\n 1: \"comment\",\n 3: \"keyword\",\n 5: \"type\"\n },\n end: /$/,\n contains: [\n DIRECTIVE_VALUE,\n ]\n };\n\n return {\n name: 'Scala',\n keywords: {\n literal: 'true false null',\n keyword: 'type yield lazy override def with val var sealed abstract private trait object if then forSome for while do throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit export enum given transparent'\n },\n contains: [\n USING_DIRECTIVE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n TYPE,\n METHOD,\n CLASS,\n hljs.C_NUMBER_MODE,\n EXTENSION,\n END,\n ...INLINE_MODES,\n USING_PARAM_CLAUSE,\n ANNOTATION\n ]\n };\n}\n\nexport { scala as default };\n","/*\nLanguage: Shell Session\nRequires: bash.js\nAuthor: TSUYUSATO Kitsune <make.just.on@gmail.com>\nCategory: common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction shell(hljs) {\n return {\n name: 'Shell Session',\n aliases: [\n 'console',\n 'shellsession'\n ],\n contains: [\n {\n className: 'meta.prompt',\n // We cannot add \\s (spaces) in the regular expression otherwise it will be too broad and produce unexpected result.\n // For instance, in the following example, it would match \"echo /path/to/home >\" as a prompt:\n // echo /path/to/home > t.exe\n begin: /^\\s{0,3}[/~\\w\\d[\\]()@-]*[>%$#][ ]?/,\n starts: {\n end: /[^\\\\](?=\\s*$)/,\n subLanguage: 'bash'\n }\n }\n ]\n };\n}\n\nexport { shell as default };\n","/*\n Language: SQL\n Website: https://en.wikipedia.org/wiki/SQL\n Category: common, database\n */\n\n/*\n\nGoals:\n\nSQL is intended to highlight basic/common SQL keywords and expressions\n\n- If pretty much every single SQL server includes supports, then it's a canidate.\n- It is NOT intended to include tons of vendor specific keywords (Oracle, MySQL,\n PostgreSQL) although the list of data types is purposely a bit more expansive.\n- For more specific SQL grammars please see:\n - PostgreSQL and PL/pgSQL - core\n - T-SQL - https://github.com/highlightjs/highlightjs-tsql\n - sql_more (core)\n\n */\n\nfunction sql(hljs) {\n const regex = hljs.regex;\n const COMMENT_MODE = hljs.COMMENT('--', '$');\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: /'/,\n end: /'/,\n contains: [ { begin: /''/ } ]\n }\n ]\n };\n const QUOTED_IDENTIFIER = {\n begin: /\"/,\n end: /\"/,\n contains: [ { begin: /\"\"/ } ]\n };\n\n const LITERALS = [\n \"true\",\n \"false\",\n // Not sure it's correct to call NULL literal, and clauses like IS [NOT] NULL look strange that way.\n // \"null\",\n \"unknown\"\n ];\n\n const MULTI_WORD_TYPES = [\n \"double precision\",\n \"large object\",\n \"with timezone\",\n \"without timezone\"\n ];\n\n const TYPES = [\n 'bigint',\n 'binary',\n 'blob',\n 'boolean',\n 'char',\n 'character',\n 'clob',\n 'date',\n 'dec',\n 'decfloat',\n 'decimal',\n 'float',\n 'int',\n 'integer',\n 'interval',\n 'nchar',\n 'nclob',\n 'national',\n 'numeric',\n 'real',\n 'row',\n 'smallint',\n 'time',\n 'timestamp',\n 'varchar',\n 'varying', // modifier (character varying)\n 'varbinary'\n ];\n\n const NON_RESERVED_WORDS = [\n \"add\",\n \"asc\",\n \"collation\",\n \"desc\",\n \"final\",\n \"first\",\n \"last\",\n \"view\"\n ];\n\n // https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#reserved-word\n const RESERVED_WORDS = [\n \"abs\",\n \"acos\",\n \"all\",\n \"allocate\",\n \"alter\",\n \"and\",\n \"any\",\n \"are\",\n \"array\",\n \"array_agg\",\n \"array_max_cardinality\",\n \"as\",\n \"asensitive\",\n \"asin\",\n \"asymmetric\",\n \"at\",\n \"atan\",\n \"atomic\",\n \"authorization\",\n \"avg\",\n \"begin\",\n \"begin_frame\",\n \"begin_partition\",\n \"between\",\n \"bigint\",\n \"binary\",\n \"blob\",\n \"boolean\",\n \"both\",\n \"by\",\n \"call\",\n \"called\",\n \"cardinality\",\n \"cascaded\",\n \"case\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"char\",\n \"char_length\",\n \"character\",\n \"character_length\",\n \"check\",\n \"classifier\",\n \"clob\",\n \"close\",\n \"coalesce\",\n \"collate\",\n \"collect\",\n \"column\",\n \"commit\",\n \"condition\",\n \"connect\",\n \"constraint\",\n \"contains\",\n \"convert\",\n \"copy\",\n \"corr\",\n \"corresponding\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"create\",\n \"cross\",\n \"cube\",\n \"cume_dist\",\n \"current\",\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_row\",\n \"current_schema\",\n \"current_time\",\n \"current_timestamp\",\n \"current_path\",\n \"current_role\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"cursor\",\n \"cycle\",\n \"date\",\n \"day\",\n \"deallocate\",\n \"dec\",\n \"decimal\",\n \"decfloat\",\n \"declare\",\n \"default\",\n \"define\",\n \"delete\",\n \"dense_rank\",\n \"deref\",\n \"describe\",\n \"deterministic\",\n \"disconnect\",\n \"distinct\",\n \"double\",\n \"drop\",\n \"dynamic\",\n \"each\",\n \"element\",\n \"else\",\n \"empty\",\n \"end\",\n \"end_frame\",\n \"end_partition\",\n \"end-exec\",\n \"equals\",\n \"escape\",\n \"every\",\n \"except\",\n \"exec\",\n \"execute\",\n \"exists\",\n \"exp\",\n \"external\",\n \"extract\",\n \"false\",\n \"fetch\",\n \"filter\",\n \"first_value\",\n \"float\",\n \"floor\",\n \"for\",\n \"foreign\",\n \"frame_row\",\n \"free\",\n \"from\",\n \"full\",\n \"function\",\n \"fusion\",\n \"get\",\n \"global\",\n \"grant\",\n \"group\",\n \"grouping\",\n \"groups\",\n \"having\",\n \"hold\",\n \"hour\",\n \"identity\",\n \"in\",\n \"indicator\",\n \"initial\",\n \"inner\",\n \"inout\",\n \"insensitive\",\n \"insert\",\n \"int\",\n \"integer\",\n \"intersect\",\n \"intersection\",\n \"interval\",\n \"into\",\n \"is\",\n \"join\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"language\",\n \"large\",\n \"last_value\",\n \"lateral\",\n \"lead\",\n \"leading\",\n \"left\",\n \"like\",\n \"like_regex\",\n \"listagg\",\n \"ln\",\n \"local\",\n \"localtime\",\n \"localtimestamp\",\n \"log\",\n \"log10\",\n \"lower\",\n \"match\",\n \"match_number\",\n \"match_recognize\",\n \"matches\",\n \"max\",\n \"member\",\n \"merge\",\n \"method\",\n \"min\",\n \"minute\",\n \"mod\",\n \"modifies\",\n \"module\",\n \"month\",\n \"multiset\",\n \"national\",\n \"natural\",\n \"nchar\",\n \"nclob\",\n \"new\",\n \"no\",\n \"none\",\n \"normalize\",\n \"not\",\n \"nth_value\",\n \"ntile\",\n \"null\",\n \"nullif\",\n \"numeric\",\n \"octet_length\",\n \"occurrences_regex\",\n \"of\",\n \"offset\",\n \"old\",\n \"omit\",\n \"on\",\n \"one\",\n \"only\",\n \"open\",\n \"or\",\n \"order\",\n \"out\",\n \"outer\",\n \"over\",\n \"overlaps\",\n \"overlay\",\n \"parameter\",\n \"partition\",\n \"pattern\",\n \"per\",\n \"percent\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"period\",\n \"portion\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"precedes\",\n \"precision\",\n \"prepare\",\n \"primary\",\n \"procedure\",\n \"ptf\",\n \"range\",\n \"rank\",\n \"reads\",\n \"real\",\n \"recursive\",\n \"ref\",\n \"references\",\n \"referencing\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"release\",\n \"result\",\n \"return\",\n \"returns\",\n \"revoke\",\n \"right\",\n \"rollback\",\n \"rollup\",\n \"row\",\n \"row_number\",\n \"rows\",\n \"running\",\n \"savepoint\",\n \"scope\",\n \"scroll\",\n \"search\",\n \"second\",\n \"seek\",\n \"select\",\n \"sensitive\",\n \"session_user\",\n \"set\",\n \"show\",\n \"similar\",\n \"sin\",\n \"sinh\",\n \"skip\",\n \"smallint\",\n \"some\",\n \"specific\",\n \"specifictype\",\n \"sql\",\n \"sqlexception\",\n \"sqlstate\",\n \"sqlwarning\",\n \"sqrt\",\n \"start\",\n \"static\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"submultiset\",\n \"subset\",\n \"substring\",\n \"substring_regex\",\n \"succeeds\",\n \"sum\",\n \"symmetric\",\n \"system\",\n \"system_time\",\n \"system_user\",\n \"table\",\n \"tablesample\",\n \"tan\",\n \"tanh\",\n \"then\",\n \"time\",\n \"timestamp\",\n \"timezone_hour\",\n \"timezone_minute\",\n \"to\",\n \"trailing\",\n \"translate\",\n \"translate_regex\",\n \"translation\",\n \"treat\",\n \"trigger\",\n \"trim\",\n \"trim_array\",\n \"true\",\n \"truncate\",\n \"uescape\",\n \"union\",\n \"unique\",\n \"unknown\",\n \"unnest\",\n \"update\",\n \"upper\",\n \"user\",\n \"using\",\n \"value\",\n \"values\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"varbinary\",\n \"varchar\",\n \"varying\",\n \"versioning\",\n \"when\",\n \"whenever\",\n \"where\",\n \"width_bucket\",\n \"window\",\n \"with\",\n \"within\",\n \"without\",\n \"year\",\n ];\n\n // these are reserved words we have identified to be functions\n // and should only be highlighted in a dispatch-like context\n // ie, array_agg(...), etc.\n const RESERVED_FUNCTIONS = [\n \"abs\",\n \"acos\",\n \"array_agg\",\n \"asin\",\n \"atan\",\n \"avg\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"coalesce\",\n \"corr\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"cume_dist\",\n \"dense_rank\",\n \"deref\",\n \"element\",\n \"exp\",\n \"extract\",\n \"first_value\",\n \"floor\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"last_value\",\n \"lead\",\n \"listagg\",\n \"ln\",\n \"log\",\n \"log10\",\n \"lower\",\n \"max\",\n \"min\",\n \"mod\",\n \"nth_value\",\n \"ntile\",\n \"nullif\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"rank\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"row_number\",\n \"sin\",\n \"sinh\",\n \"sqrt\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"substring\",\n \"substring_regex\",\n \"sum\",\n \"tan\",\n \"tanh\",\n \"translate\",\n \"translate_regex\",\n \"treat\",\n \"trim\",\n \"trim_array\",\n \"unnest\",\n \"upper\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"width_bucket\",\n ];\n\n // these functions can\n const POSSIBLE_WITHOUT_PARENS = [\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_schema\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"session_user\",\n \"system_time\",\n \"system_user\",\n \"current_time\",\n \"localtime\",\n \"current_timestamp\",\n \"localtimestamp\"\n ];\n\n // those exist to boost relevance making these very\n // \"SQL like\" keyword combos worth +1 extra relevance\n const COMBOS = [\n \"create table\",\n \"insert into\",\n \"primary key\",\n \"foreign key\",\n \"not null\",\n \"alter table\",\n \"add constraint\",\n \"grouping sets\",\n \"on overflow\",\n \"character set\",\n \"respect nulls\",\n \"ignore nulls\",\n \"nulls first\",\n \"nulls last\",\n \"depth first\",\n \"breadth first\"\n ];\n\n const FUNCTIONS = RESERVED_FUNCTIONS;\n\n const KEYWORDS = [\n ...RESERVED_WORDS,\n ...NON_RESERVED_WORDS\n ].filter((keyword) => {\n return !RESERVED_FUNCTIONS.includes(keyword);\n });\n\n const VARIABLE = {\n className: \"variable\",\n begin: /@[a-z0-9][a-z0-9_]*/,\n };\n\n const OPERATOR = {\n className: \"operator\",\n begin: /[-+*/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,\n relevance: 0,\n };\n\n const FUNCTION_CALL = {\n begin: regex.concat(/\\b/, regex.either(...FUNCTIONS), /\\s*\\(/),\n relevance: 0,\n keywords: { built_in: FUNCTIONS }\n };\n\n // keywords with less than 3 letters are reduced in relevancy\n function reduceRelevancy(list, {\n exceptions, when\n } = {}) {\n const qualifyFn = when;\n exceptions = exceptions || [];\n return list.map((item) => {\n if (item.match(/\\|\\d+$/) || exceptions.includes(item)) {\n return item;\n } else if (qualifyFn(item)) {\n return `${item}|0`;\n } else {\n return item;\n }\n });\n }\n\n return {\n name: 'SQL',\n case_insensitive: true,\n // does not include {} or HTML tags `</`\n illegal: /[{}]|<\\//,\n keywords: {\n $pattern: /\\b[\\w\\.]+/,\n keyword:\n reduceRelevancy(KEYWORDS, { when: (x) => x.length < 3 }),\n literal: LITERALS,\n type: TYPES,\n built_in: POSSIBLE_WITHOUT_PARENS\n },\n contains: [\n {\n begin: regex.either(...COMBOS),\n relevance: 0,\n keywords: {\n $pattern: /[\\w\\.]+/,\n keyword: KEYWORDS.concat(COMBOS),\n literal: LITERALS,\n type: TYPES\n },\n },\n {\n className: \"type\",\n begin: regex.either(...MULTI_WORD_TYPES)\n },\n FUNCTION_CALL,\n VARIABLE,\n STRING,\n QUOTED_IDENTIFIER,\n hljs.C_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n COMMENT_MODE,\n OPERATOR\n ]\n };\n}\n\nexport { sql as default };\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array<string | RegExp | Object> } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\nconst keywordWrapper = keyword => concat(\n /\\b/,\n keyword,\n /\\w$/.test(keyword) ? /\\b/ : /\\B/\n);\n\n// Keywords that require a leading dot.\nconst dotKeywords = [\n 'Protocol', // contextual\n 'Type' // contextual\n].map(keywordWrapper);\n\n// Keywords that may have a leading dot.\nconst optionalDotKeywords = [\n 'init',\n 'self'\n].map(keywordWrapper);\n\n// should register as keyword, not type\nconst keywordTypes = [\n 'Any',\n 'Self'\n];\n\n// Regular keywords and literals.\nconst keywords = [\n // strings below will be fed into the regular `keywords` engine while regex\n // will result in additional modes being created to scan for those keywords to\n // avoid conflicts with other rules\n 'actor',\n 'any', // contextual\n 'associatedtype',\n 'async',\n 'await',\n /as\\?/, // operator\n /as!/, // operator\n 'as', // operator\n 'borrowing', // contextual\n 'break',\n 'case',\n 'catch',\n 'class',\n 'consume', // contextual\n 'consuming', // contextual\n 'continue',\n 'convenience', // contextual\n 'copy', // contextual\n 'default',\n 'defer',\n 'deinit',\n 'didSet', // contextual\n 'distributed',\n 'do',\n 'dynamic', // contextual\n 'each',\n 'else',\n 'enum',\n 'extension',\n 'fallthrough',\n /fileprivate\\(set\\)/,\n 'fileprivate',\n 'final', // contextual\n 'for',\n 'func',\n 'get', // contextual\n 'guard',\n 'if',\n 'import',\n 'indirect', // contextual\n 'infix', // contextual\n /init\\?/,\n /init!/,\n 'inout',\n /internal\\(set\\)/,\n 'internal',\n 'in',\n 'is', // operator\n 'isolated', // contextual\n 'nonisolated', // contextual\n 'lazy', // contextual\n 'let',\n 'macro',\n 'mutating', // contextual\n 'nonmutating', // contextual\n /open\\(set\\)/, // contextual\n 'open', // contextual\n 'operator',\n 'optional', // contextual\n 'override', // contextual\n 'package',\n 'postfix', // contextual\n 'precedencegroup',\n 'prefix', // contextual\n /private\\(set\\)/,\n 'private',\n 'protocol',\n /public\\(set\\)/,\n 'public',\n 'repeat',\n 'required', // contextual\n 'rethrows',\n 'return',\n 'set', // contextual\n 'some', // contextual\n 'static',\n 'struct',\n 'subscript',\n 'super',\n 'switch',\n 'throws',\n 'throw',\n /try\\?/, // operator\n /try!/, // operator\n 'try', // operator\n 'typealias',\n /unowned\\(safe\\)/, // contextual\n /unowned\\(unsafe\\)/, // contextual\n 'unowned', // contextual\n 'var',\n 'weak', // contextual\n 'where',\n 'while',\n 'willSet' // contextual\n];\n\n// NOTE: Contextual keywords are reserved only in specific contexts.\n// Ideally, these should be matched using modes to avoid false positives.\n\n// Literals.\nconst literals = [\n 'false',\n 'nil',\n 'true'\n];\n\n// Keywords used in precedence groups.\nconst precedencegroupKeywords = [\n 'assignment',\n 'associativity',\n 'higherThan',\n 'left',\n 'lowerThan',\n 'none',\n 'right'\n];\n\n// Keywords that start with a number sign (#).\n// #(un)available is handled separately.\nconst numberSignKeywords = [\n '#colorLiteral',\n '#column',\n '#dsohandle',\n '#else',\n '#elseif',\n '#endif',\n '#error',\n '#file',\n '#fileID',\n '#fileLiteral',\n '#filePath',\n '#function',\n '#if',\n '#imageLiteral',\n '#keyPath',\n '#line',\n '#selector',\n '#sourceLocation',\n '#warning'\n];\n\n// Global functions in the Standard Library.\nconst builtIns = [\n 'abs',\n 'all',\n 'any',\n 'assert',\n 'assertionFailure',\n 'debugPrint',\n 'dump',\n 'fatalError',\n 'getVaList',\n 'isKnownUniquelyReferenced',\n 'max',\n 'min',\n 'numericCast',\n 'pointwiseMax',\n 'pointwiseMin',\n 'precondition',\n 'preconditionFailure',\n 'print',\n 'readLine',\n 'repeatElement',\n 'sequence',\n 'stride',\n 'swap',\n 'swift_unboxFromSwiftValueWithType',\n 'transcode',\n 'type',\n 'unsafeBitCast',\n 'unsafeDowncast',\n 'withExtendedLifetime',\n 'withUnsafeMutablePointer',\n 'withUnsafePointer',\n 'withVaList',\n 'withoutActuallyEscaping',\n 'zip'\n];\n\n// Valid first characters for operators.\nconst operatorHead = either(\n /[/=\\-+!*%<>&|^~?]/,\n /[\\u00A1-\\u00A7]/,\n /[\\u00A9\\u00AB]/,\n /[\\u00AC\\u00AE]/,\n /[\\u00B0\\u00B1]/,\n /[\\u00B6\\u00BB\\u00BF\\u00D7\\u00F7]/,\n /[\\u2016-\\u2017]/,\n /[\\u2020-\\u2027]/,\n /[\\u2030-\\u203E]/,\n /[\\u2041-\\u2053]/,\n /[\\u2055-\\u205E]/,\n /[\\u2190-\\u23FF]/,\n /[\\u2500-\\u2775]/,\n /[\\u2794-\\u2BFF]/,\n /[\\u2E00-\\u2E7F]/,\n /[\\u3001-\\u3003]/,\n /[\\u3008-\\u3020]/,\n /[\\u3030]/\n);\n\n// Valid characters for operators.\nconst operatorCharacter = either(\n operatorHead,\n /[\\u0300-\\u036F]/,\n /[\\u1DC0-\\u1DFF]/,\n /[\\u20D0-\\u20FF]/,\n /[\\uFE00-\\uFE0F]/,\n /[\\uFE20-\\uFE2F]/\n // TODO: The following characters are also allowed, but the regex isn't supported yet.\n // /[\\u{E0100}-\\u{E01EF}]/u\n);\n\n// Valid operator.\nconst operator = concat(operatorHead, operatorCharacter, '*');\n\n// Valid first characters for identifiers.\nconst identifierHead = either(\n /[a-zA-Z_]/,\n /[\\u00A8\\u00AA\\u00AD\\u00AF\\u00B2-\\u00B5\\u00B7-\\u00BA]/,\n /[\\u00BC-\\u00BE\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF]/,\n /[\\u0100-\\u02FF\\u0370-\\u167F\\u1681-\\u180D\\u180F-\\u1DBF]/,\n /[\\u1E00-\\u1FFF]/,\n /[\\u200B-\\u200D\\u202A-\\u202E\\u203F-\\u2040\\u2054\\u2060-\\u206F]/,\n /[\\u2070-\\u20CF\\u2100-\\u218F\\u2460-\\u24FF\\u2776-\\u2793]/,\n /[\\u2C00-\\u2DFF\\u2E80-\\u2FFF]/,\n /[\\u3004-\\u3007\\u3021-\\u302F\\u3031-\\u303F\\u3040-\\uD7FF]/,\n /[\\uF900-\\uFD3D\\uFD40-\\uFDCF\\uFDF0-\\uFE1F\\uFE30-\\uFE44]/,\n /[\\uFE47-\\uFEFE\\uFF00-\\uFFFD]/ // Should be /[\\uFE47-\\uFFFD]/, but we have to exclude FEFF.\n // The following characters are also allowed, but the regexes aren't supported yet.\n // /[\\u{10000}-\\u{1FFFD}\\u{20000-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}]/u,\n // /[\\u{50000}-\\u{5FFFD}\\u{60000-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}]/u,\n // /[\\u{90000}-\\u{9FFFD}\\u{A0000-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}]/u,\n // /[\\u{D0000}-\\u{DFFFD}\\u{E0000-\\u{EFFFD}]/u\n);\n\n// Valid characters for identifiers.\nconst identifierCharacter = either(\n identifierHead,\n /\\d/,\n /[\\u0300-\\u036F\\u1DC0-\\u1DFF\\u20D0-\\u20FF\\uFE20-\\uFE2F]/\n);\n\n// Valid identifier.\nconst identifier = concat(identifierHead, identifierCharacter, '*');\n\n// Valid type identifier.\nconst typeIdentifier = concat(/[A-Z]/, identifierCharacter, '*');\n\n// Built-in attributes, which are highlighted as keywords.\n// @available is handled separately.\n// https://docs.swift.org/swift-book/documentation/the-swift-programming-language/attributes\nconst keywordAttributes = [\n 'attached',\n 'autoclosure',\n concat(/convention\\(/, either('swift', 'block', 'c'), /\\)/),\n 'discardableResult',\n 'dynamicCallable',\n 'dynamicMemberLookup',\n 'escaping',\n 'freestanding',\n 'frozen',\n 'GKInspectable',\n 'IBAction',\n 'IBDesignable',\n 'IBInspectable',\n 'IBOutlet',\n 'IBSegueAction',\n 'inlinable',\n 'main',\n 'nonobjc',\n 'NSApplicationMain',\n 'NSCopying',\n 'NSManaged',\n concat(/objc\\(/, identifier, /\\)/),\n 'objc',\n 'objcMembers',\n 'propertyWrapper',\n 'requires_stored_property_inits',\n 'resultBuilder',\n 'Sendable',\n 'testable',\n 'UIApplicationMain',\n 'unchecked',\n 'unknown',\n 'usableFromInline',\n 'warn_unqualified_access'\n];\n\n// Contextual keywords used in @available and #(un)available.\nconst availabilityKeywords = [\n 'iOS',\n 'iOSApplicationExtension',\n 'macOS',\n 'macOSApplicationExtension',\n 'macCatalyst',\n 'macCatalystApplicationExtension',\n 'watchOS',\n 'watchOSApplicationExtension',\n 'tvOS',\n 'tvOSApplicationExtension',\n 'swift'\n];\n\n/*\nLanguage: Swift\nDescription: Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.\nAuthor: Steven Van Impe <steven.vanimpe@icloud.com>\nContributors: Chris Eidhof <chris@eidhof.nl>, Nate Cook <natecook@gmail.com>, Alexander Lichter <manniL@gmx.net>, Richard Gibson <gibson042@github>\nWebsite: https://swift.org\nCategory: common, system\n*/\n\n\n/** @type LanguageFn */\nfunction swift(hljs) {\n const WHITESPACE = {\n match: /\\s+/,\n relevance: 0\n };\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID411\n const BLOCK_COMMENT = hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [ 'self' ] }\n );\n const COMMENTS = [\n hljs.C_LINE_COMMENT_MODE,\n BLOCK_COMMENT\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID413\n // https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html\n const DOT_KEYWORD = {\n match: [\n /\\./,\n either(...dotKeywords, ...optionalDotKeywords)\n ],\n className: { 2: \"keyword\" }\n };\n const KEYWORD_GUARD = {\n // Consume .keyword to prevent highlighting properties and methods as keywords.\n match: concat(/\\./, either(...keywords)),\n relevance: 0\n };\n const PLAIN_KEYWORDS = keywords\n .filter(kw => typeof kw === 'string')\n .concat([ \"_|0\" ]); // seems common, so 0 relevance\n const REGEX_KEYWORDS = keywords\n .filter(kw => typeof kw !== 'string') // find regex\n .concat(keywordTypes)\n .map(keywordWrapper);\n const KEYWORD = { variants: [\n {\n className: 'keyword',\n match: either(...REGEX_KEYWORDS, ...optionalDotKeywords)\n }\n ] };\n // find all the regular keywords\n const KEYWORDS = {\n $pattern: either(\n /\\b\\w+/, // regular keywords\n /#\\w+/ // number keywords\n ),\n keyword: PLAIN_KEYWORDS\n .concat(numberSignKeywords),\n literal: literals\n };\n const KEYWORD_MODES = [\n DOT_KEYWORD,\n KEYWORD_GUARD,\n KEYWORD\n ];\n\n // https://github.com/apple/swift/tree/main/stdlib/public/core\n const BUILT_IN_GUARD = {\n // Consume .built_in to prevent highlighting properties and methods.\n match: concat(/\\./, either(...builtIns)),\n relevance: 0\n };\n const BUILT_IN = {\n className: 'built_in',\n match: concat(/\\b/, either(...builtIns), /(?=\\()/)\n };\n const BUILT_INS = [\n BUILT_IN_GUARD,\n BUILT_IN\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID418\n const OPERATOR_GUARD = {\n // Prevent -> from being highlighting as an operator.\n match: /->/,\n relevance: 0\n };\n const OPERATOR = {\n className: 'operator',\n relevance: 0,\n variants: [\n { match: operator },\n {\n // dot-operator: only operators that start with a dot are allowed to use dots as\n // characters (..., ...<, .*, etc). So there rule here is: a dot followed by one or more\n // characters that may also include dots.\n match: `\\\\.(\\\\.|${operatorCharacter})+` }\n ]\n };\n const OPERATORS = [\n OPERATOR_GUARD,\n OPERATOR\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_numeric-literal\n // TODO: Update for leading `-` after lookbehind is supported everywhere\n const decimalDigits = '([0-9]_*)+';\n const hexDigits = '([0-9a-fA-F]_*)+';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal floating-point-literal (subsumes decimal-literal)\n { match: `\\\\b(${decimalDigits})(\\\\.(${decimalDigits}))?` + `([eE][+-]?(${decimalDigits}))?\\\\b` },\n // hexadecimal floating-point-literal (subsumes hexadecimal-literal)\n { match: `\\\\b0x(${hexDigits})(\\\\.(${hexDigits}))?` + `([pP][+-]?(${decimalDigits}))?\\\\b` },\n // octal-literal\n { match: /\\b0o([0-7]_*)+\\b/ },\n // binary-literal\n { match: /\\b0b([01]_*)+\\b/ }\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_string-literal\n const ESCAPED_CHARACTER = (rawDelimiter = \"\") => ({\n className: 'subst',\n variants: [\n { match: concat(/\\\\/, rawDelimiter, /[0\\\\tnr\"']/) },\n { match: concat(/\\\\/, rawDelimiter, /u\\{[0-9a-fA-F]{1,8}\\}/) }\n ]\n });\n const ESCAPED_NEWLINE = (rawDelimiter = \"\") => ({\n className: 'subst',\n match: concat(/\\\\/, rawDelimiter, /[\\t ]*(?:[\\r\\n]|\\r\\n)/)\n });\n const INTERPOLATION = (rawDelimiter = \"\") => ({\n className: 'subst',\n label: \"interpol\",\n begin: concat(/\\\\/, rawDelimiter, /\\(/),\n end: /\\)/\n });\n const MULTILINE_STRING = (rawDelimiter = \"\") => ({\n begin: concat(rawDelimiter, /\"\"\"/),\n end: concat(/\"\"\"/, rawDelimiter),\n contains: [\n ESCAPED_CHARACTER(rawDelimiter),\n ESCAPED_NEWLINE(rawDelimiter),\n INTERPOLATION(rawDelimiter)\n ]\n });\n const SINGLE_LINE_STRING = (rawDelimiter = \"\") => ({\n begin: concat(rawDelimiter, /\"/),\n end: concat(/\"/, rawDelimiter),\n contains: [\n ESCAPED_CHARACTER(rawDelimiter),\n INTERPOLATION(rawDelimiter)\n ]\n });\n const STRING = {\n className: 'string',\n variants: [\n MULTILINE_STRING(),\n MULTILINE_STRING(\"#\"),\n MULTILINE_STRING(\"##\"),\n MULTILINE_STRING(\"###\"),\n SINGLE_LINE_STRING(),\n SINGLE_LINE_STRING(\"#\"),\n SINGLE_LINE_STRING(\"##\"),\n SINGLE_LINE_STRING(\"###\")\n ]\n };\n\n const REGEXP_CONTENTS = [\n hljs.BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n }\n ];\n\n const BARE_REGEXP_LITERAL = {\n begin: /\\/[^\\s](?=[^/\\n]*\\/)/,\n end: /\\//,\n contains: REGEXP_CONTENTS\n };\n\n const EXTENDED_REGEXP_LITERAL = (rawDelimiter) => {\n const begin = concat(rawDelimiter, /\\//);\n const end = concat(/\\//, rawDelimiter);\n return {\n begin,\n end,\n contains: [\n ...REGEXP_CONTENTS,\n {\n scope: \"comment\",\n begin: `#(?!.*${end})`,\n end: /$/,\n },\n ],\n };\n };\n\n // https://docs.swift.org/swift-book/documentation/the-swift-programming-language/lexicalstructure/#Regular-Expression-Literals\n const REGEXP = {\n scope: \"regexp\",\n variants: [\n EXTENDED_REGEXP_LITERAL('###'),\n EXTENDED_REGEXP_LITERAL('##'),\n EXTENDED_REGEXP_LITERAL('#'),\n BARE_REGEXP_LITERAL\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID412\n const QUOTED_IDENTIFIER = { match: concat(/`/, identifier, /`/) };\n const IMPLICIT_PARAMETER = {\n className: 'variable',\n match: /\\$\\d+/\n };\n const PROPERTY_WRAPPER_PROJECTION = {\n className: 'variable',\n match: `\\\\$${identifierCharacter}+`\n };\n const IDENTIFIERS = [\n QUOTED_IDENTIFIER,\n IMPLICIT_PARAMETER,\n PROPERTY_WRAPPER_PROJECTION\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/Attributes.html\n const AVAILABLE_ATTRIBUTE = {\n match: /(@|#(un)?)available/,\n scope: 'keyword',\n starts: { contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: availabilityKeywords,\n contains: [\n ...OPERATORS,\n NUMBER,\n STRING\n ]\n }\n ] }\n };\n\n const KEYWORD_ATTRIBUTE = {\n scope: 'keyword',\n match: concat(/@/, either(...keywordAttributes), lookahead(either(/\\(/, /\\s+/))),\n };\n\n const USER_DEFINED_ATTRIBUTE = {\n scope: 'meta',\n match: concat(/@/, identifier)\n };\n\n const ATTRIBUTES = [\n AVAILABLE_ATTRIBUTE,\n KEYWORD_ATTRIBUTE,\n USER_DEFINED_ATTRIBUTE\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/Types.html\n const TYPE = {\n match: lookahead(/\\b[A-Z]/),\n relevance: 0,\n contains: [\n { // Common Apple frameworks, for relevance boost\n className: 'type',\n match: concat(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/, identifierCharacter, '+')\n },\n { // Type identifier\n className: 'type',\n match: typeIdentifier,\n relevance: 0\n },\n { // Optional type\n match: /[?!]+/,\n relevance: 0\n },\n { // Variadic parameter\n match: /\\.\\.\\./,\n relevance: 0\n },\n { // Protocol composition\n match: concat(/\\s+&\\s+/, lookahead(typeIdentifier)),\n relevance: 0\n }\n ]\n };\n const GENERIC_ARGUMENTS = {\n begin: /</,\n end: />/,\n keywords: KEYWORDS,\n contains: [\n ...COMMENTS,\n ...KEYWORD_MODES,\n ...ATTRIBUTES,\n OPERATOR_GUARD,\n TYPE\n ]\n };\n TYPE.contains.push(GENERIC_ARGUMENTS);\n\n // https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#ID552\n // Prevents element names from being highlighted as keywords.\n const TUPLE_ELEMENT_NAME = {\n match: concat(identifier, /\\s*:/),\n keywords: \"_|0\",\n relevance: 0\n };\n // Matches tuples as well as the parameter list of a function type.\n const TUPLE = {\n begin: /\\(/,\n end: /\\)/,\n relevance: 0,\n keywords: KEYWORDS,\n contains: [\n 'self',\n TUPLE_ELEMENT_NAME,\n ...COMMENTS,\n REGEXP,\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS,\n ...ATTRIBUTES,\n TYPE\n ]\n };\n\n const GENERIC_PARAMETERS = {\n begin: /</,\n end: />/,\n keywords: 'repeat each',\n contains: [\n ...COMMENTS,\n TYPE\n ]\n };\n const FUNCTION_PARAMETER_NAME = {\n begin: either(\n lookahead(concat(identifier, /\\s*:/)),\n lookahead(concat(identifier, /\\s+/, identifier, /\\s*:/))\n ),\n end: /:/,\n relevance: 0,\n contains: [\n {\n className: 'keyword',\n match: /\\b_\\b/\n },\n {\n className: 'params',\n match: identifier\n }\n ]\n };\n const FUNCTION_PARAMETERS = {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n FUNCTION_PARAMETER_NAME,\n ...COMMENTS,\n ...KEYWORD_MODES,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...ATTRIBUTES,\n TYPE,\n TUPLE\n ],\n endsParent: true,\n illegal: /[\"']/\n };\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID362\n // https://docs.swift.org/swift-book/documentation/the-swift-programming-language/declarations/#Macro-Declaration\n const FUNCTION_OR_MACRO = {\n match: [\n /(func|macro)/,\n /\\s+/,\n either(QUOTED_IDENTIFIER.match, identifier, operator)\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n GENERIC_PARAMETERS,\n FUNCTION_PARAMETERS,\n WHITESPACE\n ],\n illegal: [\n /\\[/,\n /%/\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID375\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID379\n const INIT_SUBSCRIPT = {\n match: [\n /\\b(?:subscript|init[?!]?)/,\n /\\s*(?=[<(])/,\n ],\n className: { 1: \"keyword\" },\n contains: [\n GENERIC_PARAMETERS,\n FUNCTION_PARAMETERS,\n WHITESPACE\n ],\n illegal: /\\[|%/\n };\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID380\n const OPERATOR_DECLARATION = {\n match: [\n /operator/,\n /\\s+/,\n operator\n ],\n className: {\n 1: \"keyword\",\n 3: \"title\"\n }\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID550\n const PRECEDENCEGROUP = {\n begin: [\n /precedencegroup/,\n /\\s+/,\n typeIdentifier\n ],\n className: {\n 1: \"keyword\",\n 3: \"title\"\n },\n contains: [ TYPE ],\n keywords: [\n ...precedencegroupKeywords,\n ...literals\n ],\n end: /}/\n };\n\n const TYPE_DECLARATION = {\n begin: [\n /(struct|protocol|class|extension|enum|actor)/,\n /\\s+/,\n identifier,\n /\\s*/,\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n },\n keywords: KEYWORDS,\n contains: [\n GENERIC_PARAMETERS,\n ...KEYWORD_MODES,\n {\n begin: /:/,\n end: /\\{/,\n keywords: KEYWORDS,\n contains: [\n {\n scope: \"title.class.inherited\",\n match: typeIdentifier,\n },\n ...KEYWORD_MODES,\n ],\n relevance: 0,\n },\n ]\n };\n\n // Add supported submodes to string interpolation.\n for (const variant of STRING.variants) {\n const interpolation = variant.contains.find(mode => mode.label === \"interpol\");\n // TODO: Interpolation can contain any expression, so there's room for improvement here.\n interpolation.keywords = KEYWORDS;\n const submodes = [\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS\n ];\n interpolation.contains = [\n ...submodes,\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n 'self',\n ...submodes\n ]\n }\n ];\n }\n\n return {\n name: 'Swift',\n keywords: KEYWORDS,\n contains: [\n ...COMMENTS,\n FUNCTION_OR_MACRO,\n INIT_SUBSCRIPT,\n TYPE_DECLARATION,\n OPERATOR_DECLARATION,\n PRECEDENCEGROUP,\n {\n beginKeywords: 'import',\n end: /$/,\n contains: [ ...COMMENTS ],\n relevance: 0\n },\n REGEXP,\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS,\n ...ATTRIBUTES,\n TYPE,\n TUPLE\n ]\n };\n}\n\nexport { swift as default };\n","const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \"<Booger\" and checks to see\n * if we can find a matching \"</Booger\" later in the\n * content.\n * @param {RegExpMatchArray} match\n * @param {{after:number}} param1\n */\n const hasClosingTag = (match, { after }) => {\n const tag = \"</\" + match[0].slice(1);\n const pos = match.input.indexOf(tag, after);\n return pos !== -1;\n };\n\n const IDENT_RE$1 = IDENT_RE;\n const FRAGMENT = {\n begin: '<>',\n end: '</>'\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `<Array<Array<number>>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // `<T, A extends keyof T, V>`\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // `<something>`\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `<blah />` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // <T = any>(key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // `<From extends string>`\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with \n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n className: 'attr',\n begin: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\n/*\nLanguage: TypeScript\nAuthor: Panu Horsmalahti <panu.horsmalahti@iki.fi>\nContributors: Ike Ku <dempfi@yahoo.com>\nDescription: TypeScript is a strict superset of JavaScript\nWebsite: https://www.typescriptlang.org\nCategory: common, scripting\n*/\n\n\n/** @type LanguageFn */\nfunction typescript(hljs) {\n const tsLanguage = javascript(hljs);\n\n const IDENT_RE$1 = IDENT_RE;\n const TYPES = [\n \"any\",\n \"void\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n \"never\",\n \"symbol\",\n \"bigint\",\n \"unknown\"\n ];\n const NAMESPACE = {\n begin: [\n /namespace/,\n /\\s+/,\n hljs.IDENT_RE\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n };\n const INTERFACE = {\n beginKeywords: 'interface',\n end: /\\{/,\n excludeEnd: true,\n keywords: {\n keyword: 'interface extends',\n built_in: TYPES\n },\n contains: [ tsLanguage.exports.CLASS_REFERENCE ]\n };\n const USE_STRICT = {\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use strict['\"]/\n };\n const TS_SPECIFIC_KEYWORDS = [\n \"type\",\n // \"namespace\",\n \"interface\",\n \"public\",\n \"private\",\n \"protected\",\n \"implements\",\n \"declare\",\n \"abstract\",\n \"readonly\",\n \"enum\",\n \"override\",\n \"satisfies\"\n ];\n\n /*\n namespace is a TS keyword but it's fine to use it as a variable name too.\n const message = 'foo';\n const namespace = 'bar';\n */\n\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS.concat(TS_SPECIFIC_KEYWORDS),\n literal: LITERALS,\n built_in: BUILT_INS.concat(TYPES),\n \"variable.language\": BUILT_IN_VARIABLES\n };\n const DECORATOR = {\n className: 'meta',\n begin: '@' + IDENT_RE$1,\n };\n\n const swapMode = (mode, label, replacement) => {\n const indx = mode.contains.findIndex(m => m.label === label);\n if (indx === -1) { throw new Error(\"can not find mode to replace\"); }\n\n mode.contains.splice(indx, 1, replacement);\n };\n\n\n // this should update anywhere keywords is used since\n // it will be the same actual JS object\n Object.assign(tsLanguage.keywords, KEYWORDS$1);\n\n tsLanguage.exports.PARAMS_CONTAINS.push(DECORATOR);\n\n // highlight the function params\n const ATTRIBUTE_HIGHLIGHT = tsLanguage.contains.find(c => c.className === \"attr\");\n tsLanguage.exports.PARAMS_CONTAINS.push([\n tsLanguage.exports.CLASS_REFERENCE, // class reference for highlighting the params types\n ATTRIBUTE_HIGHLIGHT, // highlight the params key\n ]);\n tsLanguage.contains = tsLanguage.contains.concat([\n DECORATOR,\n NAMESPACE,\n INTERFACE,\n ]);\n\n // TS gets a simpler shebang rule than JS\n swapMode(tsLanguage, \"shebang\", hljs.SHEBANG());\n // JS use strict rule purposely excludes `asm` which makes no sense\n swapMode(tsLanguage, \"use_strict\", USE_STRICT);\n\n const functionDeclaration = tsLanguage.contains.find(m => m.label === \"func.def\");\n functionDeclaration.relevance = 0; // () => {} is more typical in TypeScript\n\n Object.assign(tsLanguage, {\n name: 'TypeScript',\n aliases: [\n 'ts',\n 'tsx',\n 'mts',\n 'cts'\n ]\n });\n\n return tsLanguage;\n}\n\nexport { typescript as default };\n","/*\nLanguage: Visual Basic .NET\nDescription: Visual Basic .NET (VB.NET) is a multi-paradigm, object-oriented programming language, implemented on the .NET Framework.\nAuthors: Poren Chiang <ren.chiang@gmail.com>, Jan Pilzer\nWebsite: https://docs.microsoft.com/dotnet/visual-basic/getting-started\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction vbnet(hljs) {\n const regex = hljs.regex;\n /**\n * Character Literal\n * Either a single character (\"a\"C) or an escaped double quote (\"\"\"\"C).\n */\n const CHARACTER = {\n className: 'string',\n begin: /\"(\"\"|[^/n])\"C\\b/\n };\n\n const STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n illegal: /\\n/,\n contains: [\n {\n // double quote escape\n begin: /\"\"/ }\n ]\n };\n\n /** Date Literals consist of a date, a time, or both separated by whitespace, surrounded by # */\n const MM_DD_YYYY = /\\d{1,2}\\/\\d{1,2}\\/\\d{4}/;\n const YYYY_MM_DD = /\\d{4}-\\d{1,2}-\\d{1,2}/;\n const TIME_12H = /(\\d|1[012])(:\\d+){0,2} *(AM|PM)/;\n const TIME_24H = /\\d{1,2}(:\\d{1,2}){1,2}/;\n const DATE = {\n className: 'literal',\n variants: [\n {\n // #YYYY-MM-DD# (ISO-Date) or #M/D/YYYY# (US-Date)\n begin: regex.concat(/# */, regex.either(YYYY_MM_DD, MM_DD_YYYY), / *#/) },\n {\n // #H:mm[:ss]# (24h Time)\n begin: regex.concat(/# */, TIME_24H, / *#/) },\n {\n // #h[:mm[:ss]] A# (12h Time)\n begin: regex.concat(/# */, TIME_12H, / *#/) },\n {\n // date plus time\n begin: regex.concat(\n /# */,\n regex.either(YYYY_MM_DD, MM_DD_YYYY),\n / +/,\n regex.either(TIME_12H, TIME_24H),\n / *#/\n ) }\n ]\n };\n\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n {\n // Float\n begin: /\\b\\d[\\d_]*((\\.[\\d_]+(E[+-]?[\\d_]+)?)|(E[+-]?[\\d_]+))[RFD@!#]?/ },\n {\n // Integer (base 10)\n begin: /\\b\\d[\\d_]*((U?[SIL])|[%&])?/ },\n {\n // Integer (base 16)\n begin: /&H[\\dA-F_]+((U?[SIL])|[%&])?/ },\n {\n // Integer (base 8)\n begin: /&O[0-7_]+((U?[SIL])|[%&])?/ },\n {\n // Integer (base 2)\n begin: /&B[01_]+((U?[SIL])|[%&])?/ }\n ]\n };\n\n const LABEL = {\n className: 'label',\n begin: /^\\w+:/\n };\n\n const DOC_COMMENT = hljs.COMMENT(/'''/, /$/, { contains: [\n {\n className: 'doctag',\n begin: /<\\/?/,\n end: />/\n }\n ] });\n\n const COMMENT = hljs.COMMENT(null, /$/, { variants: [\n { begin: /'/ },\n {\n // TODO: Use multi-class for leading spaces\n begin: /([\\t ]|^)REM(?=\\s)/ }\n ] });\n\n const DIRECTIVES = {\n className: 'meta',\n // TODO: Use multi-class for indentation once available\n begin: /[\\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\\b/,\n end: /$/,\n keywords: { keyword:\n 'const disable else elseif enable end externalsource if region then' },\n contains: [ COMMENT ]\n };\n\n return {\n name: 'Visual Basic .NET',\n aliases: [ 'vb' ],\n case_insensitive: true,\n classNameAliases: { label: 'symbol' },\n keywords: {\n keyword:\n 'addhandler alias aggregate ansi as async assembly auto binary by byref byval ' /* a-b */\n + 'call case catch class compare const continue custom declare default delegate dim distinct do ' /* c-d */\n + 'each equals else elseif end enum erase error event exit explicit finally for friend from function ' /* e-f */\n + 'get global goto group handles if implements imports in inherits interface into iterator ' /* g-i */\n + 'join key let lib loop me mid module mustinherit mustoverride mybase myclass ' /* j-m */\n + 'namespace narrowing new next notinheritable notoverridable ' /* n */\n + 'of off on operator option optional order overloads overridable overrides ' /* o */\n + 'paramarray partial preserve private property protected public ' /* p */\n + 'raiseevent readonly redim removehandler resume return ' /* r */\n + 'select set shadows shared skip static step stop structure strict sub synclock ' /* s */\n + 'take text then throw to try unicode until using when where while widening with withevents writeonly yield' /* t-y */,\n built_in:\n // Operators https://docs.microsoft.com/dotnet/visual-basic/language-reference/operators\n 'addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor '\n // Type Conversion Functions https://docs.microsoft.com/dotnet/visual-basic/language-reference/functions/type-conversion-functions\n + 'cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort',\n type:\n // Data types https://docs.microsoft.com/dotnet/visual-basic/language-reference/data-types\n 'boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort',\n literal: 'true false nothing'\n },\n illegal:\n '//|\\\\{|\\\\}|endif|gosub|variant|wend|^\\\\$ ' /* reserved deprecated keywords */,\n contains: [\n CHARACTER,\n STRING,\n DATE,\n NUMBER,\n LABEL,\n DOC_COMMENT,\n COMMENT,\n DIRECTIVES\n ]\n };\n}\n\nexport { vbnet as default };\n","/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);;\n // const XML_IDENT_RE = /[A-Z_a-z:\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]+/;\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);\n // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /</,\n relevance: 0,\n contains: [\n {\n className: 'attr',\n begin: XML_IDENT_RE,\n relevance: 0\n },\n {\n begin: /=\\s*/,\n relevance: 0,\n contains: [\n {\n className: 'string',\n endsParent: true,\n variants: [\n {\n begin: /\"/,\n end: /\"/,\n contains: [ XML_ENTITIES ]\n },\n {\n begin: /'/,\n end: /'/,\n contains: [ XML_ENTITIES ]\n },\n { begin: /[^\\s\"'=<>`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: /<![a-z]/,\n end: />/,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: /<![a-z]/,\n end: />/,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n /<!--/,\n /-->/,\n { relevance: 10 }\n ),\n {\n begin: /<!\\[CDATA\\[/,\n end: /\\]\\]>/,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n '<style' as a single word, followed by a whitespace or an\n ending bracket.\n */\n begin: /<style(?=\\s|>)/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: [\n 'css',\n 'xml'\n ]\n }\n },\n {\n className: 'tag',\n // See the comment in the <style tag about the lookahead pattern\n begin: /<script(?=\\s|>)/,\n end: />/,\n keywords: { name: 'script' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/script>/,\n returnEnd: true,\n subLanguage: [\n 'javascript',\n 'handlebars',\n 'xml'\n ]\n }\n },\n // we need this for now for jSX\n {\n className: 'tag',\n begin: /<>|<\\/>/\n },\n // open tag\n {\n className: 'tag',\n begin: regex.concat(\n /</,\n regex.lookahead(regex.concat(\n TAG_NAME_RE,\n // <tag/>\n // <tag>\n // <tag ...\n regex.either(/\\/>/, />/, /\\s/)\n ))\n ),\n end: /\\/?>/,\n contains: [\n {\n className: 'name',\n begin: TAG_NAME_RE,\n relevance: 0,\n starts: TAG_INTERNALS\n }\n ]\n },\n // close tag\n {\n className: 'tag',\n begin: regex.concat(\n /<\\//,\n regex.lookahead(regex.concat(\n TAG_NAME_RE, />/\n ))\n ),\n contains: [\n {\n className: 'name',\n begin: TAG_NAME_RE,\n relevance: 0\n },\n {\n begin: />/,\n relevance: 0,\n endsParent: true\n }\n ]\n }\n ]\n };\n}\n\nexport { xml as default };\n","/*\nLanguage: YAML\nDescription: Yet Another Markdown Language\nAuthor: Stefan Wienert <stwienert@gmail.com>\nContributors: Carl Baxter <carl@cbax.tech>\nRequires: ruby.js\nWebsite: https://yaml.org\nCategory: common, config\n*/\nfunction yaml(hljs) {\n const LITERALS = 'true false yes no null';\n\n // YAML spec allows non-reserved URI characters in tags.\n const URI_CHARACTERS = '[\\\\w#;/?:@&=+$,.~*\\'()[\\\\]]+';\n\n // Define keys as starting with a word character\n // ...containing word chars, spaces, colons, forward-slashes, hyphens and periods\n // ...and ending with a colon followed immediately by a space, tab or newline.\n // The YAML spec allows for much more than this, but this covers most use-cases.\n const KEY = {\n className: 'attr',\n variants: [\n // added brackets support \n { begin: /\\w[\\w :()\\./-]*:(?=[ \\t]|$)/ },\n { // double quoted keys - with brackets\n begin: /\"\\w[\\w :()\\./-]*\":(?=[ \\t]|$)/ },\n { // single quoted keys - with brackets\n begin: /'\\w[\\w :()\\./-]*':(?=[ \\t]|$)/ },\n ]\n };\n\n const TEMPLATE_VARIABLES = {\n className: 'template-variable',\n variants: [\n { // jinja templates Ansible\n begin: /\\{\\{/,\n end: /\\}\\}/\n },\n { // Ruby i18n\n begin: /%\\{/,\n end: /\\}/\n }\n ]\n };\n const STRING = {\n className: 'string',\n relevance: 0,\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n { begin: /\\S+/ }\n ],\n contains: [\n hljs.BACKSLASH_ESCAPE,\n TEMPLATE_VARIABLES\n ]\n };\n\n // Strings inside of value containers (objects) can't contain braces,\n // brackets, or commas\n const CONTAINER_STRING = hljs.inherit(STRING, { variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n { begin: /[^\\s,{}[\\]]+/ }\n ] });\n\n const DATE_RE = '[0-9]{4}(-[0-9][0-9]){0,2}';\n const TIME_RE = '([Tt \\\\t][0-9][0-9]?(:[0-9][0-9]){2})?';\n const FRACTION_RE = '(\\\\.[0-9]*)?';\n const ZONE_RE = '([ \\\\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?';\n const TIMESTAMP = {\n className: 'number',\n begin: '\\\\b' + DATE_RE + TIME_RE + FRACTION_RE + ZONE_RE + '\\\\b'\n };\n\n const VALUE_CONTAINER = {\n end: ',',\n endsWithParent: true,\n excludeEnd: true,\n keywords: LITERALS,\n relevance: 0\n };\n const OBJECT = {\n begin: /\\{/,\n end: /\\}/,\n contains: [ VALUE_CONTAINER ],\n illegal: '\\\\n',\n relevance: 0\n };\n const ARRAY = {\n begin: '\\\\[',\n end: '\\\\]',\n contains: [ VALUE_CONTAINER ],\n illegal: '\\\\n',\n relevance: 0\n };\n\n const MODES = [\n KEY,\n {\n className: 'meta',\n begin: '^---\\\\s*$',\n relevance: 10\n },\n { // multi line string\n // Blocks start with a | or > followed by a newline\n //\n // Indentation of subsequent lines must be the same to\n // be considered part of the block\n className: 'string',\n begin: '[\\\\|>]([1-9]?[+-])?[ ]*\\\\n( +)[^ ][^\\\\n]*\\\\n(\\\\2[^\\\\n]+\\\\n?)*'\n },\n { // Ruby/Rails erb\n begin: '<%[%=-]?',\n end: '[%-]?%>',\n subLanguage: 'ruby',\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0\n },\n { // named tags\n className: 'type',\n begin: '!\\\\w+!' + URI_CHARACTERS\n },\n // https://yaml.org/spec/1.2/spec.html#id2784064\n { // verbatim tags\n className: 'type',\n begin: '!<' + URI_CHARACTERS + \">\"\n },\n { // primary tags\n className: 'type',\n begin: '!' + URI_CHARACTERS\n },\n { // secondary tags\n className: 'type',\n begin: '!!' + URI_CHARACTERS\n },\n { // fragment id &ref\n className: 'meta',\n begin: '&' + hljs.UNDERSCORE_IDENT_RE + '$'\n },\n { // fragment reference *ref\n className: 'meta',\n begin: '\\\\*' + hljs.UNDERSCORE_IDENT_RE + '$'\n },\n { // array listing\n className: 'bullet',\n // TODO: remove |$ hack when we have proper look-ahead support\n begin: '-(?=[ ]|$)',\n relevance: 0\n },\n hljs.HASH_COMMENT_MODE,\n {\n beginKeywords: LITERALS,\n keywords: { literal: LITERALS }\n },\n TIMESTAMP,\n // numbers are any valid C-style number that\n // sit isolated from other words\n {\n className: 'number',\n begin: hljs.C_NUMBER_RE + '\\\\b',\n relevance: 0\n },\n OBJECT,\n ARRAY,\n STRING\n ];\n\n const VALUE_MODES = [ ...MODES ];\n VALUE_MODES.pop();\n VALUE_MODES.push(CONTAINER_STRING);\n VALUE_CONTAINER.contains = VALUE_MODES;\n\n return {\n name: 'YAML',\n case_insensitive: true,\n aliases: [ 'yml' ],\n contains: MODES\n };\n}\n\nexport { yaml as default };\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport classNames from 'classnames';\nimport { HighlightResult } from 'highlight.js';\nimport hljs from 'highlight.js/lib/core';\nimport actionscript from 'highlight.js/lib/languages/actionscript';\nimport bash from 'highlight.js/lib/languages/bash';\nimport c from 'highlight.js/lib/languages/c';\nimport cpp from 'highlight.js/lib/languages/cpp';\nimport csharp from 'highlight.js/lib/languages/csharp';\nimport css from 'highlight.js/lib/languages/css';\nimport dart from 'highlight.js/lib/languages/dart';\nimport docker from 'highlight.js/lib/languages/dockerfile';\nimport go from 'highlight.js/lib/languages/go';\nimport gradle from 'highlight.js/lib/languages/gradle';\nimport java from 'highlight.js/lib/languages/java';\nimport javascript from 'highlight.js/lib/languages/javascript';\nimport json from 'highlight.js/lib/languages/json';\nimport kotlin from 'highlight.js/lib/languages/kotlin';\nimport objectivec from 'highlight.js/lib/languages/objectivec';\nimport pgsql from 'highlight.js/lib/languages/pgsql';\nimport php from 'highlight.js/lib/languages/php';\nimport plaintext from 'highlight.js/lib/languages/plaintext';\nimport powershell from 'highlight.js/lib/languages/powershell';\nimport properties from 'highlight.js/lib/languages/properties';\nimport python from 'highlight.js/lib/languages/python';\nimport ruby from 'highlight.js/lib/languages/ruby';\nimport scala from 'highlight.js/lib/languages/scala';\nimport shell from 'highlight.js/lib/languages/shell';\nimport sql from 'highlight.js/lib/languages/sql';\nimport swift from 'highlight.js/lib/languages/swift';\nimport typescript from 'highlight.js/lib/languages/typescript';\nimport vbnet from 'highlight.js/lib/languages/vbnet';\nimport xml from 'highlight.js/lib/languages/xml';\nimport yaml from 'highlight.js/lib/languages/yaml';\nimport apex from 'highlightjs-apex';\nimport cobol from 'highlightjs-cobol';\nimport abap from 'highlightjs-sap-abap';\nimport tw from 'twin.macro';\nimport { themeColor, themeContrast } from '../helpers/theme';\nimport { hljsIssueIndicatorPlugin, hljsUnderlinePlugin } from '../sonar-aligned';\nimport { SafeHTMLInjection, SanitizeLevel } from '../sonar-aligned/helpers/sanitize';\n\n// Supported Languages: https://highlightjs.readthedocs.io/en/latest/supported-languages.html\n// Registering languages individually reduce the packaged size to ~62kb instead of ~440kb\n// Terraform package is outdated an unmaintained\nhljs.registerLanguage('actionscript', actionscript);\nhljs.registerLanguage('bash', bash);\nhljs.registerLanguage('c', c);\nhljs.registerLanguage('cpp', cpp);\nhljs.registerLanguage('csharp', csharp);\nhljs.registerLanguage('css', css);\nhljs.registerLanguage('docker', docker);\nhljs.registerLanguage('go', go);\nhljs.registerLanguage('gradle', gradle);\nhljs.registerLanguage('java', java);\nhljs.registerLanguage('javascript', javascript);\nhljs.registerLanguage('json', json);\nhljs.registerLanguage('dart', dart);\nhljs.registerLanguage('kotlin', kotlin);\nhljs.registerLanguage('objectivec', objectivec);\nhljs.registerLanguage('pgsql', pgsql);\nhljs.registerLanguage('php', php);\nhljs.registerLanguage('plaintext', plaintext);\nhljs.registerLanguage('powershell', powershell);\nhljs.registerLanguage('properties', properties);\nhljs.registerLanguage('python', python);\nhljs.registerLanguage('ruby', ruby);\nhljs.registerLanguage('scala', scala);\nhljs.registerLanguage('shell', shell);\nhljs.registerLanguage('sql', sql);\nhljs.registerLanguage('swift', swift);\nhljs.registerLanguage('typescript', typescript);\nhljs.registerLanguage('vbnet', vbnet);\nhljs.registerLanguage('xml', xml);\nhljs.registerLanguage('yaml', yaml);\nhljs.registerLanguage('abap', abap);\nhljs.registerLanguage('apex', apex);\nhljs.registerLanguage('cobol', cobol);\n\n// By default, highlight js will treat unknown language as plaintext\nhljs.registerAliases('azureresourcemanager', { languageName: 'json' });\nhljs.registerAliases('flex', { languageName: 'actionscript' });\nhljs.registerAliases('objc', { languageName: 'objectivec' });\nhljs.registerAliases('plsql', { languageName: 'pgsql' });\nhljs.registerAliases('ipynb', { languageName: 'python' });\n// tsql plugin doesn't work with Vite and is ~13kb in size\nhljs.registerAliases('tsql', { languageName: 'sql' });\nhljs.registerAliases('secrets', { languageName: 'markdown' });\nhljs.registerAliases('web', { languageName: 'xml' });\nhljs.registerAliases(['cloudformation', 'kubernetes'], { languageName: 'yaml' });\n\nhljs.addPlugin(hljsIssueIndicatorPlugin);\nhljs.addPlugin(hljsUnderlinePlugin);\n\ninterface Props {\n className?: string;\n escapeDom?: boolean;\n htmlAsString: string;\n language?: string;\n sanitizeLevel?: SanitizeLevel;\n wrap?: boolean | 'words';\n}\n\nconst CODE_REGEXP = '<(code|pre)\\\\b([^>]*?)>(.+?)<\\\\/\\\\1>';\nconst GLOBAL_REGEXP = new RegExp(CODE_REGEXP, 'gs');\nconst SINGLE_REGEXP = new RegExp(CODE_REGEXP, 's');\n\nconst htmlDecode = (escapedCode: string) => {\n const doc = new DOMParser().parseFromString(escapedCode, 'text/html');\n\n return doc.documentElement.textContent ?? '';\n};\n\nexport function CodeSyntaxHighlighter(props: Readonly<Props>) {\n const {\n className,\n escapeDom = true,\n htmlAsString,\n language,\n sanitizeLevel = SanitizeLevel.FORBID_STYLE,\n wrap,\n } = props;\n let highlightedHtmlAsString = htmlAsString;\n\n htmlAsString.match(GLOBAL_REGEXP)?.forEach((codeBlock) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const [, tag, attributes, code] = SINGLE_REGEXP.exec(codeBlock)!;\n\n const unescapedCode = escapeDom ? htmlDecode(code) : code;\n let highlightedCode: HighlightResult;\n\n try {\n const actualLanguage =\n language !== undefined && hljs.getLanguage(language) ? language : 'plaintext';\n\n highlightedCode = hljs.highlight(unescapedCode, {\n ignoreIllegals: true,\n language: actualLanguage,\n });\n } catch {\n highlightedCode = hljs.highlight(unescapedCode, {\n ignoreIllegals: true,\n language: 'plaintext',\n });\n }\n\n highlightedHtmlAsString = highlightedHtmlAsString.replace(\n codeBlock,\n // Use a function to avoid triggering special replacement patterns\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_the_replacement\n () => `<${tag}${attributes}>${highlightedCode.value}</${tag}>`,\n );\n });\n\n return (\n <SafeHTMLInjection htmlAsString={highlightedHtmlAsString} sanitizeLevel={sanitizeLevel}>\n <StyledSpan\n className={classNames(\n `hljs ${className ?? ''}`,\n { 'code-wrap': wrap },\n { 'wrap-words': wrap === 'words' },\n )}\n />\n </SafeHTMLInjection>\n );\n}\n\nconst StyledSpan = styled.span`\n code {\n ${tw`sw-code`};\n\n background: ${themeColor('codeSnippetBackground')};\n color: ${themeColor('codeSnippetBody')};\n\n &.hljs {\n padding: unset;\n }\n }\n\n .hljs-meta,\n .hljs-variable {\n color: ${themeColor('codeSnippetBody')};\n }\n\n .hljs-doctag,\n .hljs-title,\n .hljs-title.class_,\n .hljs-title.function_ {\n color: ${themeColor('codeSnippetAnnotations')};\n }\n\n .hljs-comment {\n ${tw`sw-code-comment`}\n\n color: ${themeColor('codeSnippetComments')};\n }\n\n .hljs-keyword,\n .hljs-tag,\n .hljs-type {\n color: ${themeColor('codeSnippetKeyword')};\n }\n\n .hljs-literal,\n .hljs-number {\n color: ${themeColor('codeSnippetConstants')};\n }\n\n .hljs-string {\n color: ${themeColor('codeSnippetString')};\n }\n\n .hljs-meta .hljs-keyword {\n color: ${themeColor('codeSnippetPreprocessingDirective')};\n }\n\n .sonar-underline {\n text-decoration: underline ${themeColor('codeLineIssueSquiggle')}; // Fallback\n text-decoration: underline ${themeColor('codeLineIssueSquiggle')} wavy;\n text-decoration-thickness: 2px;\n text-decoration-skip-ink: none;\n }\n\n &.code-wrap {\n ${tw`sw-whitespace-pre-wrap`}\n ${tw`sw-break-all`}\n\n &.wrap-words {\n word-break: normal;\n ${tw`sw-break-words`}\n }\n }\n\n mark {\n ${tw`sw-font-regular`}\n ${tw`sw-p-1`}\n ${tw`sw-rounded-1`}\n\n background-color: ${themeColor('codeSnippetHighlight')};\n color: ${themeContrast('codeSnippetHighlight')};\n }\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport classNames from 'classnames';\nimport { ReactNode } from 'react';\nimport tw from 'twin.macro';\nimport { themeBorder, themeColor, themeContrast } from '../helpers/theme';\nimport { BareButton } from '../sonar-aligned/components/buttons';\nimport { OpenCloseIndicator } from './icons/OpenCloseIndicator';\n\ninterface Props {\n children: ReactNode;\n expanded?: boolean;\n header: ReactNode;\n hidden?: boolean;\n id: string;\n innerRef?: (node: HTMLDivElement) => void;\n onClick?: () => void;\n}\n\nexport function ExecutionFlowAccordion(props: Readonly<Props>) {\n const { children, expanded, header, hidden, id, innerRef, onClick } = props;\n\n return (\n <Accordion className={classNames({ expanded, 'sw-hidden': hidden })} ref={innerRef}>\n <Expander\n aria-controls={`${id}-flow-accordion`}\n aria-expanded={expanded}\n aria-hidden={hidden}\n id={`${id}-flow-accordion-button`}\n onClick={onClick}\n >\n {header}\n <OpenCloseIndicator open={Boolean(expanded)} />\n </Expander>\n\n {expanded && <Body id={`${id}-flow-accordion-body`}>{children}</Body>}\n </Accordion>\n );\n}\n\nconst Expander = styled(BareButton)`\n ${tw`sw-flex sw-items-center sw-justify-between`}\n ${tw`sw-box-border`}\n ${tw`sw-p-2`}\n ${tw`sw-w-full`}\n ${tw`sw-cursor-pointer`}\n\n color: ${themeContrast('subnavigationExecutionFlow')};\n background-color: ${themeColor('subnavigationExecutionFlow')};\n`;\n\nconst Accordion = styled.div`\n ${tw`sw-flex sw-flex-col`}\n ${tw`sw-rounded-1/2`}\n\n border: ${themeBorder('default', 'subnavigationExecutionFlowBorder')};\n\n &:hover {\n border: ${themeBorder('default', 'subnavigationExecutionFlowActive')};\n }\n\n &.expanded {\n border: ${themeBorder('default', 'subnavigationExecutionFlowActive')};\n outline: ${themeBorder('focus', 'primary')};\n\n ${Expander} {\n border-bottom: ${themeBorder('default', 'subnavigationExecutionFlowBorder')};\n }\n }\n`;\n\nconst Body = styled.div`\n ${tw`sw-p-2`}\n\n background-color: ${themeColor('subnavigationExecutionFlow')};\n`;\n\nExecutionFlowAccordion.displayName = 'ExecutionFlowAccordion';\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { ButtonIcon, ButtonSize, ButtonVariety, IconX, Text } from '@sonarsource/echoes-react';\nimport classNames from 'classnames';\nimport { uniqueId } from 'lodash';\nimport * as React from 'react';\nimport { useIntl } from 'react-intl';\nimport tw from 'twin.macro';\nimport { themeColor } from '../helpers';\nimport { BareButton } from '../sonar-aligned/components/buttons';\nimport { Badge } from './Badge';\nimport { Spinner } from './Spinner';\nimport { Tooltip as SCTooltip } from './Tooltip';\nimport { OpenCloseIndicator } from './icons';\n\nexport interface FacetBoxProps {\n ariaLabel?: string;\n children: React.ReactNode;\n className?: string;\n clearIconLabel?: string;\n count?: number;\n countLabel?: string;\n 'data-property'?: string;\n disabled?: boolean;\n disabledHelper?: string;\n hasEmbeddedFacets?: boolean;\n help?: React.ReactNode;\n id?: string;\n inner?: boolean;\n loading?: boolean;\n name: string;\n onClear?: () => void;\n onClick?: (isOpen: boolean) => void;\n open?: boolean;\n secondLine?: string;\n tooltipComponent?: React.ComponentType<React.PropsWithChildren<{ content: React.ReactNode }>>;\n}\n\nexport function FacetBox(props: FacetBoxProps) {\n const {\n ariaLabel,\n children,\n className,\n clearIconLabel,\n count,\n countLabel,\n 'data-property': dataProperty,\n disabled = false,\n disabledHelper,\n secondLine,\n hasEmbeddedFacets = false,\n help,\n id: idProp,\n inner = false,\n loading = false,\n name,\n onClear,\n onClick,\n open = false,\n tooltipComponent,\n } = props;\n const intl = useIntl();\n\n const clearable = !disabled && Boolean(onClear) && count !== undefined && count > 0;\n const counter = count ?? 0;\n const expandable = !disabled && Boolean(onClick);\n const id = React.useMemo(() => idProp ?? uniqueId('filter-facet-'), [idProp]);\n const Tooltip = tooltipComponent ?? SCTooltip;\n\n return (\n <Accordion\n className={classNames(className, { open })}\n data-property={dataProperty}\n hasEmbeddedFacets={hasEmbeddedFacets}\n inner={inner}\n >\n <Header>\n <div className=\"sw-flex sw-items-center\">\n <TitleWithHelp>\n <ChevronAndTitle\n aria-controls={`${id}-panel`}\n aria-disabled={!expandable}\n aria-expanded={open}\n aria-label={ariaLabel ?? name}\n expandable={expandable}\n id={`${id}-header`}\n onClick={() => {\n if (!disabled) {\n onClick?.(!open);\n }\n }}\n >\n {expandable && <OpenCloseIndicator aria-hidden open={open} />}\n\n {disabled ? (\n <Tooltip content={disabledHelper}>\n <HeaderTitle\n aria-disabled\n aria-label={`${name}, ${disabledHelper ?? ''}`}\n disabled={disabled}\n >\n {name}\n </HeaderTitle>\n </Tooltip>\n ) : (\n <div>\n <HeaderTitle>{name}</HeaderTitle>\n {secondLine !== undefined && (\n <Text as=\"div\" isSubdued>\n {secondLine}\n </Text>\n )}\n </div>\n )}\n </ChevronAndTitle>\n </TitleWithHelp>\n {help && <span className=\"sw-ml-1\">{help}</span>}\n </div>\n\n {<Spinner loading={loading} />}\n\n {counter > 0 && (\n <BadgeAndIcons>\n <Badge className=\"sw-px-2\" title={countLabel} variant=\"counter\">\n {counter}\n </Badge>\n\n {Boolean(clearable) && (\n <Tooltip content={clearIconLabel}>\n <ButtonIcon\n variety={ButtonVariety.DefaultGhost}\n ariaLabel={\n clearIconLabel ?? intl.formatMessage({ id: 'clear_x_filter' }, { '0': name })\n }\n data-testid={`clear-${name}`}\n onClick={onClear}\n Icon={IconX}\n size={ButtonSize.Medium}\n />\n </Tooltip>\n )}\n </BadgeAndIcons>\n )}\n </Header>\n\n {open && (\n <div aria-labelledby={`${id}-header`} id={`${id}-panel`} role=\"group\">\n {children}\n </div>\n )}\n </Accordion>\n );\n}\n\nFacetBox.displayName = 'FacetBox'; // so that tests don't see the obfuscated production name\n\nconst Accordion = styled.div<{\n hasEmbeddedFacets?: boolean;\n inner?: boolean;\n}>`\n ${tw`sw-flex-col`};\n ${tw`sw-flex`};\n ${tw`sw-gap-3`};\n\n ${({ hasEmbeddedFacets }) => (hasEmbeddedFacets ? tw`sw-gap-0` : '')};\n\n ${({ inner }) => (inner ? tw`sw-gap-1 sw-ml-3 sw-mt-1` : '')};\n`;\n\nconst BadgeAndIcons = styled.div`\n ${tw`sw-flex`};\n ${tw`sw-items-center`};\n ${tw`sw-gap-2`};\n`;\n\nconst TitleWithHelp = styled.div`\n ${tw`sw-flex`};\n ${tw`sw-items-center`};\n`;\n\nconst ChevronAndTitle = styled(BareButton)<{\n expandable?: boolean;\n}>`\n ${tw`sw-flex`};\n ${tw`sw-gap-1`};\n ${tw`sw-h-9`};\n ${tw`sw-items-center`};\n\n cursor: ${({ expandable }) => (expandable ? 'pointer' : 'default')};\n\n &:focus-visible {\n background: transparent;\n outline: var(--echoes-focus-border-width-default) solid var(--echoes-color-focus-default);\n outline-offset: 4px;\n border-radius: var(--echoes-border-radius-200);\n }\n`;\n\nconst Header = styled.div`\n ${tw`sw-flex`};\n ${tw`sw-gap-3`};\n ${tw`sw-items-center`};\n ${tw`sw-justify-between`};\n`;\n\nconst HeaderTitle = styled.span<{\n disabled?: boolean;\n}>`\n ${tw`sw-typo-semibold`};\n\n color: ${({ disabled }) =>\n disabled ? 'var(--echoes-color-text-disabled)' : themeColor('facetHeader')};\n\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'inherit')};\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport tw from 'twin.macro';\nimport { themeBorder, themeColor } from '../helpers';\nimport { isDefined } from '../helpers/types';\nimport { ButtonProps, ButtonSecondary } from '../sonar-aligned/components/buttons';\n\nexport type FacetItemProps = Omit<ButtonProps, 'name' | 'onClick'> & {\n active?: boolean;\n /** Disable the item if its value is 0. True by default. */\n disableZero?: boolean;\n name: string | React.ReactNode;\n onClick: (x: string, multiple?: boolean) => void;\n small?: boolean;\n stat?: React.ReactNode;\n statBarPercent?: number;\n /** Textual version of `name` */\n tooltip?: string;\n value: string;\n};\n\nconst STATBAR_MAX_WIDTH = 60;\n\nexport function BaseFacetItem({\n active = false,\n className,\n disabled: disabledProp = false,\n disableZero = true,\n icon,\n name,\n onClick,\n small,\n stat,\n statBarPercent,\n tooltip,\n value,\n}: FacetItemProps) {\n // alow an active facet to be disabled even if it now has a \"0\" stat\n // (it was activated when a different value of My issues/All/New code was selected)\n const disabled = disabledProp || (disableZero && !active && stat !== undefined && stat === 0);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n\n onClick(value, event.ctrlKey || event.metaKey);\n };\n\n return (\n <StyledItem active={active} className={classNames({ active }, className)} role=\"listitem\">\n <StyledButton\n active={active}\n aria-checked={active}\n aria-label={typeof name === 'string' ? name : undefined}\n data-facet={value}\n disabled={disabled}\n icon={icon}\n onClick={handleClick}\n role=\"checkbox\"\n small={small}\n title={tooltip}\n >\n <div className=\"container\">\n <span className=\"name\">{name}</span>\n <div>\n <span className=\"stat\">{stat}</span>\n {isDefined(statBarPercent) && (\n <FacetStatBar>\n <FacetStatBarInner\n style={{ '--statBarWidth': `${statBarPercent * STATBAR_MAX_WIDTH}px` }}\n />\n </FacetStatBar>\n )}\n </div>\n </div>\n </StyledButton>\n </StyledItem>\n );\n}\n\nBaseFacetItem.displayName = 'FacetItem'; // so that tests don't see the obfuscated production name\n\nexport const FacetItem = styled(BaseFacetItem)``;\n\nconst StyledButton = styled(ButtonSecondary)<{ active?: boolean; small?: boolean }>`\n ${tw`sw-typo-default`};\n ${tw`sw-box-border`};\n ${tw`sw-h-7`};\n ${tw`sw-px-1`};\n ${tw`sw-rounded-1`};\n ${tw`sw-w-full`};\n\n ${({ small }) => (small ? tw`sw-typo-sm sw-pr-0` : '')};\n\n --background: ${({ active }) => (active ? themeColor('facetItemSelected') : 'transparent')};\n --backgroundHover: ${({ active }) => (active ? themeColor('facetItemSelected') : 'transparent')};\n\n --border: none;\n\n & div.container {\n ${tw`sw-container`};\n ${tw`sw-flex`};\n ${tw`sw-items-center`};\n ${tw`sw-justify-between`};\n\n & span.name {\n ${tw`sw-pr-1`};\n ${tw`sw-truncate`};\n\n & mark {\n background-color: ${themeColor('searchHighlight')};\n font-weight: 400;\n }\n }\n\n & span.stat {\n color: var(--echoes-color-text-subdued);\n }\n }\n\n &:disabled {\n background-color: transparent;\n border-color: transparent;\n\n & span.container span.stat {\n color: var(--echoes-color-text-disabled);\n }\n\n &:hover {\n background-color: transparent;\n border-color: transparent;\n }\n }\n`;\n\n/*&:hover {\n --border: ${themeBorder('default', 'facetItemSelectedBorder')};\n }*/\n\nconst StyledItem = styled.span<{ active: boolean }>`\n border: ${({ active }) =>\n active\n ? themeBorder('default', 'facetItemSelectedBorder')\n : themeBorder('default', 'transparent')};\n\n border-radius: 0.25rem;\n\n &:hover,\n &:active,\n &:focus {\n border-color: ${themeColor('facetItemSelectedBorder')};\n }\n`;\n\nconst FacetStatBar = styled.div`\n ${tw`sw-inline-block`}\n ${tw`sw-ml-2`}\n\n width: ${STATBAR_MAX_WIDTH}px;\n`;\n\nconst FacetStatBarInner = styled.div`\n width: var(--statBarWidth);\n min-width: 5px;\n height: 10px;\n background-color: ${themeColor('facetItemGraph')};\n transition: width 0.3s ease;\n`;\n\nexport const HighlightedFacetItems = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n\n ${FacetItem} {\n &:is(:hover, .active) {\n border-color: ${themeColor('facetItemSelectedBorder')};\n padding-bottom: 1px;\n border-bottom-width: 0;\n border-bottom-right-radius: 0rem;\n border-bottom-left-radius: 0rem;\n\n &:last-of-type {\n padding-bottom: 0;\n border-bottom-width: 1px;\n border-radius: 0.25rem;\n }\n\n & ~ ${FacetItem} {\n border-color: ${themeColor('facetItemSelectedBorder')};\n padding-bottom: 1px;\n padding-top: 1px;\n border-top-width: 0;\n border-bottom-width: 0;\n border-radius: 0;\n }\n\n & ~ ${FacetItem}:last-of-type {\n padding-bottom: 0;\n border-bottom-width: 1px;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n }\n\n &.active {\n background-color: ${themeColor('facetItemSelected')};\n\n & ~ ${FacetItem} {\n background-color: ${themeColor('facetItemSelected')};\n }\n\n & ~ ${FacetItem}:hover, & ~ ${FacetItem}:hover ~ ${FacetItem} {\n background-color: ${themeColor('facetItemSelectedHover')};\n }\n }\n\n &.active ~ ${FacetItem}:hover, &:hover ~ ${FacetItem}.active {\n padding-top: 0;\n border-top-width: 1px;\n }\n }\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport styled from '@emotion/styled';\nimport { max } from 'd3-array';\nimport { scaleBand, ScaleBand, scaleLinear, ScaleLinear } from 'd3-scale';\nimport React from 'react';\nimport tw from 'twin.macro';\nimport { themeColor, themeContrast } from '../helpers';\nimport { Tooltip, TooltipWrapper } from './Tooltip';\n\ninterface Props {\n bars: number[];\n height: number;\n leftAlignTicks?: boolean;\n padding?: [number, number, number, number];\n width: number;\n yTicks?: string[];\n yTooltips?: string[];\n yValues?: string[];\n}\n\nconst BAR_HEIGHT = 10;\nconst DEFAULT_PADDING = [10, 10, 10, 10];\n\ntype XScale = ScaleLinear<number, number>;\ntype YScale = ScaleBand<number>;\n\nexport class Histogram extends React.PureComponent<Props> {\n renderBar(d: number, index: number, xScale: XScale, yScale: YScale) {\n const { leftAlignTicks, padding = DEFAULT_PADDING } = this.props;\n\n const width = Math.round(xScale(d)) + /* minimum bar width */ 1;\n const x = xScale.range()[0] + (leftAlignTicks ? padding[3] : 0);\n const y = Math.round((yScale(index) ?? 0) + yScale.bandwidth() / 2);\n\n return <HistogramBar height={BAR_HEIGHT} width={width} x={x} y={y} />;\n }\n\n renderValue(d: number, index: number, xScale: XScale, yScale: YScale) {\n const { leftAlignTicks, padding = DEFAULT_PADDING, yValues } = this.props;\n\n const value = yValues && yValues[index];\n\n if (!value) {\n return null;\n }\n\n const x = xScale(d) + (leftAlignTicks ? padding[3] : 0);\n const y = Math.round((yScale(index) ?? 0) + yScale.bandwidth() / 2 + BAR_HEIGHT / 2);\n\n return (\n <Tooltip content={this.props.yTooltips && this.props.yTooltips[index]}>\n <HistogramTick dx=\"1em\" dy=\"0.3em\" textAnchor=\"start\" x={x} y={y}>\n {value}\n </HistogramTick>\n </Tooltip>\n );\n }\n\n renderTick(index: number, xScale: XScale, yScale: YScale) {\n const { leftAlignTicks, yTicks } = this.props;\n\n const tick = yTicks && yTicks[index];\n\n if (!tick) {\n return null;\n }\n\n const x = xScale.range()[0];\n const y = Math.round((yScale(index) ?? 0) + yScale.bandwidth() / 2 + BAR_HEIGHT / 2);\n\n return (\n <HistogramTick\n dx={leftAlignTicks ? 0 : '-1em'}\n dy=\"0.3em\"\n textAnchor={leftAlignTicks ? 'start' : 'end'}\n x={x}\n y={y}\n >\n {tick}\n </HistogramTick>\n );\n }\n\n renderBars(xScale: XScale, yScale: YScale) {\n return (\n <g>\n {this.props.bars.map((d, index) => (\n <g key={index}>\n {this.renderBar(d, index, xScale, yScale)}\n {this.renderValue(d, index, xScale, yScale)}\n {this.renderTick(index, xScale, yScale)}\n </g>\n ))}\n </g>\n );\n }\n\n render() {\n const { bars, height, leftAlignTicks, padding = DEFAULT_PADDING, width } = this.props;\n\n const availableWidth = width - padding[1] - padding[3];\n const xScale: XScale = scaleLinear()\n .domain([0, max(bars) ?? 0])\n .range([0, availableWidth]);\n\n const availableHeight = height - padding[0] - padding[2];\n const yScale: YScale = scaleBand<number>()\n .domain(bars.map((_, index) => index))\n .rangeRound([0, availableHeight]);\n\n return (\n <svg height={this.props.height} width={this.props.width}>\n <g transform={`translate(${leftAlignTicks ? 0 : padding[3]}, ${padding[0]})`}>\n {this.renderBars(xScale, yScale)}\n </g>\n </svg>\n );\n }\n}\n\nconst HistogramTick = styled.text`\n ${tw`sw-typo-default`}\n fill: var(--echoes-color-text-subdued);\n\n ${TooltipWrapper} & {\n fill: ${themeContrast('primary')};\n }\n`;\n\nconst HistogramBar = styled.rect`\n fill: ${themeColor('primary')};\n`;\n","import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { createContext, useContext, useState, forwardRef, useEffect, useRef, useLayoutEffect } from 'react';\nimport { format, startOfMonth, endOfMonth, startOfDay, isSameYear, setMonth, setYear, startOfYear, differenceInCalendarMonths, addMonths, isSameMonth, isBefore, startOfISOWeek, startOfWeek, addDays, isSameDay, isAfter, subDays, differenceInCalendarDays, isDate, max, min, addWeeks, addYears, endOfISOWeek, endOfWeek, getUnixTime, getISOWeek, getWeek, getWeeksInMonth, parse } from 'date-fns';\nimport { enUS } from 'date-fns/locale';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\n/** Returns true when the props are of type {@link DayPickerMultipleProps}. */\nfunction isDayPickerMultiple(props) {\n return props.mode === 'multiple';\n}\n\n/** Returns true when the props are of type {@link DayPickerRangeProps}. */\nfunction isDayPickerRange(props) {\n return props.mode === 'range';\n}\n\n/** Returns true when the props are of type {@link DayPickerSingleProps}. */\nfunction isDayPickerSingle(props) {\n return props.mode === 'single';\n}\n\n/**\n * The name of the default CSS classes.\n */\nvar defaultClassNames = {\n root: 'rdp',\n multiple_months: 'rdp-multiple_months',\n with_weeknumber: 'rdp-with_weeknumber',\n vhidden: 'rdp-vhidden',\n button_reset: 'rdp-button_reset',\n button: 'rdp-button',\n caption: 'rdp-caption',\n caption_start: 'rdp-caption_start',\n caption_end: 'rdp-caption_end',\n caption_between: 'rdp-caption_between',\n caption_label: 'rdp-caption_label',\n caption_dropdowns: 'rdp-caption_dropdowns',\n dropdown: 'rdp-dropdown',\n dropdown_month: 'rdp-dropdown_month',\n dropdown_year: 'rdp-dropdown_year',\n dropdown_icon: 'rdp-dropdown_icon',\n months: 'rdp-months',\n month: 'rdp-month',\n table: 'rdp-table',\n tbody: 'rdp-tbody',\n tfoot: 'rdp-tfoot',\n head: 'rdp-head',\n head_row: 'rdp-head_row',\n head_cell: 'rdp-head_cell',\n nav: 'rdp-nav',\n nav_button: 'rdp-nav_button',\n nav_button_previous: 'rdp-nav_button_previous',\n nav_button_next: 'rdp-nav_button_next',\n nav_icon: 'rdp-nav_icon',\n row: 'rdp-row',\n weeknumber: 'rdp-weeknumber',\n cell: 'rdp-cell',\n day: 'rdp-day',\n day_today: 'rdp-day_today',\n day_outside: 'rdp-day_outside',\n day_selected: 'rdp-day_selected',\n day_disabled: 'rdp-day_disabled',\n day_hidden: 'rdp-day_hidden',\n day_range_start: 'rdp-day_range_start',\n day_range_end: 'rdp-day_range_end',\n day_range_middle: 'rdp-day_range_middle'\n};\n\n/**\n * The default formatter for the caption.\n */\nfunction formatCaption(month, options) {\n return format(month, 'LLLL y', options);\n}\n\n/**\n * The default formatter for the Day button.\n */\nfunction formatDay(day, options) {\n return format(day, 'd', options);\n}\n\n/**\n * The default formatter for the Month caption.\n */\nfunction formatMonthCaption(month, options) {\n return format(month, 'LLLL', options);\n}\n\n/**\n * The default formatter for the week number.\n */\nfunction formatWeekNumber(weekNumber) {\n return \"\".concat(weekNumber);\n}\n\n/**\n * The default formatter for the name of the weekday.\n */\nfunction formatWeekdayName(weekday, options) {\n return format(weekday, 'cccccc', options);\n}\n\n/**\n * The default formatter for the Year caption.\n */\nfunction formatYearCaption(year, options) {\n return format(year, 'yyyy', options);\n}\n\nvar formatters = /*#__PURE__*/Object.freeze({\n __proto__: null,\n formatCaption: formatCaption,\n formatDay: formatDay,\n formatMonthCaption: formatMonthCaption,\n formatWeekNumber: formatWeekNumber,\n formatWeekdayName: formatWeekdayName,\n formatYearCaption: formatYearCaption\n});\n\n/**\n * The default ARIA label for the day button.\n */\nvar labelDay = function (day, activeModifiers, options) {\n return format(day, 'do MMMM (EEEE)', options);\n};\n\n/**\n * The default ARIA label for the WeekNumber element.\n */\nvar labelMonthDropdown = function () {\n return 'Month: ';\n};\n\n/**\n * The default ARIA label for next month button in navigation\n */\nvar labelNext = function () {\n return 'Go to next month';\n};\n\n/**\n * The default ARIA label for previous month button in navigation\n */\nvar labelPrevious = function () {\n return 'Go to previous month';\n};\n\n/**\n * The default ARIA label for the Weekday element.\n */\nvar labelWeekday = function (day, options) {\n return format(day, 'cccc', options);\n};\n\n/**\n * The default ARIA label for the WeekNumber element.\n */\nvar labelWeekNumber = function (n) {\n return \"Week n. \".concat(n);\n};\n\n/**\n * The default ARIA label for the WeekNumber element.\n */\nvar labelYearDropdown = function () {\n return 'Year: ';\n};\n\nvar labels = /*#__PURE__*/Object.freeze({\n __proto__: null,\n labelDay: labelDay,\n labelMonthDropdown: labelMonthDropdown,\n labelNext: labelNext,\n labelPrevious: labelPrevious,\n labelWeekNumber: labelWeekNumber,\n labelWeekday: labelWeekday,\n labelYearDropdown: labelYearDropdown\n});\n\n/**\n * Returns the default values to use in the DayPickerContext, in case they are\n * not passed down with the DayPicker initial props.\n */\nfunction getDefaultContextValues() {\n var captionLayout = 'buttons';\n var classNames = defaultClassNames;\n var locale = enUS;\n var modifiersClassNames = {};\n var modifiers = {};\n var numberOfMonths = 1;\n var styles = {};\n var today = new Date();\n return {\n captionLayout: captionLayout,\n classNames: classNames,\n formatters: formatters,\n labels: labels,\n locale: locale,\n modifiersClassNames: modifiersClassNames,\n modifiers: modifiers,\n numberOfMonths: numberOfMonths,\n styles: styles,\n today: today,\n mode: 'default'\n };\n}\n\n/** Return the `fromDate` and `toDate` prop values values parsing the DayPicker props. */\nfunction parseFromToProps(props) {\n var fromYear = props.fromYear, toYear = props.toYear, fromMonth = props.fromMonth, toMonth = props.toMonth;\n var fromDate = props.fromDate, toDate = props.toDate;\n if (fromMonth) {\n fromDate = startOfMonth(fromMonth);\n }\n else if (fromYear) {\n fromDate = new Date(fromYear, 0, 1);\n }\n if (toMonth) {\n toDate = endOfMonth(toMonth);\n }\n else if (toYear) {\n toDate = new Date(toYear, 11, 31);\n }\n return {\n fromDate: fromDate ? startOfDay(fromDate) : undefined,\n toDate: toDate ? startOfDay(toDate) : undefined\n };\n}\n\n/**\n * The DayPicker context shares the props passed to DayPicker within internal\n * and custom components. It is used to set the default values and perform\n * one-time calculations required to render the days.\n *\n * Access to this context from the {@link useDayPicker} hook.\n */\nvar DayPickerContext = createContext(undefined);\n/**\n * The provider for the {@link DayPickerContext}, assigning the defaults from the\n * initial DayPicker props.\n */\nfunction DayPickerProvider(props) {\n var _a;\n var initialProps = props.initialProps;\n var defaultContextValues = getDefaultContextValues();\n var _b = parseFromToProps(initialProps), fromDate = _b.fromDate, toDate = _b.toDate;\n var captionLayout = (_a = initialProps.captionLayout) !== null && _a !== void 0 ? _a : defaultContextValues.captionLayout;\n if (captionLayout !== 'buttons' && (!fromDate || !toDate)) {\n // When no from/to dates are set, the caption is always buttons\n captionLayout = 'buttons';\n }\n var onSelect;\n if (isDayPickerSingle(initialProps) ||\n isDayPickerMultiple(initialProps) ||\n isDayPickerRange(initialProps)) {\n onSelect = initialProps.onSelect;\n }\n var value = __assign(__assign(__assign({}, defaultContextValues), initialProps), { captionLayout: captionLayout, classNames: __assign(__assign({}, defaultContextValues.classNames), initialProps.classNames), components: __assign({}, initialProps.components), formatters: __assign(__assign({}, defaultContextValues.formatters), initialProps.formatters), fromDate: fromDate, labels: __assign(__assign({}, defaultContextValues.labels), initialProps.labels), mode: initialProps.mode || defaultContextValues.mode, modifiers: __assign(__assign({}, defaultContextValues.modifiers), initialProps.modifiers), modifiersClassNames: __assign(__assign({}, defaultContextValues.modifiersClassNames), initialProps.modifiersClassNames), onSelect: onSelect, styles: __assign(__assign({}, defaultContextValues.styles), initialProps.styles), toDate: toDate });\n return (jsx(DayPickerContext.Provider, { value: value, children: props.children }));\n}\n/**\n * Hook to access the {@link DayPickerContextValue}.\n *\n * Use the DayPicker context to access to the props passed to DayPicker inside\n * internal or custom components.\n */\nfunction useDayPicker() {\n var context = useContext(DayPickerContext);\n if (!context) {\n throw new Error(\"useDayPicker must be used within a DayPickerProvider.\");\n }\n return context;\n}\n\n/** Render the caption for the displayed month. This component is used when `captionLayout=\"buttons\"`. */\nfunction CaptionLabel(props) {\n var _a = useDayPicker(), locale = _a.locale, classNames = _a.classNames, styles = _a.styles, formatCaption = _a.formatters.formatCaption;\n return (jsx(\"div\", { className: classNames.caption_label, style: styles.caption_label, \"aria-live\": \"polite\", role: \"presentation\", id: props.id, children: formatCaption(props.displayMonth, { locale: locale }) }));\n}\n\n/**\n * Render the icon in the styled drop-down.\n */\nfunction IconDropdown(props) {\n return (jsx(\"svg\", __assign({ width: \"8px\", height: \"8px\", viewBox: \"0 0 120 120\", \"data-testid\": \"iconDropdown\" }, props, { children: jsx(\"path\", { d: \"M4.22182541,48.2218254 C8.44222828,44.0014225 15.2388494,43.9273804 19.5496459,47.9996989 L19.7781746,48.2218254 L60,88.443 L100.221825,48.2218254 C104.442228,44.0014225 111.238849,43.9273804 115.549646,47.9996989 L115.778175,48.2218254 C119.998577,52.4422283 120.07262,59.2388494 116.000301,63.5496459 L115.778175,63.7781746 L67.7781746,111.778175 C63.5577717,115.998577 56.7611506,116.07262 52.4503541,112.000301 L52.2218254,111.778175 L4.22182541,63.7781746 C-0.0739418023,59.4824074 -0.0739418023,52.5175926 4.22182541,48.2218254 Z\", fill: \"currentColor\", fillRule: \"nonzero\" }) })));\n}\n\n/**\n * Render a styled select component – displaying a caption and a custom\n * drop-down icon.\n */\nfunction Dropdown(props) {\n var _a, _b;\n var onChange = props.onChange, value = props.value, children = props.children, caption = props.caption, className = props.className, style = props.style;\n var dayPicker = useDayPicker();\n var IconDropdownComponent = (_b = (_a = dayPicker.components) === null || _a === void 0 ? void 0 : _a.IconDropdown) !== null && _b !== void 0 ? _b : IconDropdown;\n return (jsxs(\"div\", { className: className, style: style, children: [jsx(\"span\", { className: dayPicker.classNames.vhidden, children: props['aria-label'] }), jsx(\"select\", { name: props.name, \"aria-label\": props['aria-label'], className: dayPicker.classNames.dropdown, style: dayPicker.styles.dropdown, value: value, onChange: onChange, children: children }), jsxs(\"div\", { className: dayPicker.classNames.caption_label, style: dayPicker.styles.caption_label, \"aria-hidden\": \"true\", children: [caption, jsx(IconDropdownComponent, { className: dayPicker.classNames.dropdown_icon, style: dayPicker.styles.dropdown_icon })] })] }));\n}\n\n/** Render the dropdown to navigate between months. */\nfunction MonthsDropdown(props) {\n var _a;\n var _b = useDayPicker(), fromDate = _b.fromDate, toDate = _b.toDate, styles = _b.styles, locale = _b.locale, formatMonthCaption = _b.formatters.formatMonthCaption, classNames = _b.classNames, components = _b.components, labelMonthDropdown = _b.labels.labelMonthDropdown;\n // Dropdown should appear only when both from/toDate is set\n if (!fromDate)\n return jsx(Fragment, {});\n if (!toDate)\n return jsx(Fragment, {});\n var dropdownMonths = [];\n if (isSameYear(fromDate, toDate)) {\n // only display the months included in the range\n var date = startOfMonth(fromDate);\n for (var month = fromDate.getMonth(); month <= toDate.getMonth(); month++) {\n dropdownMonths.push(setMonth(date, month));\n }\n }\n else {\n // display all the 12 months\n var date = startOfMonth(new Date()); // Any date should be OK, as we just need the year\n for (var month = 0; month <= 11; month++) {\n dropdownMonths.push(setMonth(date, month));\n }\n }\n var handleChange = function (e) {\n var selectedMonth = Number(e.target.value);\n var newMonth = setMonth(startOfMonth(props.displayMonth), selectedMonth);\n props.onChange(newMonth);\n };\n var DropdownComponent = (_a = components === null || components === void 0 ? void 0 : components.Dropdown) !== null && _a !== void 0 ? _a : Dropdown;\n return (jsx(DropdownComponent, { name: \"months\", \"aria-label\": labelMonthDropdown(), className: classNames.dropdown_month, style: styles.dropdown_month, onChange: handleChange, value: props.displayMonth.getMonth(), caption: formatMonthCaption(props.displayMonth, { locale: locale }), children: dropdownMonths.map(function (m) { return (jsx(\"option\", { value: m.getMonth(), children: formatMonthCaption(m, { locale: locale }) }, m.getMonth())); }) }));\n}\n\n/**\n * Render a dropdown to change the year. Take in account the `nav.fromDate` and\n * `toDate` from context.\n */\nfunction YearsDropdown(props) {\n var _a;\n var displayMonth = props.displayMonth;\n var _b = useDayPicker(), fromDate = _b.fromDate, toDate = _b.toDate, locale = _b.locale, styles = _b.styles, classNames = _b.classNames, components = _b.components, formatYearCaption = _b.formatters.formatYearCaption, labelYearDropdown = _b.labels.labelYearDropdown;\n var years = [];\n // Dropdown should appear only when both from/toDate is set\n if (!fromDate)\n return jsx(Fragment, {});\n if (!toDate)\n return jsx(Fragment, {});\n var fromYear = fromDate.getFullYear();\n var toYear = toDate.getFullYear();\n for (var year = fromYear; year <= toYear; year++) {\n years.push(setYear(startOfYear(new Date()), year));\n }\n var handleChange = function (e) {\n var newMonth = setYear(startOfMonth(displayMonth), Number(e.target.value));\n props.onChange(newMonth);\n };\n var DropdownComponent = (_a = components === null || components === void 0 ? void 0 : components.Dropdown) !== null && _a !== void 0 ? _a : Dropdown;\n return (jsx(DropdownComponent, { name: \"years\", \"aria-label\": labelYearDropdown(), className: classNames.dropdown_year, style: styles.dropdown_year, onChange: handleChange, value: displayMonth.getFullYear(), caption: formatYearCaption(displayMonth, { locale: locale }), children: years.map(function (year) { return (jsx(\"option\", { value: year.getFullYear(), children: formatYearCaption(year, { locale: locale }) }, year.getFullYear())); }) }));\n}\n\n/**\n * Helper hook for using controlled/uncontrolled values from a component props.\n *\n * When the value is not controlled, pass `undefined` as `controlledValue` and\n * use the returned setter to update it.\n *\n * When the value is controlled, pass the controlled value as second\n * argument, which will be always returned as `value`.\n */\nfunction useControlledValue(defaultValue, controlledValue) {\n var _a = useState(defaultValue), uncontrolledValue = _a[0], setValue = _a[1];\n var value = controlledValue === undefined ? uncontrolledValue : controlledValue;\n return [value, setValue];\n}\n\n/** Return the initial month according to the given options. */\nfunction getInitialMonth(context) {\n var month = context.month, defaultMonth = context.defaultMonth, today = context.today;\n var initialMonth = month || defaultMonth || today || new Date();\n var toDate = context.toDate, fromDate = context.fromDate, _a = context.numberOfMonths, numberOfMonths = _a === void 0 ? 1 : _a;\n // Fix the initialMonth if is after the to-date\n if (toDate && differenceInCalendarMonths(toDate, initialMonth) < 0) {\n var offset = -1 * (numberOfMonths - 1);\n initialMonth = addMonths(toDate, offset);\n }\n // Fix the initialMonth if is before the from-date\n if (fromDate && differenceInCalendarMonths(initialMonth, fromDate) < 0) {\n initialMonth = fromDate;\n }\n return startOfMonth(initialMonth);\n}\n\n/** Controls the navigation state. */\nfunction useNavigationState() {\n var context = useDayPicker();\n var initialMonth = getInitialMonth(context);\n var _a = useControlledValue(initialMonth, context.month), month = _a[0], setMonth = _a[1];\n var goToMonth = function (date) {\n var _a;\n if (context.disableNavigation)\n return;\n var month = startOfMonth(date);\n setMonth(month);\n (_a = context.onMonthChange) === null || _a === void 0 ? void 0 : _a.call(context, month);\n };\n return [month, goToMonth];\n}\n\n/**\n * Return the months to display in the component according to the number of\n * months and the from/to date.\n */\nfunction getDisplayMonths(month, _a) {\n var reverseMonths = _a.reverseMonths, numberOfMonths = _a.numberOfMonths;\n var start = startOfMonth(month);\n var end = startOfMonth(addMonths(start, numberOfMonths));\n var monthsDiff = differenceInCalendarMonths(end, start);\n var months = [];\n for (var i = 0; i < monthsDiff; i++) {\n var nextMonth = addMonths(start, i);\n months.push(nextMonth);\n }\n if (reverseMonths)\n months = months.reverse();\n return months;\n}\n\n/**\n * Returns the next month the user can navigate to according to the given\n * options.\n *\n * Please note that the next month is not always the next calendar month:\n *\n * - if after the `toDate` range, is undefined;\n * - if the navigation is paged, is the number of months displayed ahead.\n *\n */\nfunction getNextMonth(startingMonth, options) {\n if (options.disableNavigation) {\n return undefined;\n }\n var toDate = options.toDate, pagedNavigation = options.pagedNavigation, _a = options.numberOfMonths, numberOfMonths = _a === void 0 ? 1 : _a;\n var offset = pagedNavigation ? numberOfMonths : 1;\n var month = startOfMonth(startingMonth);\n if (!toDate) {\n return addMonths(month, offset);\n }\n var monthsDiff = differenceInCalendarMonths(toDate, startingMonth);\n if (monthsDiff < numberOfMonths) {\n return undefined;\n }\n // Jump forward as the number of months when paged navigation\n return addMonths(month, offset);\n}\n\n/**\n * Returns the next previous the user can navigate to, according to the given\n * options.\n *\n * Please note that the previous month is not always the previous calendar\n * month:\n *\n * - if before the `fromDate` date, is `undefined`;\n * - if the navigation is paged, is the number of months displayed before.\n *\n */\nfunction getPreviousMonth(startingMonth, options) {\n if (options.disableNavigation) {\n return undefined;\n }\n var fromDate = options.fromDate, pagedNavigation = options.pagedNavigation, _a = options.numberOfMonths, numberOfMonths = _a === void 0 ? 1 : _a;\n var offset = pagedNavigation ? numberOfMonths : 1;\n var month = startOfMonth(startingMonth);\n if (!fromDate) {\n return addMonths(month, -offset);\n }\n var monthsDiff = differenceInCalendarMonths(month, fromDate);\n if (monthsDiff <= 0) {\n return undefined;\n }\n // Jump back as the number of months when paged navigation\n return addMonths(month, -offset);\n}\n\n/**\n * The Navigation context shares details and methods to navigate the months in DayPicker.\n * Access this context from the {@link useNavigation} hook.\n */\nvar NavigationContext = createContext(undefined);\n/** Provides the values for the {@link NavigationContext}. */\nfunction NavigationProvider(props) {\n var dayPicker = useDayPicker();\n var _a = useNavigationState(), currentMonth = _a[0], goToMonth = _a[1];\n var displayMonths = getDisplayMonths(currentMonth, dayPicker);\n var nextMonth = getNextMonth(currentMonth, dayPicker);\n var previousMonth = getPreviousMonth(currentMonth, dayPicker);\n var isDateDisplayed = function (date) {\n return displayMonths.some(function (displayMonth) {\n return isSameMonth(date, displayMonth);\n });\n };\n var goToDate = function (date, refDate) {\n if (isDateDisplayed(date)) {\n return;\n }\n if (refDate && isBefore(date, refDate)) {\n goToMonth(addMonths(date, 1 + dayPicker.numberOfMonths * -1));\n }\n else {\n goToMonth(date);\n }\n };\n var value = {\n currentMonth: currentMonth,\n displayMonths: displayMonths,\n goToMonth: goToMonth,\n goToDate: goToDate,\n previousMonth: previousMonth,\n nextMonth: nextMonth,\n isDateDisplayed: isDateDisplayed\n };\n return (jsx(NavigationContext.Provider, { value: value, children: props.children }));\n}\n/**\n * Hook to access the {@link NavigationContextValue}. Use this hook to navigate\n * between months or years in DayPicker.\n *\n * This hook is meant to be used inside internal or custom components.\n */\nfunction useNavigation() {\n var context = useContext(NavigationContext);\n if (!context) {\n throw new Error('useNavigation must be used within a NavigationProvider');\n }\n return context;\n}\n\n/**\n * Render a caption with the dropdowns to navigate between months and years.\n */\nfunction CaptionDropdowns(props) {\n var _a;\n var _b = useDayPicker(), classNames = _b.classNames, styles = _b.styles, components = _b.components;\n var goToMonth = useNavigation().goToMonth;\n var handleMonthChange = function (newMonth) {\n goToMonth(addMonths(newMonth, props.displayIndex ? -props.displayIndex : 0));\n };\n var CaptionLabelComponent = (_a = components === null || components === void 0 ? void 0 : components.CaptionLabel) !== null && _a !== void 0 ? _a : CaptionLabel;\n var captionLabel = (jsx(CaptionLabelComponent, { id: props.id, displayMonth: props.displayMonth }));\n return (jsxs(\"div\", { className: classNames.caption_dropdowns, style: styles.caption_dropdowns, children: [jsx(\"div\", { className: classNames.vhidden, children: captionLabel }), jsx(MonthsDropdown, { onChange: handleMonthChange, displayMonth: props.displayMonth }), jsx(YearsDropdown, { onChange: handleMonthChange, displayMonth: props.displayMonth })] }));\n}\n\n/**\n * Render the \"previous month\" button in the navigation.\n */\nfunction IconLeft(props) {\n return (jsx(\"svg\", __assign({ width: \"16px\", height: \"16px\", viewBox: \"0 0 120 120\" }, props, { children: jsx(\"path\", { d: \"M69.490332,3.34314575 C72.6145263,0.218951416 77.6798462,0.218951416 80.8040405,3.34314575 C83.8617626,6.40086786 83.9268205,11.3179931 80.9992143,14.4548388 L80.8040405,14.6568542 L35.461,60 L80.8040405,105.343146 C83.8617626,108.400868 83.9268205,113.317993 80.9992143,116.454839 L80.8040405,116.656854 C77.7463184,119.714576 72.8291931,119.779634 69.6923475,116.852028 L69.490332,116.656854 L18.490332,65.6568542 C15.4326099,62.5991321 15.367552,57.6820069 18.2951583,54.5451612 L18.490332,54.3431458 L69.490332,3.34314575 Z\", fill: \"currentColor\", fillRule: \"nonzero\" }) })));\n}\n\n/**\n * Render the \"next month\" button in the navigation.\n */\nfunction IconRight(props) {\n return (jsx(\"svg\", __assign({ width: \"16px\", height: \"16px\", viewBox: \"0 0 120 120\" }, props, { children: jsx(\"path\", { d: \"M49.8040405,3.34314575 C46.6798462,0.218951416 41.6145263,0.218951416 38.490332,3.34314575 C35.4326099,6.40086786 35.367552,11.3179931 38.2951583,14.4548388 L38.490332,14.6568542 L83.8333725,60 L38.490332,105.343146 C35.4326099,108.400868 35.367552,113.317993 38.2951583,116.454839 L38.490332,116.656854 C41.5480541,119.714576 46.4651794,119.779634 49.602025,116.852028 L49.8040405,116.656854 L100.804041,65.6568542 C103.861763,62.5991321 103.926821,57.6820069 100.999214,54.5451612 L100.804041,54.3431458 L49.8040405,3.34314575 Z\", fill: \"currentColor\" }) })));\n}\n\n/** Render a button HTML element applying the reset class name. */\nvar Button = forwardRef(function (props, ref) {\n var _a = useDayPicker(), classNames = _a.classNames, styles = _a.styles;\n var classNamesArr = [classNames.button_reset, classNames.button];\n if (props.className) {\n classNamesArr.push(props.className);\n }\n var className = classNamesArr.join(' ');\n var style = __assign(__assign({}, styles.button_reset), styles.button);\n if (props.style) {\n Object.assign(style, props.style);\n }\n return (jsx(\"button\", __assign({}, props, { ref: ref, type: \"button\", className: className, style: style })));\n});\n\n/** A component rendering the navigation buttons or the drop-downs. */\nfunction Navigation(props) {\n var _a, _b;\n var _c = useDayPicker(), dir = _c.dir, locale = _c.locale, classNames = _c.classNames, styles = _c.styles, _d = _c.labels, labelPrevious = _d.labelPrevious, labelNext = _d.labelNext, components = _c.components;\n if (!props.nextMonth && !props.previousMonth) {\n return jsx(Fragment, {});\n }\n var previousLabel = labelPrevious(props.previousMonth, { locale: locale });\n var previousClassName = [\n classNames.nav_button,\n classNames.nav_button_previous\n ].join(' ');\n var nextLabel = labelNext(props.nextMonth, { locale: locale });\n var nextClassName = [\n classNames.nav_button,\n classNames.nav_button_next\n ].join(' ');\n var IconRightComponent = (_a = components === null || components === void 0 ? void 0 : components.IconRight) !== null && _a !== void 0 ? _a : IconRight;\n var IconLeftComponent = (_b = components === null || components === void 0 ? void 0 : components.IconLeft) !== null && _b !== void 0 ? _b : IconLeft;\n return (jsxs(\"div\", { className: classNames.nav, style: styles.nav, children: [!props.hidePrevious && (jsx(Button, { name: \"previous-month\", \"aria-label\": previousLabel, className: previousClassName, style: styles.nav_button_previous, disabled: !props.previousMonth, onClick: props.onPreviousClick, children: dir === 'rtl' ? (jsx(IconRightComponent, { className: classNames.nav_icon, style: styles.nav_icon })) : (jsx(IconLeftComponent, { className: classNames.nav_icon, style: styles.nav_icon })) })), !props.hideNext && (jsx(Button, { name: \"next-month\", \"aria-label\": nextLabel, className: nextClassName, style: styles.nav_button_next, disabled: !props.nextMonth, onClick: props.onNextClick, children: dir === 'rtl' ? (jsx(IconLeftComponent, { className: classNames.nav_icon, style: styles.nav_icon })) : (jsx(IconRightComponent, { className: classNames.nav_icon, style: styles.nav_icon })) }))] }));\n}\n\n/**\n * Render a caption with a button-based navigation.\n */\nfunction CaptionNavigation(props) {\n var numberOfMonths = useDayPicker().numberOfMonths;\n var _a = useNavigation(), previousMonth = _a.previousMonth, nextMonth = _a.nextMonth, goToMonth = _a.goToMonth, displayMonths = _a.displayMonths;\n var displayIndex = displayMonths.findIndex(function (month) {\n return isSameMonth(props.displayMonth, month);\n });\n var isFirst = displayIndex === 0;\n var isLast = displayIndex === displayMonths.length - 1;\n var hideNext = numberOfMonths > 1 && (isFirst || !isLast);\n var hidePrevious = numberOfMonths > 1 && (isLast || !isFirst);\n var handlePreviousClick = function () {\n if (!previousMonth)\n return;\n goToMonth(previousMonth);\n };\n var handleNextClick = function () {\n if (!nextMonth)\n return;\n goToMonth(nextMonth);\n };\n return (jsx(Navigation, { displayMonth: props.displayMonth, hideNext: hideNext, hidePrevious: hidePrevious, nextMonth: nextMonth, previousMonth: previousMonth, onPreviousClick: handlePreviousClick, onNextClick: handleNextClick }));\n}\n\n/**\n * Render the caption of a month. The caption has a different layout when\n * setting the {@link DayPickerBase.captionLayout} prop.\n */\nfunction Caption(props) {\n var _a;\n var _b = useDayPicker(), classNames = _b.classNames, disableNavigation = _b.disableNavigation, styles = _b.styles, captionLayout = _b.captionLayout, components = _b.components;\n var CaptionLabelComponent = (_a = components === null || components === void 0 ? void 0 : components.CaptionLabel) !== null && _a !== void 0 ? _a : CaptionLabel;\n var caption;\n if (disableNavigation) {\n caption = (jsx(CaptionLabelComponent, { id: props.id, displayMonth: props.displayMonth }));\n }\n else if (captionLayout === 'dropdown') {\n caption = (jsx(CaptionDropdowns, { displayMonth: props.displayMonth, id: props.id }));\n }\n else if (captionLayout === 'dropdown-buttons') {\n caption = (jsxs(Fragment, { children: [jsx(CaptionDropdowns, { displayMonth: props.displayMonth, displayIndex: props.displayIndex, id: props.id }), jsx(CaptionNavigation, { displayMonth: props.displayMonth, displayIndex: props.displayIndex, id: props.id })] }));\n }\n else {\n caption = (jsxs(Fragment, { children: [jsx(CaptionLabelComponent, { id: props.id, displayMonth: props.displayMonth, displayIndex: props.displayIndex }), jsx(CaptionNavigation, { displayMonth: props.displayMonth, id: props.id })] }));\n }\n return (jsx(\"div\", { className: classNames.caption, style: styles.caption, children: caption }));\n}\n\n/** Render the Footer component (empty as default).*/\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction Footer(props) {\n var _a = useDayPicker(), footer = _a.footer, styles = _a.styles, tfoot = _a.classNames.tfoot;\n if (!footer)\n return jsx(Fragment, {});\n return (jsx(\"tfoot\", { className: tfoot, style: styles.tfoot, children: jsx(\"tr\", { children: jsx(\"td\", { colSpan: 8, children: footer }) }) }));\n}\n\n/**\n * Generate a series of 7 days, starting from the week, to use for formatting\n * the weekday names (Monday, Tuesday, etc.).\n */\nfunction getWeekdays(locale, \n/** The index of the first day of the week (0 - Sunday). */\nweekStartsOn, \n/** Use ISOWeek instead of locale/ */\nISOWeek) {\n var start = ISOWeek\n ? startOfISOWeek(new Date())\n : startOfWeek(new Date(), { locale: locale, weekStartsOn: weekStartsOn });\n var days = [];\n for (var i = 0; i < 7; i++) {\n var day = addDays(start, i);\n days.push(day);\n }\n return days;\n}\n\n/**\n * Render the HeadRow component - i.e. the table head row with the weekday names.\n */\nfunction HeadRow() {\n var _a = useDayPicker(), classNames = _a.classNames, styles = _a.styles, showWeekNumber = _a.showWeekNumber, locale = _a.locale, weekStartsOn = _a.weekStartsOn, ISOWeek = _a.ISOWeek, formatWeekdayName = _a.formatters.formatWeekdayName, labelWeekday = _a.labels.labelWeekday;\n var weekdays = getWeekdays(locale, weekStartsOn, ISOWeek);\n return (jsxs(\"tr\", { style: styles.head_row, className: classNames.head_row, children: [showWeekNumber && (jsx(\"td\", { style: styles.head_cell, className: classNames.head_cell })), weekdays.map(function (weekday, i) { return (jsx(\"th\", { scope: \"col\", className: classNames.head_cell, style: styles.head_cell, \"aria-label\": labelWeekday(weekday, { locale: locale }), children: formatWeekdayName(weekday, { locale: locale }) }, i)); })] }));\n}\n\n/** Render the table head. */\nfunction Head() {\n var _a;\n var _b = useDayPicker(), classNames = _b.classNames, styles = _b.styles, components = _b.components;\n var HeadRowComponent = (_a = components === null || components === void 0 ? void 0 : components.HeadRow) !== null && _a !== void 0 ? _a : HeadRow;\n return (jsx(\"thead\", { style: styles.head, className: classNames.head, children: jsx(HeadRowComponent, {}) }));\n}\n\n/** Render the content of the day cell. */\nfunction DayContent(props) {\n var _a = useDayPicker(), locale = _a.locale, formatDay = _a.formatters.formatDay;\n return jsx(Fragment, { children: formatDay(props.date, { locale: locale }) });\n}\n\n/**\n * The SelectMultiple context shares details about the selected days when in\n * multiple selection mode.\n *\n * Access this context from the {@link useSelectMultiple} hook.\n */\nvar SelectMultipleContext = createContext(undefined);\n/** Provides the values for the {@link SelectMultipleContext}. */\nfunction SelectMultipleProvider(props) {\n if (!isDayPickerMultiple(props.initialProps)) {\n var emptyContextValue = {\n selected: undefined,\n modifiers: {\n disabled: []\n }\n };\n return (jsx(SelectMultipleContext.Provider, { value: emptyContextValue, children: props.children }));\n }\n return (jsx(SelectMultipleProviderInternal, { initialProps: props.initialProps, children: props.children }));\n}\nfunction SelectMultipleProviderInternal(_a) {\n var initialProps = _a.initialProps, children = _a.children;\n var selected = initialProps.selected, min = initialProps.min, max = initialProps.max;\n var onDayClick = function (day, activeModifiers, e) {\n var _a, _b;\n (_a = initialProps.onDayClick) === null || _a === void 0 ? void 0 : _a.call(initialProps, day, activeModifiers, e);\n var isMinSelected = Boolean(activeModifiers.selected && min && (selected === null || selected === void 0 ? void 0 : selected.length) === min);\n if (isMinSelected) {\n return;\n }\n var isMaxSelected = Boolean(!activeModifiers.selected && max && (selected === null || selected === void 0 ? void 0 : selected.length) === max);\n if (isMaxSelected) {\n return;\n }\n var selectedDays = selected ? __spreadArray([], selected, true) : [];\n if (activeModifiers.selected) {\n var index = selectedDays.findIndex(function (selectedDay) {\n return isSameDay(day, selectedDay);\n });\n selectedDays.splice(index, 1);\n }\n else {\n selectedDays.push(day);\n }\n (_b = initialProps.onSelect) === null || _b === void 0 ? void 0 : _b.call(initialProps, selectedDays, day, activeModifiers, e);\n };\n var modifiers = {\n disabled: []\n };\n if (selected) {\n modifiers.disabled.push(function (day) {\n var isMaxSelected = max && selected.length > max - 1;\n var isSelected = selected.some(function (selectedDay) {\n return isSameDay(selectedDay, day);\n });\n return Boolean(isMaxSelected && !isSelected);\n });\n }\n var contextValue = {\n selected: selected,\n onDayClick: onDayClick,\n modifiers: modifiers\n };\n return (jsx(SelectMultipleContext.Provider, { value: contextValue, children: children }));\n}\n/**\n * Hook to access the {@link SelectMultipleContextValue}.\n *\n * This hook is meant to be used inside internal or custom components.\n */\nfunction useSelectMultiple() {\n var context = useContext(SelectMultipleContext);\n if (!context) {\n throw new Error('useSelectMultiple must be used within a SelectMultipleProvider');\n }\n return context;\n}\n\n/**\n * Add a day to an existing range.\n *\n * The returned range takes in account the `undefined` values and if the added\n * day is already present in the range.\n */\nfunction addToRange(day, range) {\n var _a = range || {}, from = _a.from, to = _a.to;\n if (from && to) {\n if (isSameDay(to, day) && isSameDay(from, day)) {\n return undefined;\n }\n if (isSameDay(to, day)) {\n return { from: to, to: undefined };\n }\n if (isSameDay(from, day)) {\n return undefined;\n }\n if (isAfter(from, day)) {\n return { from: day, to: to };\n }\n return { from: from, to: day };\n }\n if (to) {\n if (isAfter(day, to)) {\n return { from: to, to: day };\n }\n return { from: day, to: to };\n }\n if (from) {\n if (isBefore(day, from)) {\n return { from: day, to: from };\n }\n return { from: from, to: day };\n }\n return { from: day, to: undefined };\n}\n\n/**\n * The SelectRange context shares details about the selected days when in\n * range selection mode.\n *\n * Access this context from the {@link useSelectRange} hook.\n */\nvar SelectRangeContext = createContext(undefined);\n/** Provides the values for the {@link SelectRangeProvider}. */\nfunction SelectRangeProvider(props) {\n if (!isDayPickerRange(props.initialProps)) {\n var emptyContextValue = {\n selected: undefined,\n modifiers: {\n range_start: [],\n range_end: [],\n range_middle: [],\n disabled: []\n }\n };\n return (jsx(SelectRangeContext.Provider, { value: emptyContextValue, children: props.children }));\n }\n return (jsx(SelectRangeProviderInternal, { initialProps: props.initialProps, children: props.children }));\n}\nfunction SelectRangeProviderInternal(_a) {\n var initialProps = _a.initialProps, children = _a.children;\n var selected = initialProps.selected;\n var _b = selected || {}, selectedFrom = _b.from, selectedTo = _b.to;\n var min = initialProps.min;\n var max = initialProps.max;\n var onDayClick = function (day, activeModifiers, e) {\n var _a, _b;\n (_a = initialProps.onDayClick) === null || _a === void 0 ? void 0 : _a.call(initialProps, day, activeModifiers, e);\n var newRange = addToRange(day, selected);\n (_b = initialProps.onSelect) === null || _b === void 0 ? void 0 : _b.call(initialProps, newRange, day, activeModifiers, e);\n };\n var modifiers = {\n range_start: [],\n range_end: [],\n range_middle: [],\n disabled: []\n };\n if (selectedFrom) {\n modifiers.range_start = [selectedFrom];\n if (!selectedTo) {\n modifiers.range_end = [selectedFrom];\n }\n else {\n modifiers.range_end = [selectedTo];\n if (!isSameDay(selectedFrom, selectedTo)) {\n modifiers.range_middle = [\n {\n after: selectedFrom,\n before: selectedTo\n }\n ];\n }\n }\n }\n else if (selectedTo) {\n modifiers.range_start = [selectedTo];\n modifiers.range_end = [selectedTo];\n }\n if (min) {\n if (selectedFrom && !selectedTo) {\n modifiers.disabled.push({\n after: subDays(selectedFrom, min - 1),\n before: addDays(selectedFrom, min - 1)\n });\n }\n if (selectedFrom && selectedTo) {\n modifiers.disabled.push({\n after: selectedFrom,\n before: addDays(selectedFrom, min - 1)\n });\n }\n if (!selectedFrom && selectedTo) {\n modifiers.disabled.push({\n after: subDays(selectedTo, min - 1),\n before: addDays(selectedTo, min - 1)\n });\n }\n }\n if (max) {\n if (selectedFrom && !selectedTo) {\n modifiers.disabled.push({\n before: addDays(selectedFrom, -max + 1)\n });\n modifiers.disabled.push({\n after: addDays(selectedFrom, max - 1)\n });\n }\n if (selectedFrom && selectedTo) {\n var selectedCount = differenceInCalendarDays(selectedTo, selectedFrom) + 1;\n var offset = max - selectedCount;\n modifiers.disabled.push({\n before: subDays(selectedFrom, offset)\n });\n modifiers.disabled.push({\n after: addDays(selectedTo, offset)\n });\n }\n if (!selectedFrom && selectedTo) {\n modifiers.disabled.push({\n before: addDays(selectedTo, -max + 1)\n });\n modifiers.disabled.push({\n after: addDays(selectedTo, max - 1)\n });\n }\n }\n return (jsx(SelectRangeContext.Provider, { value: { selected: selected, onDayClick: onDayClick, modifiers: modifiers }, children: children }));\n}\n/**\n * Hook to access the {@link SelectRangeContextValue}.\n *\n * This hook is meant to be used inside internal or custom components.\n */\nfunction useSelectRange() {\n var context = useContext(SelectRangeContext);\n if (!context) {\n throw new Error('useSelectRange must be used within a SelectRangeProvider');\n }\n return context;\n}\n\n/** Normalize to array a matcher input. */\nfunction matcherToArray(matcher) {\n if (Array.isArray(matcher)) {\n return __spreadArray([], matcher, true);\n }\n else if (matcher !== undefined) {\n return [matcher];\n }\n else {\n return [];\n }\n}\n\n/** Create CustomModifiers from dayModifiers */\nfunction getCustomModifiers(dayModifiers) {\n var customModifiers = {};\n Object.entries(dayModifiers).forEach(function (_a) {\n var modifier = _a[0], matcher = _a[1];\n customModifiers[modifier] = matcherToArray(matcher);\n });\n return customModifiers;\n}\n\n/** The name of the modifiers that are used internally by DayPicker. */\nvar InternalModifier;\n(function (InternalModifier) {\n InternalModifier[\"Outside\"] = \"outside\";\n /** Name of the modifier applied to the disabled days, using the `disabled` prop. */\n InternalModifier[\"Disabled\"] = \"disabled\";\n /** Name of the modifier applied to the selected days using the `selected` prop). */\n InternalModifier[\"Selected\"] = \"selected\";\n /** Name of the modifier applied to the hidden days using the `hidden` prop). */\n InternalModifier[\"Hidden\"] = \"hidden\";\n /** Name of the modifier applied to the day specified using the `today` prop). */\n InternalModifier[\"Today\"] = \"today\";\n /** The modifier applied to the day starting a selected range, when in range selection mode. */\n InternalModifier[\"RangeStart\"] = \"range_start\";\n /** The modifier applied to the day ending a selected range, when in range selection mode. */\n InternalModifier[\"RangeEnd\"] = \"range_end\";\n /** The modifier applied to the days between the start and the end of a selected range, when in range selection mode. */\n InternalModifier[\"RangeMiddle\"] = \"range_middle\";\n})(InternalModifier || (InternalModifier = {}));\n\nvar Selected = InternalModifier.Selected, Disabled = InternalModifier.Disabled, Hidden = InternalModifier.Hidden, Today = InternalModifier.Today, RangeEnd = InternalModifier.RangeEnd, RangeMiddle = InternalModifier.RangeMiddle, RangeStart = InternalModifier.RangeStart, Outside = InternalModifier.Outside;\n/** Return the {@link InternalModifiers} from the DayPicker and select contexts. */\nfunction getInternalModifiers(dayPicker, selectMultiple, selectRange) {\n var _a;\n var internalModifiers = (_a = {},\n _a[Selected] = matcherToArray(dayPicker.selected),\n _a[Disabled] = matcherToArray(dayPicker.disabled),\n _a[Hidden] = matcherToArray(dayPicker.hidden),\n _a[Today] = [dayPicker.today],\n _a[RangeEnd] = [],\n _a[RangeMiddle] = [],\n _a[RangeStart] = [],\n _a[Outside] = [],\n _a);\n if (dayPicker.fromDate) {\n internalModifiers[Disabled].push({ before: dayPicker.fromDate });\n }\n if (dayPicker.toDate) {\n internalModifiers[Disabled].push({ after: dayPicker.toDate });\n }\n if (isDayPickerMultiple(dayPicker)) {\n internalModifiers[Disabled] = internalModifiers[Disabled].concat(selectMultiple.modifiers[Disabled]);\n }\n else if (isDayPickerRange(dayPicker)) {\n internalModifiers[Disabled] = internalModifiers[Disabled].concat(selectRange.modifiers[Disabled]);\n internalModifiers[RangeStart] = selectRange.modifiers[RangeStart];\n internalModifiers[RangeMiddle] = selectRange.modifiers[RangeMiddle];\n internalModifiers[RangeEnd] = selectRange.modifiers[RangeEnd];\n }\n return internalModifiers;\n}\n\n/** The Modifiers context store the modifiers used in DayPicker. To access the value of this context, use {@link useModifiers}. */\nvar ModifiersContext = createContext(undefined);\n/** Provide the value for the {@link ModifiersContext}. */\nfunction ModifiersProvider(props) {\n var dayPicker = useDayPicker();\n var selectMultiple = useSelectMultiple();\n var selectRange = useSelectRange();\n var internalModifiers = getInternalModifiers(dayPicker, selectMultiple, selectRange);\n var customModifiers = getCustomModifiers(dayPicker.modifiers);\n var modifiers = __assign(__assign({}, internalModifiers), customModifiers);\n return (jsx(ModifiersContext.Provider, { value: modifiers, children: props.children }));\n}\n/**\n * Return the modifiers used by DayPicker.\n *\n * This hook is meant to be used inside internal or custom components.\n * Requires to be wrapped into {@link ModifiersProvider}.\n *\n */\nfunction useModifiers() {\n var context = useContext(ModifiersContext);\n if (!context) {\n throw new Error('useModifiers must be used within a ModifiersProvider');\n }\n return context;\n}\n\n/** Returns true if `matcher` is of type {@link DateInterval}. */\nfunction isDateInterval(matcher) {\n return Boolean(matcher &&\n typeof matcher === 'object' &&\n 'before' in matcher &&\n 'after' in matcher);\n}\n/** Returns true if `value` is a {@link DateRange} type. */\nfunction isDateRange(value) {\n return Boolean(value && typeof value === 'object' && 'from' in value);\n}\n/** Returns true if `value` is of type {@link DateAfter}. */\nfunction isDateAfterType(value) {\n return Boolean(value && typeof value === 'object' && 'after' in value);\n}\n/** Returns true if `value` is of type {@link DateBefore}. */\nfunction isDateBeforeType(value) {\n return Boolean(value && typeof value === 'object' && 'before' in value);\n}\n/** Returns true if `value` is a {@link DayOfWeek} type. */\nfunction isDayOfWeekType(value) {\n return Boolean(value && typeof value === 'object' && 'dayOfWeek' in value);\n}\n\n/** Return `true` whether `date` is inside `range`. */\nfunction isDateInRange(date, range) {\n var _a;\n var from = range.from, to = range.to;\n if (from && to) {\n var isRangeInverted = differenceInCalendarDays(to, from) < 0;\n if (isRangeInverted) {\n _a = [to, from], from = _a[0], to = _a[1];\n }\n var isInRange = differenceInCalendarDays(date, from) >= 0 &&\n differenceInCalendarDays(to, date) >= 0;\n return isInRange;\n }\n if (to) {\n return isSameDay(to, date);\n }\n if (from) {\n return isSameDay(from, date);\n }\n return false;\n}\n\n/** Returns true if `value` is a Date type. */\nfunction isDateType(value) {\n return isDate(value);\n}\n/** Returns true if `value` is an array of valid dates. */\nfunction isArrayOfDates(value) {\n return Array.isArray(value) && value.every(isDate);\n}\n/**\n * Returns whether a day matches against at least one of the given Matchers.\n *\n * ```\n * const day = new Date(2022, 5, 19);\n * const matcher1: DateRange = {\n * from: new Date(2021, 12, 21),\n * to: new Date(2021, 12, 30)\n * }\n * const matcher2: DateRange = {\n * from: new Date(2022, 5, 1),\n * to: new Date(2022, 5, 23)\n * }\n *\n * const isMatch(day, [matcher1, matcher2]); // true, since day is in the matcher1 range.\n * ```\n * */\nfunction isMatch(day, matchers) {\n return matchers.some(function (matcher) {\n if (typeof matcher === 'boolean') {\n return matcher;\n }\n if (isDateType(matcher)) {\n return isSameDay(day, matcher);\n }\n if (isArrayOfDates(matcher)) {\n return matcher.includes(day);\n }\n if (isDateRange(matcher)) {\n return isDateInRange(day, matcher);\n }\n if (isDayOfWeekType(matcher)) {\n return matcher.dayOfWeek.includes(day.getDay());\n }\n if (isDateInterval(matcher)) {\n var diffBefore = differenceInCalendarDays(matcher.before, day);\n var diffAfter = differenceInCalendarDays(matcher.after, day);\n var isDayBefore = diffBefore > 0;\n var isDayAfter = diffAfter < 0;\n var isClosedInterval = isAfter(matcher.before, matcher.after);\n if (isClosedInterval) {\n return isDayAfter && isDayBefore;\n }\n else {\n return isDayBefore || isDayAfter;\n }\n }\n if (isDateAfterType(matcher)) {\n return differenceInCalendarDays(day, matcher.after) > 0;\n }\n if (isDateBeforeType(matcher)) {\n return differenceInCalendarDays(matcher.before, day) > 0;\n }\n if (typeof matcher === 'function') {\n return matcher(day);\n }\n return false;\n });\n}\n\n/** Return the active modifiers for the given day. */\nfunction getActiveModifiers(day, \n/** The modifiers to match for the given date. */\nmodifiers, \n/** The month where the day is displayed, to add the \"outside\" modifiers. */\ndisplayMonth) {\n var matchedModifiers = Object.keys(modifiers).reduce(function (result, key) {\n var modifier = modifiers[key];\n if (isMatch(day, modifier)) {\n result.push(key);\n }\n return result;\n }, []);\n var activeModifiers = {};\n matchedModifiers.forEach(function (modifier) { return (activeModifiers[modifier] = true); });\n if (displayMonth && !isSameMonth(day, displayMonth)) {\n activeModifiers.outside = true;\n }\n return activeModifiers;\n}\n\n/**\n * Returns the day that should be the target of the focus when DayPicker is\n * rendered the first time.\n *\n * TODO: this function doesn't consider if the day is outside the month. We\n * implemented this check in `useDayRender` but it should probably go here. See\n * https://github.com/gpbl/react-day-picker/pull/1576\n */\nfunction getInitialFocusTarget(displayMonths, modifiers) {\n var firstDayInMonth = startOfMonth(displayMonths[0]);\n var lastDayInMonth = endOfMonth(displayMonths[displayMonths.length - 1]);\n // TODO: cleanup code\n var firstFocusableDay;\n var today;\n var date = firstDayInMonth;\n while (date <= lastDayInMonth) {\n var activeModifiers = getActiveModifiers(date, modifiers);\n var isFocusable = !activeModifiers.disabled && !activeModifiers.hidden;\n if (!isFocusable) {\n date = addDays(date, 1);\n continue;\n }\n if (activeModifiers.selected) {\n return date;\n }\n if (activeModifiers.today && !today) {\n today = date;\n }\n if (!firstFocusableDay) {\n firstFocusableDay = date;\n }\n date = addDays(date, 1);\n }\n if (today) {\n return today;\n }\n else {\n return firstFocusableDay;\n }\n}\n\nvar MAX_RETRY = 365;\n/** Return the next date to be focused. */\nfunction getNextFocus(focusedDay, options) {\n var moveBy = options.moveBy, direction = options.direction, context = options.context, modifiers = options.modifiers, _a = options.retry, retry = _a === void 0 ? { count: 0, lastFocused: focusedDay } : _a;\n var weekStartsOn = context.weekStartsOn, fromDate = context.fromDate, toDate = context.toDate, locale = context.locale;\n var moveFns = {\n day: addDays,\n week: addWeeks,\n month: addMonths,\n year: addYears,\n startOfWeek: function (date) {\n return context.ISOWeek\n ? startOfISOWeek(date)\n : startOfWeek(date, { locale: locale, weekStartsOn: weekStartsOn });\n },\n endOfWeek: function (date) {\n return context.ISOWeek\n ? endOfISOWeek(date)\n : endOfWeek(date, { locale: locale, weekStartsOn: weekStartsOn });\n }\n };\n var newFocusedDay = moveFns[moveBy](focusedDay, direction === 'after' ? 1 : -1);\n if (direction === 'before' && fromDate) {\n newFocusedDay = max([fromDate, newFocusedDay]);\n }\n else if (direction === 'after' && toDate) {\n newFocusedDay = min([toDate, newFocusedDay]);\n }\n var isFocusable = true;\n if (modifiers) {\n var activeModifiers = getActiveModifiers(newFocusedDay, modifiers);\n isFocusable = !activeModifiers.disabled && !activeModifiers.hidden;\n }\n if (isFocusable) {\n return newFocusedDay;\n }\n else {\n if (retry.count > MAX_RETRY) {\n return retry.lastFocused;\n }\n return getNextFocus(newFocusedDay, {\n moveBy: moveBy,\n direction: direction,\n context: context,\n modifiers: modifiers,\n retry: __assign(__assign({}, retry), { count: retry.count + 1 })\n });\n }\n}\n\n/**\n * The Focus context shares details about the focused day for the keyboard\n *\n * Access this context from the {@link useFocusContext} hook.\n */\nvar FocusContext = createContext(undefined);\n/** The provider for the {@link FocusContext}. */\nfunction FocusProvider(props) {\n var navigation = useNavigation();\n var modifiers = useModifiers();\n var _a = useState(), focusedDay = _a[0], setFocusedDay = _a[1];\n var _b = useState(), lastFocused = _b[0], setLastFocused = _b[1];\n var initialFocusTarget = getInitialFocusTarget(navigation.displayMonths, modifiers);\n // TODO: cleanup and test obscure code below\n var focusTarget = (focusedDay !== null && focusedDay !== void 0 ? focusedDay : (lastFocused && navigation.isDateDisplayed(lastFocused)))\n ? lastFocused\n : initialFocusTarget;\n var blur = function () {\n setLastFocused(focusedDay);\n setFocusedDay(undefined);\n };\n var focus = function (date) {\n setFocusedDay(date);\n };\n var context = useDayPicker();\n var moveFocus = function (moveBy, direction) {\n if (!focusedDay)\n return;\n var nextFocused = getNextFocus(focusedDay, {\n moveBy: moveBy,\n direction: direction,\n context: context,\n modifiers: modifiers\n });\n if (isSameDay(focusedDay, nextFocused))\n return undefined;\n navigation.goToDate(nextFocused, focusedDay);\n focus(nextFocused);\n };\n var value = {\n focusedDay: focusedDay,\n focusTarget: focusTarget,\n blur: blur,\n focus: focus,\n focusDayAfter: function () { return moveFocus('day', 'after'); },\n focusDayBefore: function () { return moveFocus('day', 'before'); },\n focusWeekAfter: function () { return moveFocus('week', 'after'); },\n focusWeekBefore: function () { return moveFocus('week', 'before'); },\n focusMonthBefore: function () { return moveFocus('month', 'before'); },\n focusMonthAfter: function () { return moveFocus('month', 'after'); },\n focusYearBefore: function () { return moveFocus('year', 'before'); },\n focusYearAfter: function () { return moveFocus('year', 'after'); },\n focusStartOfWeek: function () { return moveFocus('startOfWeek', 'before'); },\n focusEndOfWeek: function () { return moveFocus('endOfWeek', 'after'); }\n };\n return (jsx(FocusContext.Provider, { value: value, children: props.children }));\n}\n/**\n * Hook to access the {@link FocusContextValue}. Use this hook to handle the\n * focus state of the elements.\n *\n * This hook is meant to be used inside internal or custom components.\n */\nfunction useFocusContext() {\n var context = useContext(FocusContext);\n if (!context) {\n throw new Error('useFocusContext must be used within a FocusProvider');\n }\n return context;\n}\n\n/**\n * Return the active modifiers for the specified day.\n *\n * This hook is meant to be used inside internal or custom components.\n *\n * @param day\n * @param displayMonth\n */\nfunction useActiveModifiers(day, \n/**\n * The month where the date is displayed. If not the same as `date`, the day\n * is an \"outside day\".\n */\ndisplayMonth) {\n var modifiers = useModifiers();\n var activeModifiers = getActiveModifiers(day, modifiers, displayMonth);\n return activeModifiers;\n}\n\n/**\n * The SelectSingle context shares details about the selected days when in\n * single selection mode.\n *\n * Access this context from the {@link useSelectSingle} hook.\n */\nvar SelectSingleContext = createContext(undefined);\n/** Provides the values for the {@link SelectSingleProvider}. */\nfunction SelectSingleProvider(props) {\n if (!isDayPickerSingle(props.initialProps)) {\n var emptyContextValue = {\n selected: undefined\n };\n return (jsx(SelectSingleContext.Provider, { value: emptyContextValue, children: props.children }));\n }\n return (jsx(SelectSingleProviderInternal, { initialProps: props.initialProps, children: props.children }));\n}\nfunction SelectSingleProviderInternal(_a) {\n var initialProps = _a.initialProps, children = _a.children;\n var onDayClick = function (day, activeModifiers, e) {\n var _a, _b, _c;\n (_a = initialProps.onDayClick) === null || _a === void 0 ? void 0 : _a.call(initialProps, day, activeModifiers, e);\n if (activeModifiers.selected && !initialProps.required) {\n (_b = initialProps.onSelect) === null || _b === void 0 ? void 0 : _b.call(initialProps, undefined, day, activeModifiers, e);\n return;\n }\n (_c = initialProps.onSelect) === null || _c === void 0 ? void 0 : _c.call(initialProps, day, day, activeModifiers, e);\n };\n var contextValue = {\n selected: initialProps.selected,\n onDayClick: onDayClick\n };\n return (jsx(SelectSingleContext.Provider, { value: contextValue, children: children }));\n}\n/**\n * Hook to access the {@link SelectSingleContextValue}.\n *\n * This hook is meant to be used inside internal or custom components.\n */\nfunction useSelectSingle() {\n var context = useContext(SelectSingleContext);\n if (!context) {\n throw new Error('useSelectSingle must be used within a SelectSingleProvider');\n }\n return context;\n}\n\n/**\n * This hook returns details about the content to render in the day cell.\n *\n *\n * When a day cell is rendered in the table, DayPicker can either:\n *\n * - render nothing: when the day is outside the month or has matched the\n * \"hidden\" modifier.\n * - render a button when `onDayClick` or a selection mode is set.\n * - render a non-interactive element: when no selection mode is set, the day\n * cell shouldn’t respond to any interaction. DayPicker should render a `div`\n * or a `span`.\n *\n * ### Usage\n *\n * Use this hook to customize the behavior of the {@link Day} component. Create a\n * new `Day` component using this hook and pass it to the `components` prop.\n * The source of {@link Day} can be a good starting point.\n *\n */\nfunction useDayEventHandlers(date, activeModifiers) {\n var dayPicker = useDayPicker();\n var single = useSelectSingle();\n var multiple = useSelectMultiple();\n var range = useSelectRange();\n var _a = useFocusContext(), focusDayAfter = _a.focusDayAfter, focusDayBefore = _a.focusDayBefore, focusWeekAfter = _a.focusWeekAfter, focusWeekBefore = _a.focusWeekBefore, blur = _a.blur, focus = _a.focus, focusMonthBefore = _a.focusMonthBefore, focusMonthAfter = _a.focusMonthAfter, focusYearBefore = _a.focusYearBefore, focusYearAfter = _a.focusYearAfter, focusStartOfWeek = _a.focusStartOfWeek, focusEndOfWeek = _a.focusEndOfWeek;\n var onClick = function (e) {\n var _a, _b, _c, _d;\n if (isDayPickerSingle(dayPicker)) {\n (_a = single.onDayClick) === null || _a === void 0 ? void 0 : _a.call(single, date, activeModifiers, e);\n }\n else if (isDayPickerMultiple(dayPicker)) {\n (_b = multiple.onDayClick) === null || _b === void 0 ? void 0 : _b.call(multiple, date, activeModifiers, e);\n }\n else if (isDayPickerRange(dayPicker)) {\n (_c = range.onDayClick) === null || _c === void 0 ? void 0 : _c.call(range, date, activeModifiers, e);\n }\n else {\n (_d = dayPicker.onDayClick) === null || _d === void 0 ? void 0 : _d.call(dayPicker, date, activeModifiers, e);\n }\n };\n var onFocus = function (e) {\n var _a;\n focus(date);\n (_a = dayPicker.onDayFocus) === null || _a === void 0 ? void 0 : _a.call(dayPicker, date, activeModifiers, e);\n };\n var onBlur = function (e) {\n var _a;\n blur();\n (_a = dayPicker.onDayBlur) === null || _a === void 0 ? void 0 : _a.call(dayPicker, date, activeModifiers, e);\n };\n var onMouseEnter = function (e) {\n var _a;\n (_a = dayPicker.onDayMouseEnter) === null || _a === void 0 ? void 0 : _a.call(dayPicker, date, activeModifiers, e);\n };\n var onMouseLeave = function (e) {\n var _a;\n (_a = dayPicker.onDayMouseLeave) === null || _a === void 0 ? void 0 : _a.call(dayPicker, date, activeModifiers, e);\n };\n var onPointerEnter = function (e) {\n var _a;\n (_a = dayPicker.onDayPointerEnter) === null || _a === void 0 ? void 0 : _a.call(dayPicker, date, activeModifiers, e);\n };\n var onPointerLeave = function (e) {\n var _a;\n (_a = dayPicker.onDayPointerLeave) === null || _a === void 0 ? void 0 : _a.call(dayPicker, date, activeModifiers, e);\n };\n var onTouchCancel = function (e) {\n var _a;\n (_a = dayPicker.onDayTouchCancel) === null || _a === void 0 ? void 0 : _a.call(dayPicker, date, activeModifiers, e);\n };\n var onTouchEnd = function (e) {\n var _a;\n (_a = dayPicker.onDayTouchEnd) === null || _a === void 0 ? void 0 : _a.call(dayPicker, date, activeModifiers, e);\n };\n var onTouchMove = function (e) {\n var _a;\n (_a = dayPicker.onDayTouchMove) === null || _a === void 0 ? void 0 : _a.call(dayPicker, date, activeModifiers, e);\n };\n var onTouchStart = function (e) {\n var _a;\n (_a = dayPicker.onDayTouchStart) === null || _a === void 0 ? void 0 : _a.call(dayPicker, date, activeModifiers, e);\n };\n var onKeyUp = function (e) {\n var _a;\n (_a = dayPicker.onDayKeyUp) === null || _a === void 0 ? void 0 : _a.call(dayPicker, date, activeModifiers, e);\n };\n var onKeyDown = function (e) {\n var _a;\n switch (e.key) {\n case 'ArrowLeft':\n e.preventDefault();\n e.stopPropagation();\n dayPicker.dir === 'rtl' ? focusDayAfter() : focusDayBefore();\n break;\n case 'ArrowRight':\n e.preventDefault();\n e.stopPropagation();\n dayPicker.dir === 'rtl' ? focusDayBefore() : focusDayAfter();\n break;\n case 'ArrowDown':\n e.preventDefault();\n e.stopPropagation();\n focusWeekAfter();\n break;\n case 'ArrowUp':\n e.preventDefault();\n e.stopPropagation();\n focusWeekBefore();\n break;\n case 'PageUp':\n e.preventDefault();\n e.stopPropagation();\n e.shiftKey ? focusYearBefore() : focusMonthBefore();\n break;\n case 'PageDown':\n e.preventDefault();\n e.stopPropagation();\n e.shiftKey ? focusYearAfter() : focusMonthAfter();\n break;\n case 'Home':\n e.preventDefault();\n e.stopPropagation();\n focusStartOfWeek();\n break;\n case 'End':\n e.preventDefault();\n e.stopPropagation();\n focusEndOfWeek();\n break;\n }\n (_a = dayPicker.onDayKeyDown) === null || _a === void 0 ? void 0 : _a.call(dayPicker, date, activeModifiers, e);\n };\n var eventHandlers = {\n onClick: onClick,\n onFocus: onFocus,\n onBlur: onBlur,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onPointerEnter: onPointerEnter,\n onPointerLeave: onPointerLeave,\n onTouchCancel: onTouchCancel,\n onTouchEnd: onTouchEnd,\n onTouchMove: onTouchMove,\n onTouchStart: onTouchStart\n };\n return eventHandlers;\n}\n\n/**\n * Return the current selected days when DayPicker is in selection mode. Days\n * selected by the custom selection mode are not returned.\n *\n * This hook is meant to be used inside internal or custom components.\n *\n */\nfunction useSelectedDays() {\n var dayPicker = useDayPicker();\n var single = useSelectSingle();\n var multiple = useSelectMultiple();\n var range = useSelectRange();\n var selectedDays = isDayPickerSingle(dayPicker)\n ? single.selected\n : isDayPickerMultiple(dayPicker)\n ? multiple.selected\n : isDayPickerRange(dayPicker)\n ? range.selected\n : undefined;\n return selectedDays;\n}\n\nfunction isInternalModifier(modifier) {\n return Object.values(InternalModifier).includes(modifier);\n}\n/**\n * Return the class names for the Day element, according to the given active\n * modifiers.\n *\n * Custom class names are set via `modifiersClassNames` or `classNames`,\n * where the first have the precedence.\n */\nfunction getDayClassNames(dayPicker, activeModifiers) {\n var classNames = [dayPicker.classNames.day];\n Object.keys(activeModifiers).forEach(function (modifier) {\n var customClassName = dayPicker.modifiersClassNames[modifier];\n if (customClassName) {\n classNames.push(customClassName);\n }\n else if (isInternalModifier(modifier)) {\n var internalClassName = dayPicker.classNames[\"day_\".concat(modifier)];\n if (internalClassName) {\n classNames.push(internalClassName);\n }\n }\n });\n return classNames;\n}\n\n/** Return the style for the Day element, according to the given active modifiers. */\nfunction getDayStyle(dayPicker, activeModifiers) {\n var style = __assign({}, dayPicker.styles.day);\n Object.keys(activeModifiers).forEach(function (modifier) {\n var _a;\n style = __assign(__assign({}, style), (_a = dayPicker.modifiersStyles) === null || _a === void 0 ? void 0 : _a[modifier]);\n });\n return style;\n}\n\n/**\n * Return props and data used to render the {@link Day} component.\n *\n * Use this hook when creating a component to replace the built-in `Day`\n * component.\n */\nfunction useDayRender(\n/** The date to render. */\nday, \n/** The month where the date is displayed (if not the same as `date`, it means it is an \"outside\" day). */\ndisplayMonth, \n/** A ref to the button element that will be target of focus when rendered (if required). */\nbuttonRef) {\n var _a;\n var _b, _c;\n var dayPicker = useDayPicker();\n var focusContext = useFocusContext();\n var activeModifiers = useActiveModifiers(day, displayMonth);\n var eventHandlers = useDayEventHandlers(day, activeModifiers);\n var selectedDays = useSelectedDays();\n var isButton = Boolean(dayPicker.onDayClick || dayPicker.mode !== 'default');\n // Focus the button if the day is focused according to the focus context\n useEffect(function () {\n var _a;\n if (activeModifiers.outside)\n return;\n if (!focusContext.focusedDay)\n return;\n if (!isButton)\n return;\n if (isSameDay(focusContext.focusedDay, day)) {\n (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n }\n }, [\n focusContext.focusedDay,\n day,\n buttonRef,\n isButton,\n activeModifiers.outside\n ]);\n var className = getDayClassNames(dayPicker, activeModifiers).join(' ');\n var style = getDayStyle(dayPicker, activeModifiers);\n var isHidden = Boolean((activeModifiers.outside && !dayPicker.showOutsideDays) ||\n activeModifiers.hidden);\n var DayContentComponent = (_c = (_b = dayPicker.components) === null || _b === void 0 ? void 0 : _b.DayContent) !== null && _c !== void 0 ? _c : DayContent;\n var children = (jsx(DayContentComponent, { date: day, displayMonth: displayMonth, activeModifiers: activeModifiers }));\n var divProps = {\n style: style,\n className: className,\n children: children,\n role: 'gridcell'\n };\n var isFocusTarget = focusContext.focusTarget &&\n isSameDay(focusContext.focusTarget, day) &&\n !activeModifiers.outside;\n var isFocused = focusContext.focusedDay && isSameDay(focusContext.focusedDay, day);\n var buttonProps = __assign(__assign(__assign({}, divProps), (_a = { disabled: activeModifiers.disabled, role: 'gridcell' }, _a['aria-selected'] = activeModifiers.selected, _a.tabIndex = isFocused || isFocusTarget ? 0 : -1, _a)), eventHandlers);\n var dayRender = {\n isButton: isButton,\n isHidden: isHidden,\n activeModifiers: activeModifiers,\n selectedDays: selectedDays,\n buttonProps: buttonProps,\n divProps: divProps\n };\n return dayRender;\n}\n\n/**\n * The content of a day cell – as a button or span element according to its\n * modifiers.\n */\nfunction Day(props) {\n var buttonRef = useRef(null);\n var dayRender = useDayRender(props.date, props.displayMonth, buttonRef);\n if (dayRender.isHidden) {\n return jsx(\"div\", { role: \"gridcell\" });\n }\n if (!dayRender.isButton) {\n return jsx(\"div\", __assign({}, dayRender.divProps));\n }\n return jsx(Button, __assign({ name: \"day\", ref: buttonRef }, dayRender.buttonProps));\n}\n\n/**\n * Render the week number element. If `onWeekNumberClick` is passed to DayPicker, it\n * renders a button, otherwise a span element.\n */\nfunction WeekNumber(props) {\n var weekNumber = props.number, dates = props.dates;\n var _a = useDayPicker(), onWeekNumberClick = _a.onWeekNumberClick, styles = _a.styles, classNames = _a.classNames, locale = _a.locale, labelWeekNumber = _a.labels.labelWeekNumber, formatWeekNumber = _a.formatters.formatWeekNumber;\n var content = formatWeekNumber(Number(weekNumber), { locale: locale });\n if (!onWeekNumberClick) {\n return (jsx(\"span\", { className: classNames.weeknumber, style: styles.weeknumber, children: content }));\n }\n var label = labelWeekNumber(Number(weekNumber), { locale: locale });\n var handleClick = function (e) {\n onWeekNumberClick(weekNumber, dates, e);\n };\n return (jsx(Button, { name: \"week-number\", \"aria-label\": label, className: classNames.weeknumber, style: styles.weeknumber, onClick: handleClick, children: content }));\n}\n\n/** Render a row in the calendar, with the days and the week number. */\nfunction Row(props) {\n var _a, _b;\n var _c = useDayPicker(), styles = _c.styles, classNames = _c.classNames, showWeekNumber = _c.showWeekNumber, components = _c.components;\n var DayComponent = (_a = components === null || components === void 0 ? void 0 : components.Day) !== null && _a !== void 0 ? _a : Day;\n var WeeknumberComponent = (_b = components === null || components === void 0 ? void 0 : components.WeekNumber) !== null && _b !== void 0 ? _b : WeekNumber;\n var weekNumberCell;\n if (showWeekNumber) {\n weekNumberCell = (jsx(\"td\", { className: classNames.cell, style: styles.cell, children: jsx(WeeknumberComponent, { number: props.weekNumber, dates: props.dates }) }));\n }\n return (jsxs(\"tr\", { className: classNames.row, style: styles.row, children: [weekNumberCell, props.dates.map(function (date) { return (jsx(\"td\", { className: classNames.cell, style: styles.cell, role: \"presentation\", children: jsx(DayComponent, { displayMonth: props.displayMonth, date: date }) }, getUnixTime(date))); })] }));\n}\n\n/** Return the weeks between two dates. */\nfunction daysToMonthWeeks(fromDate, toDate, options) {\n var toWeek = (options === null || options === void 0 ? void 0 : options.ISOWeek)\n ? endOfISOWeek(toDate)\n : endOfWeek(toDate, options);\n var fromWeek = (options === null || options === void 0 ? void 0 : options.ISOWeek)\n ? startOfISOWeek(fromDate)\n : startOfWeek(fromDate, options);\n var nOfDays = differenceInCalendarDays(toWeek, fromWeek);\n var days = [];\n for (var i = 0; i <= nOfDays; i++) {\n days.push(addDays(fromWeek, i));\n }\n var weeksInMonth = days.reduce(function (result, date) {\n var weekNumber = (options === null || options === void 0 ? void 0 : options.ISOWeek)\n ? getISOWeek(date)\n : getWeek(date, options);\n var existingWeek = result.find(function (value) { return value.weekNumber === weekNumber; });\n if (existingWeek) {\n existingWeek.dates.push(date);\n return result;\n }\n result.push({\n weekNumber: weekNumber,\n dates: [date]\n });\n return result;\n }, []);\n return weeksInMonth;\n}\n\n/**\n * Return the weeks belonging to the given month, adding the \"outside days\" to\n * the first and last week.\n */\nfunction getMonthWeeks(month, options) {\n var weeksInMonth = daysToMonthWeeks(startOfMonth(month), endOfMonth(month), options);\n if (options === null || options === void 0 ? void 0 : options.useFixedWeeks) {\n // Add extra weeks to the month, up to 6 weeks\n var nrOfMonthWeeks = getWeeksInMonth(month, options);\n if (nrOfMonthWeeks < 6) {\n var lastWeek = weeksInMonth[weeksInMonth.length - 1];\n var lastDate = lastWeek.dates[lastWeek.dates.length - 1];\n var toDate = addWeeks(lastDate, 6 - nrOfMonthWeeks);\n var extraWeeks = daysToMonthWeeks(addWeeks(lastDate, 1), toDate, options);\n weeksInMonth.push.apply(weeksInMonth, extraWeeks);\n }\n }\n return weeksInMonth;\n}\n\n/** Render the table with the calendar. */\nfunction Table(props) {\n var _a, _b, _c;\n var _d = useDayPicker(), locale = _d.locale, classNames = _d.classNames, styles = _d.styles, hideHead = _d.hideHead, fixedWeeks = _d.fixedWeeks, components = _d.components, weekStartsOn = _d.weekStartsOn, firstWeekContainsDate = _d.firstWeekContainsDate, ISOWeek = _d.ISOWeek;\n var weeks = getMonthWeeks(props.displayMonth, {\n useFixedWeeks: Boolean(fixedWeeks),\n ISOWeek: ISOWeek,\n locale: locale,\n weekStartsOn: weekStartsOn,\n firstWeekContainsDate: firstWeekContainsDate\n });\n var HeadComponent = (_a = components === null || components === void 0 ? void 0 : components.Head) !== null && _a !== void 0 ? _a : Head;\n var RowComponent = (_b = components === null || components === void 0 ? void 0 : components.Row) !== null && _b !== void 0 ? _b : Row;\n var FooterComponent = (_c = components === null || components === void 0 ? void 0 : components.Footer) !== null && _c !== void 0 ? _c : Footer;\n return (jsxs(\"table\", { id: props.id, className: classNames.table, style: styles.table, role: \"grid\", \"aria-labelledby\": props['aria-labelledby'], children: [!hideHead && jsx(HeadComponent, {}), jsx(\"tbody\", { className: classNames.tbody, style: styles.tbody, children: weeks.map(function (week) { return (jsx(RowComponent, { displayMonth: props.displayMonth, dates: week.dates, weekNumber: week.weekNumber }, week.weekNumber)); }) }), jsx(FooterComponent, { displayMonth: props.displayMonth })] }));\n}\n\n/*\nThe MIT License (MIT)\n\nCopyright (c) 2018-present, React Training LLC\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n/* eslint-disable prefer-const */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/*\n * Welcome to @reach/auto-id!\n * Let's see if we can make sense of why this hook exists and its\n * implementation.\n *\n * Some background:\n * 1. Accessibility APIs rely heavily on element IDs\n * 2. Requiring developers to put IDs on every element in Reach UI is both\n * cumbersome and error-prone\n * 3. With a component model, we can generate IDs for them!\n *\n * Solution 1: Generate random IDs.\n *\n * This works great as long as you don't server render your app. When React (in\n * the client) tries to reuse the markup from the server, the IDs won't match\n * and React will then recreate the entire DOM tree.\n *\n * Solution 2: Increment an integer\n *\n * This sounds great. Since we're rendering the exact same tree on the server\n * and client, we can increment a counter and get a deterministic result between\n * client and server. Also, JS integers can go up to nine-quadrillion. I'm\n * pretty sure the tab will be closed before an app never needs\n * 10 quadrillion IDs!\n *\n * Problem solved, right?\n *\n * Ah, but there's a catch! React's concurrent rendering makes this approach\n * non-deterministic. While the client and server will end up with the same\n * elements in the end, depending on suspense boundaries (and possibly some user\n * input during the initial render) the incrementing integers won't always match\n * up.\n *\n * Solution 3: Don't use IDs at all on the server; patch after first render.\n *\n * What we've done here is solution 2 with some tricks. With this approach, the\n * ID returned is an empty string on the first render. This way the server and\n * client have the same markup no matter how wild the concurrent rendering may\n * have gotten.\n *\n * After the render, we patch up the components with an incremented ID. This\n * causes a double render on any components with `useId`. Shouldn't be a problem\n * since the components using this hook should be small, and we're only updating\n * the ID attribute on the DOM, nothing big is happening.\n *\n * It doesn't have to be an incremented number, though--we could do generate\n * random strings instead, but incrementing a number is probably the cheapest\n * thing we can do.\n *\n * Additionally, we only do this patchup on the very first client render ever.\n * Any calls to `useId` that happen dynamically in the client will be\n * populated immediately with a value. So, we only get the double render after\n * server hydration and never again, SO BACK OFF ALRIGHT?\n */\nfunction canUseDOM() {\n return !!(typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\n}\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To\n * get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\nvar useIsomorphicLayoutEffect = canUseDOM() ? useLayoutEffect : useEffect;\nvar serverHandoffComplete = false;\nvar id = 0;\nfunction genId() {\n return \"react-day-picker-\".concat(++id);\n}\nfunction useId(providedId) {\n // TODO: Remove error flag when updating internal deps to React 18. None of\n // our tricks will play well with concurrent rendering anyway.\n var _a;\n // If this instance isn't part of the initial render, we don't have to do the\n // double render/patch-up dance. We can just generate the ID and return it.\n var initialId = providedId !== null && providedId !== void 0 ? providedId : (serverHandoffComplete ? genId() : null);\n var _b = useState(initialId), id = _b[0], setId = _b[1];\n useIsomorphicLayoutEffect(function () {\n if (id === null) {\n // Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n // rendering flicker, though it'll make the first render slower (unlikely\n // to matter, but you're welcome to measure your app and let us know if\n // it's a problem).\n setId(genId());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n if (serverHandoffComplete === false) {\n // Flag all future uses of `useId` to skip the update dance. This is in\n // `useEffect` because it goes after `useLayoutEffect`, ensuring we don't\n // accidentally bail out of the patch-up dance prematurely.\n serverHandoffComplete = true;\n }\n }, []);\n return (_a = providedId !== null && providedId !== void 0 ? providedId : id) !== null && _a !== void 0 ? _a : undefined;\n}\n\n/** Render a month. */\nfunction Month(props) {\n var _a;\n var _b;\n var dayPicker = useDayPicker();\n var dir = dayPicker.dir, classNames = dayPicker.classNames, styles = dayPicker.styles, components = dayPicker.components;\n var displayMonths = useNavigation().displayMonths;\n var captionId = useId(dayPicker.id ? \"\".concat(dayPicker.id, \"-\").concat(props.displayIndex) : undefined);\n var tableId = dayPicker.id\n ? \"\".concat(dayPicker.id, \"-grid-\").concat(props.displayIndex)\n : undefined;\n var className = [classNames.month];\n var style = styles.month;\n var isStart = props.displayIndex === 0;\n var isEnd = props.displayIndex === displayMonths.length - 1;\n var isCenter = !isStart && !isEnd;\n if (dir === 'rtl') {\n _a = [isStart, isEnd], isEnd = _a[0], isStart = _a[1];\n }\n if (isStart) {\n className.push(classNames.caption_start);\n style = __assign(__assign({}, style), styles.caption_start);\n }\n if (isEnd) {\n className.push(classNames.caption_end);\n style = __assign(__assign({}, style), styles.caption_end);\n }\n if (isCenter) {\n className.push(classNames.caption_between);\n style = __assign(__assign({}, style), styles.caption_between);\n }\n var CaptionComponent = (_b = components === null || components === void 0 ? void 0 : components.Caption) !== null && _b !== void 0 ? _b : Caption;\n return (jsxs(\"div\", { className: className.join(' '), style: style, children: [jsx(CaptionComponent, { id: captionId, displayMonth: props.displayMonth, displayIndex: props.displayIndex }), jsx(Table, { id: tableId, \"aria-labelledby\": captionId, displayMonth: props.displayMonth })] }, props.displayIndex));\n}\n\n/**\n * Render the wrapper for the month grids.\n */\nfunction Months(props) {\n var _a = useDayPicker(), classNames = _a.classNames, styles = _a.styles;\n return (jsx(\"div\", { className: classNames.months, style: styles.months, children: props.children }));\n}\n\n/** Render the container with the months according to the number of months to display. */\nfunction Root(_a) {\n var _b, _c;\n var initialProps = _a.initialProps;\n var dayPicker = useDayPicker();\n var focusContext = useFocusContext();\n var navigation = useNavigation();\n var _d = useState(false), hasInitialFocus = _d[0], setHasInitialFocus = _d[1];\n // Focus the focus target when initialFocus is passed in\n useEffect(function () {\n if (!dayPicker.initialFocus)\n return;\n if (!focusContext.focusTarget)\n return;\n if (hasInitialFocus)\n return;\n focusContext.focus(focusContext.focusTarget);\n setHasInitialFocus(true);\n }, [\n dayPicker.initialFocus,\n hasInitialFocus,\n focusContext.focus,\n focusContext.focusTarget,\n focusContext\n ]);\n // Apply classnames according to props\n var classNames = [dayPicker.classNames.root, dayPicker.className];\n if (dayPicker.numberOfMonths > 1) {\n classNames.push(dayPicker.classNames.multiple_months);\n }\n if (dayPicker.showWeekNumber) {\n classNames.push(dayPicker.classNames.with_weeknumber);\n }\n var style = __assign(__assign({}, dayPicker.styles.root), dayPicker.style);\n var dataAttributes = Object.keys(initialProps)\n .filter(function (key) { return key.startsWith('data-'); })\n .reduce(function (attrs, key) {\n var _a;\n return __assign(__assign({}, attrs), (_a = {}, _a[key] = initialProps[key], _a));\n }, {});\n var MonthsComponent = (_c = (_b = initialProps.components) === null || _b === void 0 ? void 0 : _b.Months) !== null && _c !== void 0 ? _c : Months;\n return (jsx(\"div\", __assign({ className: classNames.join(' '), style: style, dir: dayPicker.dir, id: dayPicker.id, nonce: initialProps.nonce, title: initialProps.title, lang: initialProps.lang }, dataAttributes, { children: jsx(MonthsComponent, { children: navigation.displayMonths.map(function (month, i) { return (jsx(Month, { displayIndex: i, displayMonth: month }, i)); }) }) })));\n}\n\n/** Provide the value for all the context providers. */\nfunction RootProvider(props) {\n var children = props.children, initialProps = __rest(props, [\"children\"]);\n return (jsx(DayPickerProvider, { initialProps: initialProps, children: jsx(NavigationProvider, { children: jsx(SelectSingleProvider, { initialProps: initialProps, children: jsx(SelectMultipleProvider, { initialProps: initialProps, children: jsx(SelectRangeProvider, { initialProps: initialProps, children: jsx(ModifiersProvider, { children: jsx(FocusProvider, { children: children }) }) }) }) }) }) }));\n}\n\n/**\n * DayPicker render a date picker component to let users pick dates from a\n * calendar. See http://react-day-picker.js.org for updated documentation and\n * examples.\n *\n * ### Customization\n *\n * DayPicker offers different customization props. For example,\n *\n * - show multiple months using `numberOfMonths`\n * - display a dropdown to navigate the months via `captionLayout`\n * - display the week numbers with `showWeekNumbers`\n * - disable or hide days with `disabled` or `hidden`\n *\n * ### Controlling the months\n *\n * Change the initially displayed month using the `defaultMonth` prop. The\n * displayed months are controlled by DayPicker and stored in its internal\n * state. To control the months yourself, use `month` instead of `defaultMonth`\n * and use the `onMonthChange` event to set it.\n *\n * To limit the months the user can navigate to, use\n * `fromDate`/`fromMonth`/`fromYear` or `toDate`/`toMonth`/`toYear`.\n *\n * ### Selection modes\n *\n * DayPicker supports different selection mode that can be toggled using the\n * `mode` prop:\n *\n * - `mode=\"single\"`: only one day can be selected. Use `required` to make the\n * selection required. Use the `onSelect` event handler to get the selected\n * days.\n * - `mode=\"multiple\"`: users can select one or more days. Limit the amount of\n * days that can be selected with the `min` or the `max` props.\n * - `mode=\"range\"`: users can select a range of days. Limit the amount of days\n * in the range with the `min` or the `max` props.\n * - `mode=\"default\"` (default): the built-in selections are disabled. Implement\n * your own selection mode with `onDayClick`.\n *\n * The selection modes should cover the most common use cases. In case you\n * need a more refined way of selecting days, use `mode=\"default\"`. Use the\n * `selected` props and add the day event handlers to add/remove days from the\n * selection.\n *\n * ### Modifiers\n *\n * A _modifier_ represents different styles or states for the days displayed in\n * the calendar (like \"selected\" or \"disabled\"). Define custom modifiers using\n * the `modifiers` prop.\n *\n * ### Formatters and custom component\n *\n * You can customize how the content is displayed in the date picker by using\n * either the formatters or replacing the internal components.\n *\n * For the most common cases you want to use the `formatters` prop to change how\n * the content is formatted in the calendar. Use the `components` prop to\n * replace the internal components, like the navigation icons.\n *\n * ### Styling\n *\n * DayPicker comes with a default, basic style in `react-day-picker/style` – use\n * it as template for your own style.\n *\n * If you are using CSS modules, pass the imported styles object the\n * `classNames` props.\n *\n * You can also style the elements via inline styles using the `styles` prop.\n *\n * ### Form fields\n *\n * If you need to bind the date picker to a form field, you can use the\n * `useInput` hooks for a basic behavior. See the `useInput` source as an\n * example to bind the date picker with form fields.\n *\n * ### Localization\n *\n * To localize DayPicker, import the locale from `date-fns` package and use the\n * `locale` prop.\n *\n * For example, to use Spanish locale:\n *\n * ```\n * import { es } from 'date-fns/locale';\n * <DayPicker locale={es} />\n * ```\n */\nfunction DayPicker(props) {\n return (jsx(RootProvider, __assign({}, props, { children: jsx(Root, { initialProps: props }) })));\n}\n\n/** @private */\nfunction isValidDate(day) {\n return !isNaN(day.getTime());\n}\n\n/** Return props and setters for binding an input field to DayPicker. */\nfunction useInput(options) {\n if (options === void 0) { options = {}; }\n var _a = options.locale, locale = _a === void 0 ? enUS : _a, required = options.required, _b = options.format, format$1 = _b === void 0 ? 'PP' : _b, defaultSelected = options.defaultSelected, _c = options.today, today = _c === void 0 ? new Date() : _c;\n var _d = parseFromToProps(options), fromDate = _d.fromDate, toDate = _d.toDate;\n // Shortcut to the DateFns functions\n var parseValue = function (value) { return parse(value, format$1, today, { locale: locale }); };\n // Initialize states\n var _e = useState(defaultSelected !== null && defaultSelected !== void 0 ? defaultSelected : today), month = _e[0], setMonth = _e[1];\n var _f = useState(defaultSelected), selectedDay = _f[0], setSelectedDay = _f[1];\n var defaultInputValue = defaultSelected\n ? format(defaultSelected, format$1, { locale: locale })\n : '';\n var _g = useState(defaultInputValue), inputValue = _g[0], setInputValue = _g[1];\n var reset = function () {\n setSelectedDay(defaultSelected);\n setMonth(defaultSelected !== null && defaultSelected !== void 0 ? defaultSelected : today);\n setInputValue(defaultInputValue !== null && defaultInputValue !== void 0 ? defaultInputValue : '');\n };\n var setSelected = function (date) {\n setSelectedDay(date);\n setMonth(date !== null && date !== void 0 ? date : today);\n setInputValue(date ? format(date, format$1, { locale: locale }) : '');\n };\n var handleDayClick = function (day, _a) {\n var selected = _a.selected;\n if (!required && selected) {\n setSelectedDay(undefined);\n setInputValue('');\n return;\n }\n setSelectedDay(day);\n setInputValue(day ? format(day, format$1, { locale: locale }) : '');\n };\n var handleMonthChange = function (month) {\n setMonth(month);\n };\n // When changing the input field, save its value in state and check if the\n // string is a valid date. If it is a valid day, set it as selected and update\n // the calendar’s month.\n var handleChange = function (e) {\n setInputValue(e.target.value);\n var day = parseValue(e.target.value);\n var isBefore = fromDate && differenceInCalendarDays(fromDate, day) > 0;\n var isAfter = toDate && differenceInCalendarDays(day, toDate) > 0;\n if (!isValidDate(day) || isBefore || isAfter) {\n setSelectedDay(undefined);\n return;\n }\n setSelectedDay(day);\n setMonth(day);\n };\n // Special case for _required_ fields: on blur, if the value of the input is not\n // a valid date, reset the calendar and the input value.\n var handleBlur = function (e) {\n var day = parseValue(e.target.value);\n if (!isValidDate(day)) {\n reset();\n }\n };\n // When focusing, make sure DayPicker visualizes the month of the date in the\n // input field.\n var handleFocus = function (e) {\n if (!e.target.value) {\n reset();\n return;\n }\n var day = parseValue(e.target.value);\n if (isValidDate(day)) {\n setMonth(day);\n }\n };\n var dayPickerProps = {\n month: month,\n onDayClick: handleDayClick,\n onMonthChange: handleMonthChange,\n selected: selectedDay,\n locale: locale,\n fromDate: fromDate,\n toDate: toDate,\n today: today\n };\n var inputProps = {\n onBlur: handleBlur,\n onChange: handleChange,\n onFocus: handleFocus,\n value: inputValue,\n placeholder: format(new Date(), format$1, { locale: locale })\n };\n return { dayPickerProps: dayPickerProps, inputProps: inputProps, reset: reset, setSelected: setSelected };\n}\n\n/** Returns true when the props are of type {@link DayPickerDefaultProps}. */\nfunction isDayPickerDefault(props) {\n return props.mode === undefined || props.mode === 'default';\n}\n\nexport { Button, Caption, CaptionDropdowns, CaptionLabel, CaptionNavigation, Day, DayContent, DayPicker, DayPickerContext, DayPickerProvider, Dropdown, FocusContext, FocusProvider, Footer, Head, HeadRow, IconDropdown, IconLeft, IconRight, InternalModifier, Months, NavigationContext, NavigationProvider, RootProvider, Row, SelectMultipleContext, SelectMultipleProvider, SelectMultipleProviderInternal, SelectRangeContext, SelectRangeProvider, SelectRangeProviderInternal, SelectSingleContext, SelectSingleProvider, SelectSingleProviderInternal, WeekNumber, addToRange, isDateAfterType, isDateBeforeType, isDateInterval, isDateRange, isDayOfWeekType, isDayPickerDefault, isDayPickerMultiple, isDayPickerRange, isDayPickerSingle, isMatch, useActiveModifiers, useDayPicker, useDayRender, useFocusContext, useInput, useNavigation, useSelectMultiple, useSelectRange, useSelectSingle };\n//# sourceMappingURL=index.esm.js.map\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { forwardRef } from 'react';\nimport tw from 'twin.macro';\nimport { INPUT_SIZES } from '../../helpers/constants';\nimport { themeBorder, themeColor, themeContrast } from '../../helpers/theme';\nimport { InputSizeKeys, ThemedProps } from '../../types/theme';\n\ninterface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {\n as?: React.ElementType;\n className?: string;\n isInvalid?: boolean;\n isValid?: boolean;\n size?: InputSizeKeys;\n}\n\ninterface InputTextAreaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n className?: string;\n isInvalid?: boolean;\n isValid?: boolean;\n size?: InputSizeKeys;\n}\n\nexport const InputField = forwardRef<HTMLInputElement, InputProps>(\n ({ size = 'medium', style, ...props }, ref) => {\n return (\n <StyledInput ref={ref} style={{ ...style, '--inputSize': INPUT_SIZES[size] }} {...props} />\n );\n },\n);\nInputField.displayName = 'InputField';\n\nexport const InputTextArea = forwardRef<HTMLTextAreaElement, InputTextAreaProps>(\n ({ size = 'medium', style, ...props }, ref) => {\n return (\n <StyledTextArea ref={ref} style={{ ...style, '--inputSize': INPUT_SIZES[size] }} {...props} />\n );\n },\n);\nInputTextArea.displayName = 'InputTextArea';\n\nconst defaultStyle = (props: ThemedProps) => css`\n --border: ${themeBorder('default', 'inputBorder')(props)};\n --focusBorder: ${themeBorder('default', 'inputFocus')(props)};\n --focusOutline: var(--echoes-focus-border-width-default) solid var(--echoes-color-focus-default);\n`;\n\nconst dangerStyle = (props: ThemedProps) => css`\n --border: ${themeBorder('default', 'inputDanger')(props)};\n --focusBorder: ${themeBorder('default', 'inputDangerFocus')(props)};\n --focusOutline: var(--echoes-focus-border-width-default) solid var(--echoes-color-focus-default);\n`;\n\nconst successStyle = (props: ThemedProps) => css`\n --border: ${themeBorder('default', 'inputSuccess')(props)};\n --focusBorder: ${themeBorder('default', 'inputSuccessFocus')(props)};\n --focusOutline: ${themeBorder('focus', 'inputSuccessFocus')(props)};\n`;\n\nconst getInputVariant = (props: ThemedProps & { isInvalid?: boolean; isValid?: boolean }) => {\n const { isValid, isInvalid } = props;\n if (isInvalid) {\n return dangerStyle;\n } else if (isValid) {\n return successStyle;\n }\n return defaultStyle;\n};\n\nconst baseStyle = (props: ThemedProps) => css`\n color: ${themeContrast('inputBackground')(props)};\n background: ${themeColor('inputBackground')(props)};\n border: var(--border);\n width: var(--inputSize);\n transition: border-color 0.2s ease;\n\n ${tw`sw-typo-default`}\n ${tw`sw-box-border`}\n ${tw`sw-rounded-2`}\n ${tw`sw-px-3 sw-py-2`}\n\n &::placeholder {\n color: var(--echoes-color-text-placeholder);\n }\n\n &:hover {\n border: var(--focusBorder);\n }\n\n &:active,\n &:focus,\n &:focus-within,\n &:focus-visible {\n border: var(--focusBorder);\n outline: var(--focusOutline);\n outline-offset: var(--echoes-focus-border-offset-default);\n }\n\n &:disabled,\n &:disabled:hover {\n color: var(--echoes-color-text-disabled);\n background-color: ${themeColor('inputDisabled')(props)};\n border: ${themeBorder('default', 'inputDisabledBorder')(props)};\n outline: none;\n\n ${tw`sw-cursor-not-allowed`};\n &::placeholder {\n color: var(--echoes-color-text-disabled);\n }\n }\n`;\n\nconst StyledInput = styled.input`\n ${getInputVariant}\n ${baseStyle}\n ${tw`sw-h-control`}\n`;\n\nconst StyledTextArea = styled.textarea`\n ${getInputVariant};\n ${baseStyle};\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { IconSearch } from '@sonarsource/echoes-react';\nimport classNames from 'classnames';\nimport { debounce } from 'lodash';\nimport React, { PropsWithChildren, useEffect, useMemo, useRef, useState } from 'react';\nimport { useIntl } from 'react-intl';\nimport tw, { theme } from 'twin.macro';\nimport { DEBOUNCE_DELAY, INPUT_SIZES } from '../../helpers/constants';\nimport { Key } from '../../helpers/keyboard';\nimport { themeBorder, themeColor, themeContrast } from '../../helpers/theme';\nimport { isDefined } from '../../helpers/types';\nimport { InputSizeKeys } from '../../types/theme';\nimport { InteractiveIcon } from '../InteractiveIcon';\nimport { Spinner } from '../Spinner';\nimport { CloseIcon } from '../icons/CloseIcon';\n\ninterface Props {\n autoFocus?: boolean;\n className?: string;\n id?: string;\n innerRef?: React.RefCallback<HTMLInputElement>;\n inputId?: string;\n loading?: boolean;\n maxLength?: number;\n minLength?: number;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onChange: (value: string) => void;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;\n onMouseDown?: React.MouseEventHandler<HTMLInputElement>;\n placeholder?: string;\n searchInputAriaLabel?: string;\n size?: InputSizeKeys;\n value?: string;\n}\n\nconst DEFAULT_MAX_LENGTH = 100;\n\nexport function InputSearch(props: PropsWithChildren<Props>) {\n const {\n autoFocus,\n id,\n className,\n innerRef,\n inputId,\n onBlur,\n onChange,\n onFocus,\n onKeyDown,\n onMouseDown,\n placeholder,\n loading,\n minLength,\n maxLength = DEFAULT_MAX_LENGTH,\n size = 'medium',\n value: parentValue,\n searchInputAriaLabel,\n } = props;\n const intl = useIntl();\n const input = useRef<null | HTMLElement>(null);\n const [value, setValue] = useState(parentValue ?? '');\n const debouncedOnChange = useMemo(\n () =>\n debounce((val: string) => {\n onChange(val);\n }, DEBOUNCE_DELAY),\n [onChange],\n );\n\n const tooShort = isDefined(minLength) && value.length > 0 && value.length < minLength;\n const inputClassName = classNames('js-input-search', {\n touched: value.length > 0 && (!minLength || minLength > value.length),\n 'sw-pr-10': value.length > 0,\n });\n\n useEffect(() => {\n // initially letting parentValue control the value of the input\n // later the value is controlled by the local value state\n if (parentValue === '' || (parentValue !== undefined && value === '')) {\n setValue(parentValue);\n }\n }, [parentValue]); // eslint-disable-line\n\n useEffect(() => {\n if (autoFocus && input.current) {\n input.current.focus();\n }\n }, [autoFocus]);\n\n const changeValue = (newValue: string) => {\n if (newValue.length === 0 || !minLength || minLength <= newValue.length) {\n debouncedOnChange(newValue);\n }\n };\n\n const handleInputChange = (event: React.SyntheticEvent<HTMLInputElement>) => {\n const eventValue = event.currentTarget.value;\n setValue(eventValue);\n changeValue(eventValue);\n };\n\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === Key.Escape) {\n event.preventDefault();\n handleClearClick();\n }\n onKeyDown?.(event);\n };\n\n const handleClearClick = () => {\n onChange('');\n setValue('');\n input.current?.focus();\n };\n const ref = (node: HTMLInputElement | null) => {\n input.current = node;\n innerRef?.(node);\n };\n\n return (\n <InputSearchWrapper\n className={className}\n id={id}\n onMouseDown={onMouseDown}\n style={{ '--inputSize': INPUT_SIZES[size] }}\n title={\n tooShort && isDefined(minLength)\n ? intl.formatMessage({ id: 'select2.tooShort' }, { 0: minLength })\n : ''\n }\n >\n <StyledInputWrapper className=\"sw-flex sw-items-center\">\n <input\n aria-label={searchInputAriaLabel ?? placeholder}\n autoComplete=\"off\"\n className={inputClassName}\n id={inputId}\n maxLength={maxLength}\n onBlur={onBlur}\n onChange={handleInputChange}\n onFocus={onFocus}\n onKeyDown={handleInputKeyDown}\n placeholder={placeholder}\n ref={ref}\n role=\"searchbox\"\n type=\"search\"\n value={value}\n />\n <StyledSearchIconWrapper>\n <Spinner className=\"sw-z-normal\" loading={loading ?? false}>\n <StyledSearchIcon />\n </Spinner>\n </StyledSearchIconWrapper>\n {value && (\n <StyledInteractiveIcon\n Icon={CloseIcon}\n aria-label={intl.formatMessage({ id: 'clear' })}\n className=\"it__search-box-clear\"\n onClick={handleClearClick}\n size=\"small\"\n />\n )}\n\n {tooShort && isDefined(minLength) && (\n <StyledNote className=\"sw-ml-1\" role=\"note\">\n {intl.formatMessage({ id: 'select2.tooShort' }, { 0: minLength })}\n </StyledNote>\n )}\n </StyledInputWrapper>\n </InputSearchWrapper>\n );\n}\n\nInputSearch.displayName = 'InputSearch'; // so that tests don't see the obfuscated production name\n\nexport const InputSearchWrapper = styled.div`\n width: var(--inputSize);\n\n ${tw`sw-relative sw-inline-block`}\n ${tw`sw-whitespace-nowrap`}\n ${tw`sw-align-middle`}\n ${tw`sw-h-control`}\n`;\n\nexport const StyledInputWrapper = styled.div`\n input {\n background: ${themeColor('inputBackground')};\n color: ${themeContrast('inputBackground')};\n border: ${themeBorder('default', 'inputBorder')};\n\n ${tw`sw-rounded-2`}\n ${tw`sw-box-border`}\n ${tw`sw-pl-10`}\n ${tw`sw-typo-default`}\n ${tw`sw-w-full sw-h-control`}\n\n &::placeholder {\n color: var(--echoes-color-text-placeholder);\n\n ${tw`sw-truncate`}\n }\n\n &:hover {\n border: ${themeBorder('default', 'inputFocus')};\n }\n\n &:focus,\n &:active {\n border: ${themeBorder('default', 'inputFocus')};\n outline: var(--echoes-focus-border-width-default) solid var(--echoes-color-focus-default);\n outline-offset: var(--echoes-focus-border-offset-default);\n }\n\n &::-webkit-search-decoration,\n &::-webkit-search-cancel-button,\n &::-webkit-search-results-button,\n &::-webkit-search-results-decoration {\n ${tw`sw-hidden sw-appearance-none`}\n }\n }\n`;\n\nexport const StyledSearchIcon = styled(IconSearch)`\n color: ${themeColor('inputBorder')};\n`;\n\nexport const StyledSearchIconWrapper = styled.div`\n ${tw`sw-left-3`}\n ${tw`sw-absolute`}\n ${tw`sw-z-normal`}\n`;\n\nexport const StyledInteractiveIcon = styled(InteractiveIcon)`\n ${tw`sw-absolute`}\n ${tw`sw-right-2`}\n\n &:focus,\n &:active {\n outline: var(--echoes-focus-border-width-default) solid var(--echoes-color-focus-default);\n }\n`;\n\nexport const StyledNote = styled.span`\n color: var(--echoes-color-text-placeholder);\n top: calc(1px + ${theme('inset.2')});\n\n ${tw`sw-absolute`}\n ${tw`sw-left-12 sw-right-10`}\n ${tw`sw-typo-default`}\n ${tw`sw-text-right`}\n ${tw`sw-truncate`}\n ${tw`sw-pointer-events-none`}\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport classNames from 'classnames';\nimport tw from 'twin.macro';\nimport { themeColor, themeContrast } from '../helpers';\nimport { Key } from '../helpers/keyboard';\nimport { TriangleDownIcon, TriangleLeftIcon, TriangleRightIcon, TriangleUpIcon } from './icons';\n\nexport const mappedKeys = {\n [Key.Alt]: 'Alt',\n [Key.ArrowDown]: <TriangleDownIcon />,\n [Key.ArrowLeft]: <TriangleLeftIcon />,\n [Key.ArrowRight]: <TriangleRightIcon />,\n [Key.ArrowUp]: <TriangleUpIcon />,\n [Key.Command]: '⌘',\n [Key.Control]: 'Ctrl',\n [Key.Option]: '⌥',\n [Key.Click]: 'click',\n};\n\nconst NON_KEY_SYMBOLS = ['+', ' '];\n\nexport function KeyboardHintKeys({ command }: { command: string }) {\n const keys = command\n .trim()\n .split(' ')\n .map((key, index) => {\n const uniqueKey = `${key}-${index}`;\n\n if (NON_KEY_SYMBOLS.includes(key)) {\n return <span key={uniqueKey}>{key}</span>;\n }\n\n const isNonMappedKey = !(\n Object.keys(mappedKeys).includes(key) || Object.values(mappedKeys).includes(key)\n );\n\n return (\n <KeyBox className={classNames({ 'sw-px-1': isNonMappedKey })} key={uniqueKey}>\n {Object.keys(mappedKeys).includes(key) ? mappedKeys[key as keyof typeof mappedKeys] : key}\n </KeyBox>\n );\n });\n\n return <div className=\"sw-flex sw-gap-1\">{keys}</div>;\n}\n\nexport const KeyBox = styled.span`\n ${tw`sw-flex sw-items-center sw-justify-center`}\n ${tw`sw-px-1/2`}\n ${tw`sw-rounded-1/2`}\n\n background-color: ${themeColor('keyboardHintKey')};\n color: ${themeContrast('keyboardHintKey')};\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport tw from 'twin.macro';\n\nexport const ListItem = styled.li`\n ${tw`sw-my-3`}\n`;\n\nListItem.displayName = 'ListItem';\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport tw from 'twin.macro';\n\nexport const NumberedList = styled.ol`\n list-style: none;\n counter-reset: li;\n ${tw`sw-mt-4`}\n ${tw`sw-pl-0`}\n\n li:last-child {\n ${tw`sw-mb-0`}\n }\n`;\n\nNumberedList.displayName = 'NumberedList';\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport tw from 'twin.macro';\nimport { themeColor } from '../../helpers/theme';\n\nexport const NumberedListItem = styled.li`\n counter-increment: li;\n ${tw`sw-mb-4`}\n ${tw`sw-ml-1`}\n\n &::before {\n width: 19px;\n height: 19px;\n color: ${themeColor('numberedListText')};\n background-color: ${themeColor('numberedList')};\n border-radius: 20px;\n content: counter(li);\n\n ${tw`sw-typo-semibold`}\n ${tw`sw-p-1`}\n ${tw`sw-mr-3`}\n ${tw`sw-inline-block`}\n ${tw`sw-text-center`}\n }\n`;\n\nNumberedListItem.displayName = 'NumberedListItem';\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport tw from 'twin.macro';\n\ntype TickStyles = 'DECIMAL' | 'ALPHA' | 'ROMAN';\nconst ListStyle = {\n DECIMAL: 'decimal',\n ALPHA: 'lower-alpha',\n ROMAN: 'lower-roman',\n};\n\nexport const OrderedList = styled.ol<{ tickStyle?: TickStyles }>`\n list-style: ${({ tickStyle }) => (tickStyle ? ListStyle[tickStyle] : 'decimal')};\n ${tw`sw-mt-4`}\n ${tw`sw-pl-0`}\n\n li:last-child {\n ${tw`sw-mb-0`}\n }\n`;\n\nOrderedList.displayName = 'OrderedList';\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport tw from 'twin.macro';\n\nexport const UnorderedList = styled.ul<{ ticks?: boolean }>`\n list-style: ${({ ticks }) => (ticks ? 'disc' : 'none')};\n ${tw`sw-mt-4`}\n ${tw`sw-pl-0`}\n\n li:last-child {\n ${tw`sw-mb-0`}\n }\n`;\n\nUnorderedList.displayName = 'UnorderedList';\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar DISPLAY_NONE = \"none\";\nvar DISPLAY_CONTENTS = \"contents\";\n\nvar tabbableNode = /input|select|textarea|button|object|iframe/;\n\nfunction isNotOverflowing(element, style) {\n return style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0;\n}\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n try {\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n var displayValue = style.getPropertyValue(\"display\");\n return zeroSize ? displayValue !== DISPLAY_CONTENTS && isNotOverflowing(element, style) : displayValue === DISPLAY_NONE;\n } catch (exception) {\n // eslint-disable-next-line no-console\n console.warn(\"Failed to inspect element style\");\n return false;\n }\n}\n\nfunction visible(element) {\n var parentElement = element;\n var rootNode = element.getRootNode && element.getRootNode();\n while (parentElement) {\n if (parentElement === document.body) break;\n\n // if we are not hidden yet, skip to checking outside the Web Component\n if (rootNode && parentElement === rootNode) parentElement = rootNode.host.parentNode;\n\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n var descendants = [].slice.call(element.querySelectorAll(\"*\"), 0).reduce(function (finished, el) {\n return finished.concat(!el.shadowRoot ? [el] : findTabbableDescendants(el.shadowRoot));\n }, []);\n return descendants.filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n focusLaterElements = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n console.log(\"focusManager ----------\");\n focusLaterElements.forEach(function (f) {\n var check = f || {};\n console.log(check.nodeName, check.className, check.id);\n });\n console.log(\"end focusManager ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus({ preventScroll: preventScroll });\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getActiveElement() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n\n return el.activeElement.shadowRoot ? getActiveElement(el.activeElement.shadowRoot) : el.activeElement;\n}\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n var activeElement = getActiveElement();\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\nmodule.exports = exports[\"default\"];","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.SafeNodeList = exports.SafeHTMLCollection = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar SafeHTMLCollection = exports.SafeHTMLCollection = EE.canUseDOM ? window.HTMLCollection : {};\n\nvar SafeNodeList = exports.SafeNodeList = EE.canUseDOM ? window.NodeList : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n if (globalElement) {\n if (globalElement.removeAttribute) {\n globalElement.removeAttribute(\"aria-hidden\");\n } else if (globalElement.length != null) {\n globalElement.forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n } else {\n document.querySelectorAll(globalElement).forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n }\n }\n globalElement = null;\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var check = globalElement || {};\n console.log(\"ariaAppHider ----------\");\n console.log(check.nodeName, check.className, check.id);\n console.log(\"end ariaAppHider ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n var el = appElement || globalElement;\n if (el) {\n return Array.isArray(el) || el instanceof HTMLCollection || el instanceof NodeList ? el : [el];\n } else {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return [];\n }\n}\n\nfunction hide(appElement) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = validateElement(appElement)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var el = _step.value;\n\n el.setAttribute(\"aria-hidden\", \"true\");\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\n\nfunction show(appElement) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = validateElement(appElement)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var el = _step2.value;\n\n el.removeAttribute(\"aria-hidden\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction removeClass(at, cls) {\n at.classList.remove(cls);\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n var htmlElement = document.getElementsByTagName(\"html\")[0];\n for (var cls in htmlClassList) {\n removeClass(htmlElement, htmlClassList[cls]);\n }\n\n var body = document.body;\n for (var _cls in docBodyClassList) {\n removeClass(body, docBodyClassList[_cls]);\n }\n\n htmlClassList = {};\n docBodyClassList = {};\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \"<html /> (\" + classes + \"):\\n \";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n \";\n }\n\n classes = document.body.className;\n\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n \";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n \";\n }\n\n buffer += \"\\n\";\n\n console.log(buffer);\n }\n}\n/* eslint-enable no-console */\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.log = log;\nexports.resetState = resetState;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction log() {\n console.log(\"portalOpenInstances ----------\");\n console.log(portalOpenInstances.openInstances.length);\n portalOpenInstances.openInstances.forEach(function (p) {\n return console.log(p);\n });\n console.log(\"end portalOpenInstances ----------\");\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n portalOpenInstances = new PortalOpenInstances();\n}\n/* eslint-enable no-console */\n\nexports.default = portalOpenInstances;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n var _arr = [before, after];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var item = _arr[_i];\n if (!item) continue;\n item.parentNode && item.parentNode.removeChild(item);\n }\n before = after = null;\n instances = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n console.log(\"bodyTrap ----------\");\n console.log(instances.length);\n var _arr2 = [before, after];\n for (var _i2 = 0; _i2 < _arr2.length; _i2++) {\n var item = _arr2[_i2];\n var check = item || {};\n console.log(check.nodeName, check.className, check.id);\n }\n console.log(\"edn bodyTrap ----------\");\n}\n/* eslint-enable no-console */\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Open instances > 0 expected\");\n }\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before && !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _portalOpenInstances = require(\"../helpers/portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nrequire(\"../helpers/bodyTrap\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\n/**\n * We need to support the deprecated `KeyboardEvent.keyCode` in addition to\n * `KeyboardEvent.code` for apps that still support IE11. Can be removed when\n * `react-modal` only supports React >18 (which dropped IE support).\n */\nvar isTabKey = function isTabKey(event) {\n return event.code === \"Tab\" || event.keyCode === 9;\n};\nvar isEscKey = function isEscKey(event) {\n return event.code === \"Escape\" || event.keyCode === 27;\n};\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName,\n parentSelector = _this$props.parentSelector;\n\n\n var parentDocument = parentSelector && parentSelector().ownerDocument || document;\n\n // Remove classes.\n bodyOpenClassName && classList.remove(parentDocument.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(parentDocument.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus(_this.props.preventScroll);\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.openAnimationFrame = requestAnimationFrame(function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus({ preventScroll: true });\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (isTabKey(event)) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && isEscKey(event)) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n cancelAnimationFrame(this.openAnimationFrame);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName,\n parentSelector = _props.parentSelector;\n\n\n var parentDocument = parentSelector && parentSelector().ownerDocument || document;\n\n // Add classes.\n bodyOpenClassName && classList.add(parentDocument.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(parentDocument.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles,\n children = _props2.children;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n if (this.shouldBeClosed()) {\n return null;\n }\n\n var overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n };\n\n var contentProps = _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", _extends({ modal: true }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n });\n\n var contentElement = this.props.contentElement(contentProps, children);\n return this.props.overlayElement(overlayProps, contentElement);\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n parentSelector: _propTypes2.default.func,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _safeHTMLElement.canUseDOM && _reactDom2.default.createPortal !== undefined;\n\nvar createHTMLElement = function createHTMLElement(name) {\n return document.createElement(name);\n};\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n if (parent && parent.contains(_this.node)) {\n parent.removeChild(_this.node);\n } else {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM ' + \"element. Make sure that the parent element is unmounted to \" + \"avoid any memory leaks.\");\n }\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n preventScroll: false,\n parentSelector: function parentSelector() {\n return document.body;\n },\n overlayElement: function overlayElement(props, contentEl) {\n return _react2.default.createElement(\n \"div\",\n props,\n contentEl\n );\n },\n contentElement: function contentElement(props, children) {\n return _react2.default.createElement(\n \"div\",\n props,\n children\n );\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nif (process.env.NODE_ENV !== \"production\") {\n Modal.setCreateHTMLElement = function (fn) {\n return createHTMLElement = fn;\n };\n}\n\nexports.default = Modal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport classNames from 'classnames';\nimport { ReactNode } from 'react';\nimport tw from 'twin.macro';\nimport { themeColor } from '../../helpers/theme';\n\ninterface Props {\n children: ReactNode;\n isOverflowVisible?: boolean;\n isScrollable?: boolean;\n}\n\nexport function ModalBody({ children, isScrollable = true, isOverflowVisible = false }: Props) {\n return (\n <StyledMain\n className={classNames({ scrollable: isScrollable, overflowVisible: isOverflowVisible })}\n >\n {children}\n </StyledMain>\n );\n}\n\nconst StyledMain = styled.div`\n ${tw`sw-typo-default`}\n ${tw`sw-px-3`} // to accomodate a possible scrollbar\n ${tw`-sw-mx-3`}\n ${tw`sw-my-12`}\n ${tw`sw-overflow-x-hidden`}\n\n color: ${themeColor('pageContent')};\n\n &.scrollable {\n overflow-y: auto;\n }\n\n &.overflowVisible {\n overflow: visible;\n }\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { ButtonGroup } from '@sonarsource/echoes-react';\nimport tw from 'twin.macro';\nimport { Spinner } from '../Spinner';\n\ninterface Props {\n loading?: boolean;\n primaryButton?: React.ReactNode;\n secondaryButton: React.ReactNode;\n}\n\nexport function ModalFooter({ loading = false, primaryButton, secondaryButton }: Readonly<Props>) {\n return (\n <StyledFooter>\n <Spinner loading={loading} />\n\n <ButtonGroup>\n {primaryButton}\n {secondaryButton}\n </ButtonGroup>\n </StyledFooter>\n );\n}\n\nconst StyledFooter = styled.div`\n ${tw`sw-flex sw-gap-3 sw-items-center sw-justify-end`}\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { ReactNode } from 'react';\nimport tw from 'twin.macro';\nimport { themeColor } from '../../helpers/theme';\n\ninterface Props {\n description?: string | ReactNode;\n title: string | ReactNode;\n}\n\nexport function ModalHeader({ description, title }: Props) {\n return (\n <div>\n <Title id=\"modal_header_title\">{title}</Title>\n {description && <Description>{description}</Description>}\n </div>\n );\n}\n\nconst Description = styled.p`\n ${tw`sw-typo-default`}\n ${tw`sw-mt-2`}\n\n color: ${themeColor('pageContent')};\n`;\n\nconst Title = styled.h2`\n ${tw`sw-heading-xl`}\n\n color: ${themeColor('pageTitle')};\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { Global, css, useTheme } from '@emotion/react';\nimport { Button } from '@sonarsource/echoes-react';\nimport classNames from 'classnames';\nimport { Fragment, ReactNode } from 'react';\nimport { useIntl } from 'react-intl';\nimport ReactModal from 'react-modal';\nimport tw from 'twin.macro';\nimport { themeColor } from '../../helpers';\nimport { REACT_DOM_CONTAINER } from '../../helpers/constants';\nimport { Theme } from '../../types/theme';\nimport { ModalBody } from './ModalBody';\nimport { ModalFooter } from './ModalFooter';\nimport { ModalHeader } from './ModalHeader';\n\nReactModal.setAppElement(REACT_DOM_CONTAINER);\n\n/* eslint-disable react/jsx-fragments */\n\ninterface CommonProps {\n closeOnOverlayClick?: boolean;\n isLarge?: boolean;\n isOpen?: boolean;\n isOverflowVisible?: boolean;\n isScrollable?: boolean;\n onClose: VoidFunction;\n}\n\ninterface ChildrenProp {\n children: React.ReactNode;\n}\n\ninterface NotChildrenProp {\n children?: never;\n}\n\ninterface SectionsProps {\n body: React.ReactNode;\n headerDescription?: string | ReactNode;\n headerTitle: string | ReactNode;\n loading?: boolean;\n primaryButton?: ReactNode;\n secondaryButtonLabel?: ReactNode;\n}\n\ntype NotSectionsProps = {\n [prop in keyof SectionsProps]?: never;\n};\n\nexport type PropsWithChildren = CommonProps & ChildrenProp & NotSectionsProps;\n\nexport type PropsWithSections = CommonProps & SectionsProps & NotChildrenProp;\n\ntype Props = PropsWithChildren | PropsWithSections;\n\nfunction hasNoChildren(props: Partial<Props>): props is PropsWithSections {\n return (props as PropsWithChildren).children === undefined;\n}\n\n/** @deprecated Use either Modal or ModalAlert from Echoes instead.\n *\n * The props have changed significantly:\n * - `headerTitle` is now `title`\n * - `headerDescription` is now `description` and is announced to screen readers.\n * - `body` is replaced with `content`\n * - `isLarge` is replaced with `size` (ModalSize.Default or ModalSize.Wide)\n * - `isScrollable` and `isOverflowVisible` have been removed and the behavior is automatic!\n * - `closeOnOverlayClick` has been removed and is either\n * - always false for ModalAlert (it requires an action)\n * or\n * - always true for Modal\n *\n * By default, the Modal will be controlled automatically by its Trigger (child element).\n * This is the preferred way.\n *\n * If you need to control the Modal (e.g. open as a side effect, close after async action):\n * - `onClose` has been removed. Instead, use:\n * - `onOpenChange`: callback for `isOpen` value changes.\n * - `IsOpen`: controls the display of the Modal (conditional rendering isn't necessary anymore)\n *\n * See the {@link https://xtranet-sonarsource.atlassian.net/wiki/spaces/Platform/pages/3465543707/Modals | Migration Guide} for more\n */\nexport function Modal({\n closeOnOverlayClick = true,\n isLarge,\n isOpen = true,\n isOverflowVisible = false,\n isScrollable = true,\n onClose,\n ...props\n}: Props) {\n const theme = useTheme();\n const intl = useIntl();\n return (\n <Fragment>\n <Global styles={globalStyles({ theme })} />\n\n <ReactModal\n aria={{ labelledby: 'modal_header_title' }}\n className={classNames('design-system-modal-contents', { large: isLarge })}\n isOpen={isOpen}\n onRequestClose={onClose}\n overlayClassName=\"design-system-modal-overlay\"\n shouldCloseOnEsc\n shouldCloseOnOverlayClick={closeOnOverlayClick}\n shouldFocusAfterRender\n shouldReturnFocusAfterClose\n >\n {hasNoChildren(props) ? (\n <Fragment>\n <ModalHeader description={props.headerDescription} title={props.headerTitle} />\n\n <ModalBody isOverflowVisible={isOverflowVisible} isScrollable={isScrollable}>\n {props.body}\n </ModalBody>\n\n <ModalFooter\n loading={props.loading}\n primaryButton={props.primaryButton}\n secondaryButton={\n <Button\n className=\"js-modal-close sw-capitalize\"\n isDisabled={props.loading}\n onClick={onClose}\n type=\"reset\"\n >\n {props.secondaryButtonLabel ?? intl.formatMessage({ id: 'close' })}\n </Button>\n }\n />\n </Fragment>\n ) : (\n (props as PropsWithChildren).children\n )}\n </ReactModal>\n </Fragment>\n );\n}\n\nconst globalStyles = ({ theme }: { theme: Theme }) => css`\n .design-system-modal-contents {\n ${tw`sw-container sw-flex sw-flex-col`}\n ${tw`sw-p-9`}\n ${tw`sw-rounded-2`}\n ${tw`sw-z-modal`}\n ${tw`sw-box-border`}\n\n background-color: ${themeColor('modalContents')({ theme })};\n max-height: calc(100vh - 200px);\n min-height: 160px;\n width: 544px;\n\n &.large {\n max-width: 1280px;\n min-width: 1040px;\n }\n }\n\n .design-system-modal-overlay {\n ${tw`sw-fixed sw-inset-0`}\n ${tw`sw-flex sw-items-center sw-justify-center`}\n ${tw`sw-z-modal-overlay`}\n\n background-color: ${themeColor('modalOverlay')({ theme })};\n }\n`;\n\nModal.displayName = 'Modal';\nModal.Body = ModalBody;\nModal.Footer = ModalFooter;\nModal.Header = ModalHeader;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { IconChevronDown } from '@sonarsource/echoes-react';\nimport classNames from 'classnames';\nimport React, { forwardRef } from 'react';\nimport tw, { theme } from 'twin.macro';\nimport { themeBorder, themeColor, themeContrast } from '../helpers/theme';\nimport { isDefined } from '../helpers/types';\nimport NavLink, { NavLinkProps } from './NavLink';\nimport { Tooltip } from './Tooltip';\n\ninterface Props extends React.HTMLAttributes<HTMLUListElement> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function NavBarTabs({ children, className, ...other }: Props) {\n return (\n <ul className={`sw-flex sw-items-end sw-gap-8 ${className ?? ''}`} {...other}>\n {children}\n </ul>\n );\n}\n\ninterface NavBarTabLinkProps extends Omit<NavLinkProps, 'children'> {\n active?: boolean;\n children?: React.ReactNode;\n className?: string;\n text: string;\n withChevron?: boolean;\n}\n\nexport const NavBarTabLink = forwardRef<HTMLAnchorElement, NavBarTabLinkProps>(\n (props: NavBarTabLinkProps, ref) => {\n const { active, children, className, text, withChevron = false, ...linkProps } = props;\n return (\n <NavBarTabLinkWrapper>\n <NavLink\n className={({ isActive }) =>\n classNames(\n 'sw-flex sw-items-center',\n { active: isDefined(active) ? active : isActive },\n className,\n )\n }\n ref={ref}\n {...linkProps}\n >\n <span className=\"sw-inline-block sw-text-center\" data-text={text}>\n {text}\n </span>\n\n {children}\n\n {withChevron && (\n <span className=\"sw-ml-1\">\n <IconChevronDown />\n </span>\n )}\n </NavLink>\n </NavBarTabLinkWrapper>\n );\n },\n);\n\nNavBarTabLink.displayName = 'NavBarTabLink';\n\nexport function DisabledTabLink(props: { label: string; overlay: React.ReactNode }) {\n return (\n <NavBarTabLinkWrapper>\n <Tooltip content={props.overlay}>\n <a aria-disabled=\"true\" className=\"disabled-link\" role=\"link\">\n {props.label}\n </a>\n </Tooltip>\n </NavBarTabLinkWrapper>\n );\n}\n\n// Styling for <NavLink> due to its special className function, it conflicts when styled with Emotion.\nconst NavBarTabLinkWrapper = styled.li`\n ${tw`sw-typo-lg`};\n & > a {\n ${tw`sw-pb-3`};\n ${tw`sw-block`};\n ${tw`sw-box-border`};\n ${tw`sw-transition-none`};\n\n color: ${themeContrast('buttonSecondary')};\n text-decoration: none;\n border-bottom: ${themeBorder('xsActive', 'transparent')};\n padding-bottom: calc(${theme('spacing.3')} + 1px); // 12px spacing + 3px border + 1px = 16px\n }\n\n & > a.active,\n & > a:active,\n & > a:hover,\n & > a:focus,\n & > a[aria-expanded='true'] {\n border-bottom-color: ${themeColor('tabBorder')};\n }\n\n & > a.active > span[data-text],\n & > a[aria-expanded='true'] > span[data-text],\n & > a:active > span {\n ${tw`sw-typo-lg-semibold`};\n }\n\n // This is a hack to have a link take the space of the bold font, so when active other ones are not moving\n & > a > span[data-text]::before {\n ${tw`sw-block`};\n ${tw`sw-typo-lg-semibold`};\n ${tw`sw-h-0`};\n ${tw`sw-overflow-hidden`};\n ${tw`sw-invisible`};\n content: attr(data-text);\n }\n\n & > a.disabled-link,\n & > a.disabled-link:hover,\n & > a.disabled-link.hover {\n ${tw`sw-cursor-default`};\n border-bottom: ${themeBorder('xsActive', 'transparent', 1)};\n color: var(--echoes-color-text-disabled);\n }\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { forwardRef, ReactNode } from 'react';\nimport tw from 'twin.macro';\nimport { themeColor, themeContrast } from '../helpers/theme';\nimport { ThemeColors } from '../types/theme';\n\nexport enum PillVariant {\n Critical = 'critical',\n Danger = 'danger',\n Warning = 'warning',\n Caution = 'caution',\n Info = 'info',\n Accent = 'accent',\n Success = 'success',\n Neutral = 'neutral',\n}\n\nexport enum PillHighlight {\n Medium = 'medium',\n Low = 'low',\n}\n\nconst variantThemeColors: Record<PillVariant, ThemeColors> = {\n [PillVariant.Critical]: 'pillCritical',\n [PillVariant.Danger]: 'pillDanger',\n [PillVariant.Warning]: 'pillWarning',\n [PillVariant.Caution]: 'pillCaution',\n [PillVariant.Info]: 'pillInfo',\n [PillVariant.Accent]: 'pillAccent',\n [PillVariant.Success]: 'pillSuccess',\n [PillVariant.Neutral]: 'pillNeutral',\n};\n\nconst variantThemeBorderColors: Record<PillVariant, ThemeColors> = {\n [PillVariant.Critical]: 'pillCriticalBorder',\n [PillVariant.Danger]: 'pillDangerBorder',\n [PillVariant.Warning]: 'pillWarningBorder',\n [PillVariant.Caution]: 'pillCautionBorder',\n [PillVariant.Info]: 'pillInfoBorder',\n [PillVariant.Accent]: 'pillAccentBorder',\n [PillVariant.Success]: 'pillSuccessBorder',\n [PillVariant.Neutral]: 'pillNeutralBorder',\n};\n\nconst variantThemeHoverColors: Record<PillVariant, ThemeColors> = {\n [PillVariant.Critical]: 'pillCriticalHover',\n [PillVariant.Danger]: 'pillDangerHover',\n [PillVariant.Warning]: 'pillWarningHover',\n [PillVariant.Caution]: 'pillCautionHover',\n [PillVariant.Info]: 'pillInfoHover',\n [PillVariant.Accent]: 'pillAccentHover',\n [PillVariant.Success]: 'pillSuccessHover',\n [PillVariant.Neutral]: 'pillNeutralHover',\n};\n\ninterface PillProps {\n ['aria-label']?: string;\n children: ReactNode;\n className?: string;\n highlight?: PillHighlight;\n // If pill is wrapped with Tooltip, it will have onClick prop overriden.\n // So to avoid hover effect, we add additional prop to disable hover effect even with onClick.\n notClickable?: boolean;\n onClick?: () => void;\n variant: PillVariant;\n}\n\n// eslint-disable-next-line react/display-name\nexport const Pill = forwardRef<HTMLButtonElement, Readonly<PillProps>>(\n ({ children, variant, highlight = PillHighlight.Low, onClick, notClickable, ...rest }, ref) => {\n return onClick && !notClickable ? (\n <StyledPillButton onClick={onClick} ref={ref} variant={variant} {...rest}>\n {children}\n </StyledPillButton>\n ) : (\n <StyledPill highlight={highlight} ref={ref} variant={variant} {...rest}>\n {children}\n </StyledPill>\n );\n },\n);\n\nconst reusedStyles = css`\n ${tw`sw-typo-sm`};\n ${tw`sw-w-fit`};\n ${tw`sw-inline-block`};\n ${tw`sw-whitespace-nowrap`};\n ${tw`sw-px-[8px] sw-py-[2px]`};\n ${tw`sw-rounded-pill`};\n border-width: 1px;\n\n &:empty {\n ${tw`sw-hidden`}\n }\n`;\n\nconst StyledPill = styled.span<{\n highlight: PillHighlight;\n variant: PillVariant;\n}>`\n ${reusedStyles};\n\n background-color: ${({ variant, highlight }) =>\n highlight === PillHighlight.Medium && themeColor(variantThemeColors[variant])};\n color: ${({ variant }) => themeContrast(variantThemeColors[variant])};\n border-style: ${({ highlight }) => (highlight === PillHighlight.Medium ? 'hidden' : 'solid')};\n border-color: ${({ variant, highlight }) =>\n highlight === PillHighlight.Low && themeColor(variantThemeBorderColors[variant])};\n`;\n\nconst StyledPillButton = styled.button<{\n variant: PillVariant;\n}>`\n ${reusedStyles};\n\n background-color: ${({ variant }) => themeColor(variantThemeColors[variant])};\n color: ${({ variant }) => themeContrast(variantThemeColors[variant])};\n border-style: ${({ variant }) => (variant === PillVariant.Accent ? 'hidden' : 'solid')};\n border-color: ${({ variant }) => themeColor(variantThemeBorderColors[variant])};\n\n cursor: pointer;\n\n &:hover {\n background-color: ${({ variant }) => themeColor(variantThemeHoverColors[variant])};\n }\n\n &:focus {\n outline: var(--echoes-color-focus-default) solid var(--echoes-focus-border-width-default);\n outline-offset: var(--echoes-focus-border-offset-default);\n }\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { VerifiedIcon } from '@primer/octicons-react';\nimport { OcticonHoc } from './Icon';\n\n/** @deprecated Use IconRecommended from Echoes instead, if possible.\n *\n * Be aware that the full icon set is not yet available in Echoes, and therefore you may not be able\n * to replace all of the icons yet. There are situations where it is OK to ignore this deprecation\n * warning when revisiting old code, but all new code should use the icons from Echoes.\n */\nexport const RecommendedIcon = OcticonHoc(VerifiedIcon, 'RecommendedIcon');\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport tw from 'twin.macro';\nimport { themeColor } from '../helpers/theme';\n\nexport const SonarCodeColorizer = styled.div`\n & pre {\n ${tw`sw-code`}\n\n color: ${themeColor('codeSyntaxBody')};\n }\n\n /* for example java annotations */\n & .a {\n color: ${themeColor('codeSyntaxAnnotations')};\n }\n\n /* constants */\n & .c {\n ${tw`sw-code-highlight`}\n\n color: ${themeColor('codeSyntaxConstants')};\n }\n\n /* classic comment */\n & .cd {\n ${tw`sw-code-comment`}\n\n color: ${themeColor('codeSyntaxComments')};\n }\n\n /* javadoc */\n & .j {\n ${tw`sw-code-comment`}\n\n color: ${themeColor('codeSyntaxComments')};\n }\n\n /* C++ doc */\n & .cppd {\n ${tw`sw-code-comment`}\n\n color: ${themeColor('codeSyntaxComments')};\n }\n\n /* keyword */\n & .k {\n ${tw`sw-code-highlight`}\n\n color: ${themeColor('codeSyntaxKeyword')};\n }\n\n /* string */\n & .s {\n color: ${themeColor('codeSyntaxString')};\n }\n\n /* keyword light */\n & .h {\n color: ${themeColor('codeSyntaxKeywordLight')};\n }\n\n /* preprocessing directive */\n & .p {\n color: ${themeColor('codeSyntaxPreprocessingDirective')};\n }\n`;\nSonarCodeColorizer.displayName = 'SonarCodeColorizer';\n","// src/helpers.ts\nfunction isOfType(type) {\n return (value) => typeof value === type;\n}\nvar isFunction = isOfType(\"function\");\nvar isNull = (value) => {\n return value === null;\n};\nvar isRegex = (value) => {\n return Object.prototype.toString.call(value).slice(8, -1) === \"RegExp\";\n};\nvar isObject = (value) => {\n return !isUndefined(value) && !isNull(value) && (isFunction(value) || typeof value === \"object\");\n};\nvar isUndefined = isOfType(\"undefined\");\n\n// src/index.ts\nfunction equalArray(left, right) {\n const { length } = left;\n if (length !== right.length) {\n return false;\n }\n for (let index = length; index-- !== 0; ) {\n if (!equal(left[index], right[index])) {\n return false;\n }\n }\n return true;\n}\nfunction equalArrayBuffer(left, right) {\n if (left.byteLength !== right.byteLength) {\n return false;\n }\n const view1 = new DataView(left.buffer);\n const view2 = new DataView(right.buffer);\n let index = left.byteLength;\n while (index--) {\n if (view1.getUint8(index) !== view2.getUint8(index)) {\n return false;\n }\n }\n return true;\n}\nfunction equalMap(left, right) {\n if (left.size !== right.size) {\n return false;\n }\n for (const index of left.entries()) {\n if (!right.has(index[0])) {\n return false;\n }\n }\n for (const index of left.entries()) {\n if (!equal(index[1], right.get(index[0]))) {\n return false;\n }\n }\n return true;\n}\nfunction equalSet(left, right) {\n if (left.size !== right.size) {\n return false;\n }\n for (const index of left.entries()) {\n if (!right.has(index[0])) {\n return false;\n }\n }\n return true;\n}\nfunction equal(left, right) {\n if (left === right) {\n return true;\n }\n if (left && isObject(left) && right && isObject(right)) {\n if (left.constructor !== right.constructor) {\n return false;\n }\n if (Array.isArray(left) && Array.isArray(right)) {\n return equalArray(left, right);\n }\n if (left instanceof Map && right instanceof Map) {\n return equalMap(left, right);\n }\n if (left instanceof Set && right instanceof Set) {\n return equalSet(left, right);\n }\n if (ArrayBuffer.isView(left) && ArrayBuffer.isView(right)) {\n return equalArrayBuffer(left, right);\n }\n if (isRegex(left) && isRegex(right)) {\n return left.source === right.source && left.flags === right.flags;\n }\n if (left.valueOf !== Object.prototype.valueOf) {\n return left.valueOf() === right.valueOf();\n }\n if (left.toString !== Object.prototype.toString) {\n return left.toString() === right.toString();\n }\n const leftKeys = Object.keys(left);\n const rightKeys = Object.keys(right);\n if (leftKeys.length !== rightKeys.length) {\n return false;\n }\n for (let index = leftKeys.length; index-- !== 0; ) {\n if (!Object.prototype.hasOwnProperty.call(right, leftKeys[index])) {\n return false;\n }\n }\n for (let index = leftKeys.length; index-- !== 0; ) {\n const key = leftKeys[index];\n if (key === \"_owner\" && left.$$typeof) {\n continue;\n }\n if (!equal(left[key], right[key])) {\n return false;\n }\n }\n return true;\n }\n if (Number.isNaN(left) && Number.isNaN(right)) {\n return true;\n }\n return left === right;\n}\nexport {\n equal as default\n};\n//# sourceMappingURL=index.mjs.map","// src/helpers.ts\nvar objectTypes = [\n \"Array\",\n \"ArrayBuffer\",\n \"AsyncFunction\",\n \"AsyncGenerator\",\n \"AsyncGeneratorFunction\",\n \"Date\",\n \"Error\",\n \"Function\",\n \"Generator\",\n \"GeneratorFunction\",\n \"HTMLElement\",\n \"Map\",\n \"Object\",\n \"Promise\",\n \"RegExp\",\n \"Set\",\n \"WeakMap\",\n \"WeakSet\"\n];\nvar primitiveTypes = [\n \"bigint\",\n \"boolean\",\n \"null\",\n \"number\",\n \"string\",\n \"symbol\",\n \"undefined\"\n];\nfunction getObjectType(value) {\n const objectTypeName = Object.prototype.toString.call(value).slice(8, -1);\n if (/HTML\\w+Element/.test(objectTypeName)) {\n return \"HTMLElement\";\n }\n if (isObjectType(objectTypeName)) {\n return objectTypeName;\n }\n return void 0;\n}\nfunction isObjectOfType(type) {\n return (value) => getObjectType(value) === type;\n}\nfunction isObjectType(name) {\n return objectTypes.includes(name);\n}\nfunction isOfType(type) {\n return (value) => typeof value === type;\n}\nfunction isPrimitiveType(name) {\n return primitiveTypes.includes(name);\n}\n\n// src/index.ts\nvar DOM_PROPERTIES_TO_CHECK = [\n \"innerHTML\",\n \"ownerDocument\",\n \"style\",\n \"attributes\",\n \"nodeValue\"\n];\nfunction is(value) {\n if (value === null) {\n return \"null\";\n }\n switch (typeof value) {\n case \"bigint\":\n return \"bigint\";\n case \"boolean\":\n return \"boolean\";\n case \"number\":\n return \"number\";\n case \"string\":\n return \"string\";\n case \"symbol\":\n return \"symbol\";\n case \"undefined\":\n return \"undefined\";\n default:\n }\n if (is.array(value)) {\n return \"Array\";\n }\n if (is.plainFunction(value)) {\n return \"Function\";\n }\n const tagType = getObjectType(value);\n if (tagType) {\n return tagType;\n }\n return \"Object\";\n}\nis.array = Array.isArray;\nis.arrayOf = (target, predicate) => {\n if (!is.array(target) && !is.function(predicate)) {\n return false;\n }\n return target.every((d) => predicate(d));\n};\nis.asyncGeneratorFunction = (value) => getObjectType(value) === \"AsyncGeneratorFunction\";\nis.asyncFunction = isObjectOfType(\"AsyncFunction\");\nis.bigint = isOfType(\"bigint\");\nis.boolean = (value) => {\n return value === true || value === false;\n};\nis.date = isObjectOfType(\"Date\");\nis.defined = (value) => !is.undefined(value);\nis.domElement = (value) => {\n return is.object(value) && !is.plainObject(value) && value.nodeType === 1 && is.string(value.nodeName) && DOM_PROPERTIES_TO_CHECK.every((property) => property in value);\n};\nis.empty = (value) => {\n return is.string(value) && value.length === 0 || is.array(value) && value.length === 0 || is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length === 0 || is.set(value) && value.size === 0 || is.map(value) && value.size === 0;\n};\nis.error = isObjectOfType(\"Error\");\nis.function = isOfType(\"function\");\nis.generator = (value) => {\n return is.iterable(value) && is.function(value.next) && is.function(value.throw);\n};\nis.generatorFunction = isObjectOfType(\"GeneratorFunction\");\nis.instanceOf = (instance, class_) => {\n if (!instance || !class_) {\n return false;\n }\n return Object.getPrototypeOf(instance) === class_.prototype;\n};\nis.iterable = (value) => {\n return !is.nullOrUndefined(value) && is.function(value[Symbol.iterator]);\n};\nis.map = isObjectOfType(\"Map\");\nis.nan = (value) => {\n return Number.isNaN(value);\n};\nis.null = (value) => {\n return value === null;\n};\nis.nullOrUndefined = (value) => {\n return is.null(value) || is.undefined(value);\n};\nis.number = (value) => {\n return isOfType(\"number\")(value) && !is.nan(value);\n};\nis.numericString = (value) => {\n return is.string(value) && value.length > 0 && !Number.isNaN(Number(value));\n};\nis.object = (value) => {\n return !is.nullOrUndefined(value) && (is.function(value) || typeof value === \"object\");\n};\nis.oneOf = (target, value) => {\n if (!is.array(target)) {\n return false;\n }\n return target.indexOf(value) > -1;\n};\nis.plainFunction = isObjectOfType(\"Function\");\nis.plainObject = (value) => {\n if (getObjectType(value) !== \"Object\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n return prototype === null || prototype === Object.getPrototypeOf({});\n};\nis.primitive = (value) => is.null(value) || isPrimitiveType(typeof value);\nis.promise = isObjectOfType(\"Promise\");\nis.propertyOf = (target, key, predicate) => {\n if (!is.object(target) || !key) {\n return false;\n }\n const value = target[key];\n if (is.function(predicate)) {\n return predicate(value);\n }\n return is.defined(value);\n};\nis.regexp = isObjectOfType(\"RegExp\");\nis.set = isObjectOfType(\"Set\");\nis.string = isOfType(\"string\");\nis.symbol = isOfType(\"symbol\");\nis.undefined = isOfType(\"undefined\");\nis.weakMap = isObjectOfType(\"WeakMap\");\nis.weakSet = isObjectOfType(\"WeakSet\");\nvar src_default = is;\nexport {\n src_default as default\n};\n//# sourceMappingURL=index.mjs.map","// src/index.ts\nimport equal2 from \"@gilbarbara/deep-equal\";\nimport is2 from \"is-lite\";\n\n// src/helpers.ts\nimport equal from \"@gilbarbara/deep-equal\";\nimport is from \"is-lite\";\nfunction canHaveLength(...arguments_) {\n return arguments_.every((d) => is.string(d) || is.array(d) || is.plainObject(d));\n}\nfunction checkEquality(left, right, value) {\n if (!isSameType(left, right)) {\n return false;\n }\n if ([left, right].every(is.array)) {\n return !left.some(hasValue(value)) && right.some(hasValue(value));\n }\n if ([left, right].every(is.plainObject)) {\n return !Object.entries(left).some(hasEntry(value)) && Object.entries(right).some(hasEntry(value));\n }\n return right === value;\n}\nfunction compareNumbers(previousData, data, options) {\n const { actual, key, previous, type } = options;\n const left = nested(previousData, key);\n const right = nested(data, key);\n let changed = [left, right].every(is.number) && (type === \"increased\" ? left < right : left > right);\n if (!is.undefined(actual)) {\n changed = changed && right === actual;\n }\n if (!is.undefined(previous)) {\n changed = changed && left === previous;\n }\n return changed;\n}\nfunction compareValues(previousData, data, options) {\n const { key, type, value } = options;\n const left = nested(previousData, key);\n const right = nested(data, key);\n const primary = type === \"added\" ? left : right;\n const secondary = type === \"added\" ? right : left;\n if (!is.nullOrUndefined(value)) {\n if (is.defined(primary)) {\n if (is.array(primary) || is.plainObject(primary)) {\n return checkEquality(primary, secondary, value);\n }\n } else {\n return equal(secondary, value);\n }\n return false;\n }\n if ([left, right].every(is.array)) {\n return !secondary.every(isEqualPredicate(primary));\n }\n if ([left, right].every(is.plainObject)) {\n return hasExtraKeys(Object.keys(primary), Object.keys(secondary));\n }\n return ![left, right].every((d) => is.primitive(d) && is.defined(d)) && (type === \"added\" ? !is.defined(left) && is.defined(right) : is.defined(left) && !is.defined(right));\n}\nfunction getIterables(previousData, data, { key } = {}) {\n let left = nested(previousData, key);\n let right = nested(data, key);\n if (!isSameType(left, right)) {\n throw new TypeError(\"Inputs have different types\");\n }\n if (!canHaveLength(left, right)) {\n throw new TypeError(\"Inputs don't have length\");\n }\n if ([left, right].every(is.plainObject)) {\n left = Object.keys(left);\n right = Object.keys(right);\n }\n return [left, right];\n}\nfunction hasEntry(input) {\n return ([key, value]) => {\n if (is.array(input)) {\n return equal(input, value) || input.some((d) => equal(d, value) || is.array(value) && isEqualPredicate(value)(d));\n }\n if (is.plainObject(input) && input[key]) {\n return !!input[key] && equal(input[key], value);\n }\n return equal(input, value);\n };\n}\nfunction hasExtraKeys(left, right) {\n return right.some((d) => !left.includes(d));\n}\nfunction hasValue(input) {\n return (value) => {\n if (is.array(input)) {\n return input.some((d) => equal(d, value) || is.array(value) && isEqualPredicate(value)(d));\n }\n return equal(input, value);\n };\n}\nfunction includesOrEqualsTo(previousValue, value) {\n return is.array(previousValue) ? previousValue.some((d) => equal(d, value)) : equal(previousValue, value);\n}\nfunction isEqualPredicate(data) {\n return (value) => data.some((d) => equal(d, value));\n}\nfunction isSameType(...arguments_) {\n return arguments_.every(is.array) || arguments_.every(is.number) || arguments_.every(is.plainObject) || arguments_.every(is.string);\n}\nfunction nested(data, property) {\n if (is.plainObject(data) || is.array(data)) {\n if (is.string(property)) {\n const props = property.split(\".\");\n return props.reduce((acc, d) => acc && acc[d], data);\n }\n if (is.number(property)) {\n return data[property];\n }\n return data;\n }\n return data;\n}\n\n// src/index.ts\nfunction treeChanges(previousData, data) {\n if ([previousData, data].some(is2.nullOrUndefined)) {\n throw new Error(\"Missing required parameters\");\n }\n if (![previousData, data].every((d) => is2.plainObject(d) || is2.array(d))) {\n throw new Error(\"Expected plain objects or array\");\n }\n const added = (key, value) => {\n try {\n return compareValues(previousData, data, { key, type: \"added\", value });\n } catch {\n return false;\n }\n };\n const changed = (key, actual, previous) => {\n try {\n const left = nested(previousData, key);\n const right = nested(data, key);\n const hasActual = is2.defined(actual);\n const hasPrevious = is2.defined(previous);\n if (hasActual || hasPrevious) {\n const leftComparator = hasPrevious ? includesOrEqualsTo(previous, left) : !includesOrEqualsTo(actual, left);\n const rightComparator = includesOrEqualsTo(actual, right);\n return leftComparator && rightComparator;\n }\n if ([left, right].every(is2.array) || [left, right].every(is2.plainObject)) {\n return !equal2(left, right);\n }\n return left !== right;\n } catch {\n return false;\n }\n };\n const changedFrom = (key, previous, actual) => {\n if (!is2.defined(key)) {\n return false;\n }\n try {\n const left = nested(previousData, key);\n const right = nested(data, key);\n const hasActual = is2.defined(actual);\n return includesOrEqualsTo(previous, left) && (hasActual ? includesOrEqualsTo(actual, right) : !hasActual);\n } catch {\n return false;\n }\n };\n const decreased = (key, actual, previous) => {\n if (!is2.defined(key)) {\n return false;\n }\n try {\n return compareNumbers(previousData, data, { key, actual, previous, type: \"decreased\" });\n } catch {\n return false;\n }\n };\n const emptied = (key) => {\n try {\n const [left, right] = getIterables(previousData, data, { key });\n return !!left.length && !right.length;\n } catch {\n return false;\n }\n };\n const filled = (key) => {\n try {\n const [left, right] = getIterables(previousData, data, { key });\n return !left.length && !!right.length;\n } catch {\n return false;\n }\n };\n const increased = (key, actual, previous) => {\n if (!is2.defined(key)) {\n return false;\n }\n try {\n return compareNumbers(previousData, data, { key, actual, previous, type: \"increased\" });\n } catch {\n return false;\n }\n };\n const removed = (key, value) => {\n try {\n return compareValues(previousData, data, { key, type: \"removed\", value });\n } catch {\n return false;\n }\n };\n return { added, changed, changedFrom, decreased, emptied, filled, increased, removed };\n}\nexport {\n treeChanges as default\n};\n//# sourceMappingURL=index.mjs.map","var E_NOSCROLL = new Error('Element already at target scroll position')\nvar E_CANCELLED = new Error('Scroll cancelled')\nvar min = Math.min\nvar ms = Date.now\n\nmodule.exports = {\n left: make('scrollLeft'),\n top: make('scrollTop')\n}\n\nfunction make (prop) {\n return function scroll (el, to, opts, cb) {\n opts = opts || {}\n\n if (typeof opts == 'function') cb = opts, opts = {}\n if (typeof cb != 'function') cb = noop\n\n var start = ms()\n var from = el[prop]\n var ease = opts.ease || inOutSine\n var duration = !isNaN(opts.duration) ? +opts.duration : 350\n var cancelled = false\n\n return from === to ?\n cb(E_NOSCROLL, el[prop]) :\n requestAnimationFrame(animate), cancel\n\n function cancel () {\n cancelled = true\n }\n\n function animate (timestamp) {\n if (cancelled) return cb(E_CANCELLED, el[prop])\n\n var now = ms()\n var time = min(1, ((now - start) / duration))\n var eased = ease(time)\n\n el[prop] = (eased * (to - from)) + from\n\n time < 1 ?\n requestAnimationFrame(animate) :\n requestAnimationFrame(function () {\n cb(null, el[prop])\n })\n }\n }\n}\n\nfunction inOutSine (n) {\n return 0.5 * (1 - Math.cos(Math.PI * n))\n}\n\nfunction noop () {}\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n function isScrolling(node) {\n var overflow = getComputedStyle(node, null).getPropertyValue(\"overflow\");\n\n return overflow.indexOf(\"scroll\") > -1 || overflow.indexOf(\"auto\") > - 1;\n }\n\n function scrollParent(node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return undefined;\n }\n\n var current = node.parentNode;\n while (current.parentNode) {\n if (isScrolling(current)) {\n return current;\n }\n\n current = current.parentNode;\n }\n\n return document.scrollingElement || document.documentElement;\n }\n\n return scrollParent;\n}));","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","var DOM_PROPERTIES_TO_CHECK = [\n 'innerHTML',\n 'ownerDocument',\n 'style',\n 'attributes',\n 'nodeValue',\n];\nvar objectTypes = [\n 'Array',\n 'ArrayBuffer',\n 'AsyncFunction',\n 'AsyncGenerator',\n 'AsyncGeneratorFunction',\n 'Date',\n 'Error',\n 'Function',\n 'Generator',\n 'GeneratorFunction',\n 'HTMLElement',\n 'Map',\n 'Object',\n 'Promise',\n 'RegExp',\n 'Set',\n 'WeakMap',\n 'WeakSet',\n];\nvar primitiveTypes = [\n 'bigint',\n 'boolean',\n 'null',\n 'number',\n 'string',\n 'symbol',\n 'undefined',\n];\nexport function getObjectType(value) {\n var objectTypeName = Object.prototype.toString.call(value).slice(8, -1);\n if (/HTML\\w+Element/.test(objectTypeName)) {\n return 'HTMLElement';\n }\n if (isObjectType(objectTypeName)) {\n return objectTypeName;\n }\n return undefined;\n}\nfunction isObjectOfType(type) {\n return function (value) { return getObjectType(value) === type; };\n}\nfunction isObjectType(name) {\n return objectTypes.includes(name);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction isOfType(type) {\n return function (value) { return typeof value === type; };\n}\nfunction isPrimitiveType(name) {\n return primitiveTypes.includes(name);\n}\nfunction is(value) {\n if (value === null) {\n return 'null';\n }\n switch (typeof value) {\n case 'bigint':\n return 'bigint';\n case 'boolean':\n return 'boolean';\n case 'number':\n return 'number';\n case 'string':\n return 'string';\n case 'symbol':\n return 'symbol';\n case 'undefined':\n return 'undefined';\n default:\n }\n if (is.array(value)) {\n return 'Array';\n }\n if (is.plainFunction(value)) {\n return 'Function';\n }\n var tagType = getObjectType(value);\n /* istanbul ignore else */\n if (tagType) {\n return tagType;\n }\n /* istanbul ignore next */\n return 'Object';\n}\nis.array = Array.isArray;\nis.arrayOf = function (target, predicate) {\n if (!is.array(target) && !is.function(predicate)) {\n return false;\n }\n return target.every(function (d) { return predicate(d); });\n};\nis.asyncGeneratorFunction = function (value) {\n return getObjectType(value) === 'AsyncGeneratorFunction';\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nis.asyncFunction = isObjectOfType('AsyncFunction');\nis.bigint = isOfType('bigint');\nis.boolean = function (value) {\n return value === true || value === false;\n};\nis.date = isObjectOfType('Date');\nis.defined = function (value) { return !is.undefined(value); };\nis.domElement = function (value) {\n return (is.object(value) &&\n !is.plainObject(value) &&\n value.nodeType === 1 &&\n is.string(value.nodeName) &&\n DOM_PROPERTIES_TO_CHECK.every(function (property) { return property in value; }));\n};\nis.empty = function (value) {\n return ((is.string(value) && value.length === 0) ||\n (is.array(value) && value.length === 0) ||\n (is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length === 0) ||\n (is.set(value) && value.size === 0) ||\n (is.map(value) && value.size === 0));\n};\nis.error = isObjectOfType('Error');\n// eslint-disable-next-line @typescript-eslint/ban-types\nis.function = isOfType('function');\nis.generator = function (value) {\n return (is.iterable(value) &&\n is.function(value.next) &&\n is.function(value.throw));\n};\nis.generatorFunction = isObjectOfType('GeneratorFunction');\nis.instanceOf = function (instance, class_) {\n if (!instance || !class_) {\n return false;\n }\n return Object.getPrototypeOf(instance) === class_.prototype;\n};\nis.iterable = function (value) {\n return (!is.nullOrUndefined(value) && is.function(value[Symbol.iterator]));\n};\nis.map = isObjectOfType('Map');\nis.nan = function (value) {\n return Number.isNaN(value);\n};\nis.null = function (value) {\n return value === null;\n};\nis.nullOrUndefined = function (value) {\n return is.null(value) || is.undefined(value);\n};\nis.number = function (value) {\n return isOfType('number')(value) && !is.nan(value);\n};\nis.numericString = function (value) {\n return is.string(value) && value.length > 0 && !Number.isNaN(Number(value));\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nis.object = function (value) {\n return !is.nullOrUndefined(value) && (is.function(value) || typeof value === 'object');\n};\nis.oneOf = function (target, value) {\n if (!is.array(target)) {\n return false;\n }\n // eslint-disable-next-line unicorn/prefer-includes\n return target.indexOf(value) > -1;\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nis.plainFunction = isObjectOfType('Function');\nis.plainObject = function (value) {\n if (getObjectType(value) !== 'Object') {\n return false;\n }\n var prototype = Object.getPrototypeOf(value);\n return prototype === null || prototype === Object.getPrototypeOf({});\n};\nis.primitive = function (value) {\n return is.null(value) || isPrimitiveType(typeof value);\n};\nis.promise = isObjectOfType('Promise');\nis.propertyOf = function (target, key, predicate) {\n if (!is.object(target) || !key) {\n return false;\n }\n var value = target[key];\n if (is.function(predicate)) {\n return predicate(value);\n }\n return is.defined(value);\n};\nis.regexp = isObjectOfType('RegExp');\nis.set = isObjectOfType('Set');\nis.string = isOfType('string');\nis.symbol = isOfType('symbol');\nis.undefined = isOfType('undefined');\nis.weakMap = isObjectOfType('WeakMap');\nis.weakSet = isObjectOfType('WeakSet');\nexport * from './types';\nexport default is;\n//# sourceMappingURL=index.js.map","// eslint-disable-next-line @typescript-eslint/ban-types\nfunction isOfType(type) {\n return function (value) { return typeof value === type; };\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport var isFunction = isOfType('function');\nexport var isNull = function (value) {\n return value === null;\n};\nexport var isRegex = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1) === 'RegExp';\n};\nexport var isObject = function (value) {\n return !isUndefined(value) && !isNull(value) && (isFunction(value) || typeof value === 'object');\n};\nexport var isUndefined = isOfType('undefined');\n//# sourceMappingURL=helpers.js.map","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport { isObject, isRegex } from './helpers';\nfunction equalArray(left, right) {\n var length = left.length;\n if (length !== right.length) {\n return false;\n }\n for (var index = length; index-- !== 0;) {\n if (!equal(left[index], right[index])) {\n return false;\n }\n }\n return true;\n}\nfunction equalArrayBuffer(left, right) {\n if (left.byteLength !== right.byteLength) {\n return false;\n }\n var view1 = new DataView(left.buffer);\n var view2 = new DataView(right.buffer);\n var index = left.byteLength;\n while (index--) {\n if (view1.getUint8(index) !== view2.getUint8(index)) {\n return false;\n }\n }\n return true;\n}\nfunction equalMap(left, right) {\n var e_1, _a, e_2, _b;\n if (left.size !== right.size) {\n return false;\n }\n try {\n for (var _c = __values(left.entries()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var index = _d.value;\n if (!right.has(index[0])) {\n return false;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n try {\n for (var _e = __values(left.entries()), _f = _e.next(); !_f.done; _f = _e.next()) {\n var index = _f.value;\n if (!equal(index[1], right.get(index[0]))) {\n return false;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return true;\n}\nfunction equalSet(left, right) {\n var e_3, _a;\n if (left.size !== right.size) {\n return false;\n }\n try {\n for (var _b = __values(left.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var index = _c.value;\n if (!right.has(index[0])) {\n return false;\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return true;\n}\nexport default function equal(left, right) {\n if (left === right) {\n return true;\n }\n if (left && isObject(left) && right && isObject(right)) {\n if (left.constructor !== right.constructor) {\n return false;\n }\n if (Array.isArray(left) && Array.isArray(right)) {\n return equalArray(left, right);\n }\n if (left instanceof Map && right instanceof Map) {\n return equalMap(left, right);\n }\n if (left instanceof Set && right instanceof Set) {\n return equalSet(left, right);\n }\n if (ArrayBuffer.isView(left) && ArrayBuffer.isView(right)) {\n return equalArrayBuffer(left, right);\n }\n if (isRegex(left) && isRegex(right)) {\n return left.source === right.source && left.flags === right.flags;\n }\n if (left.valueOf !== Object.prototype.valueOf) {\n return left.valueOf() === right.valueOf();\n }\n if (left.toString !== Object.prototype.toString) {\n return left.toString() === right.toString();\n }\n var leftKeys = Object.keys(left);\n var rightKeys = Object.keys(right);\n if (leftKeys.length !== rightKeys.length) {\n return false;\n }\n for (var index = leftKeys.length; index-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(right, leftKeys[index])) {\n return false;\n }\n }\n for (var index = leftKeys.length; index-- !== 0;) {\n var key = leftKeys[index];\n if (key === '_owner' && left.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n // eslint-disable-next-line no-continue\n continue;\n }\n if (!equal(left[key], right[key])) {\n return false;\n }\n }\n return true;\n }\n if (Number.isNaN(left) && Number.isNaN(right)) {\n return true;\n }\n return left === right;\n}\n//# sourceMappingURL=index.js.map","import equal from '@gilbarbara/deep-equal';\nimport is from 'is-lite';\nexport function canHaveLength() {\n var arguments_ = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n arguments_[_i] = arguments[_i];\n }\n return arguments_.every(function (d) { return is.string(d) || is.array(d) || is.plainObject(d); });\n}\nexport function checkEquality(left, right, value) {\n if (!isSameType(left, right)) {\n return false;\n }\n if ([left, right].every(is.array)) {\n return !left.some(hasValue(value)) && right.some(hasValue(value));\n }\n /* istanbul ignore else */\n if ([left, right].every(is.plainObject)) {\n return (!Object.entries(left).some(hasEntry(value)) && Object.entries(right).some(hasEntry(value)));\n }\n return right === value;\n}\nexport function compareNumbers(previousData, data, options) {\n var actual = options.actual, key = options.key, previous = options.previous, type = options.type;\n var left = nested(previousData, key);\n var right = nested(data, key);\n var changed = [left, right].every(is.number) && (type === 'increased' ? left < right : left > right);\n if (!is.undefined(actual)) {\n changed = changed && right === actual;\n }\n if (!is.undefined(previous)) {\n changed = changed && left === previous;\n }\n return changed;\n}\nexport function compareValues(previousData, data, options) {\n var key = options.key, type = options.type, value = options.value;\n var left = nested(previousData, key);\n var right = nested(data, key);\n var primary = type === 'added' ? left : right;\n var secondary = type === 'added' ? right : left;\n // console.log({ primary, secondary });\n if (!is.nullOrUndefined(value)) {\n if (is.defined(primary)) {\n // check if nested data matches\n if (is.array(primary) || is.plainObject(primary)) {\n return checkEquality(primary, secondary, value);\n }\n }\n else {\n return equal(secondary, value);\n }\n return false;\n }\n if ([left, right].every(is.array)) {\n return !secondary.every(isEqualPredicate(primary));\n }\n if ([left, right].every(is.plainObject)) {\n return hasExtraKeys(Object.keys(primary), Object.keys(secondary));\n }\n return (![left, right].every(function (d) { return is.primitive(d) && is.defined(d); }) &&\n (type === 'added'\n ? !is.defined(left) && is.defined(right)\n : is.defined(left) && !is.defined(right)));\n}\nexport function getIterables(previousData, data, _a) {\n var _b = _a === void 0 ? {} : _a, key = _b.key;\n var left = nested(previousData, key);\n var right = nested(data, key);\n if (!isSameType(left, right)) {\n throw new TypeError('Inputs have different types');\n }\n if (!canHaveLength(left, right)) {\n throw new TypeError(\"Inputs don't have length\");\n }\n if ([left, right].every(is.plainObject)) {\n left = Object.keys(left);\n right = Object.keys(right);\n }\n return [left, right];\n}\nexport function hasEntry(input) {\n return function (_a) {\n var key = _a[0], value = _a[1];\n if (is.array(input)) {\n return (equal(input, value) ||\n input.some(function (d) { return equal(d, value) || (is.array(value) && isEqualPredicate(value)(d)); }));\n }\n /* istanbul ignore else */\n if (is.plainObject(input) && input[key]) {\n return !!input[key] && equal(input[key], value);\n }\n return equal(input, value);\n };\n}\nexport function hasExtraKeys(left, right) {\n return right.some(function (d) { return !left.includes(d); });\n}\nexport function hasValue(input) {\n return function (value) {\n if (is.array(input)) {\n return input.some(function (d) { return equal(d, value) || (is.array(value) && isEqualPredicate(value)(d)); });\n }\n return equal(input, value);\n };\n}\nexport function includesOrEqualsTo(previousValue, value) {\n return is.array(previousValue)\n ? previousValue.some(function (d) { return equal(d, value); })\n : equal(previousValue, value);\n}\nexport function isEqualPredicate(data) {\n return function (value) { return data.some(function (d) { return equal(d, value); }); };\n}\nexport function isSameType() {\n var arguments_ = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n arguments_[_i] = arguments[_i];\n }\n return (arguments_.every(is.array) ||\n arguments_.every(is.number) ||\n arguments_.every(is.plainObject) ||\n arguments_.every(is.string));\n}\nexport function nested(data, property) {\n /* istanbul ignore else */\n if (is.plainObject(data) || is.array(data)) {\n /* istanbul ignore else */\n if (is.string(property)) {\n var props = property.split('.');\n return props.reduce(function (acc, d) { return acc && acc[d]; }, data);\n }\n /* istanbul ignore else */\n if (is.number(property)) {\n return data[property];\n }\n return data;\n }\n return data;\n}\n//# sourceMappingURL=helpers.js.map","import equal from '@gilbarbara/deep-equal';\nimport is from 'is-lite';\nimport { compareNumbers, compareValues, getIterables, includesOrEqualsTo, nested } from './helpers';\nexport default function treeChanges(previousData, data) {\n if ([previousData, data].some(is.nullOrUndefined)) {\n throw new Error('Missing required parameters');\n }\n if (![previousData, data].every(function (d) { return is.plainObject(d) || is.array(d); })) {\n throw new Error('Expected plain objects or array');\n }\n var added = function (key, value) {\n try {\n return compareValues(previousData, data, { key: key, type: 'added', value: value });\n }\n catch (_a) {\n /* istanbul ignore next */\n return false;\n }\n };\n var changed = function (key, actual, previous) {\n try {\n var left = nested(previousData, key);\n var right = nested(data, key);\n var hasActual = is.defined(actual);\n var hasPrevious = is.defined(previous);\n if (hasActual || hasPrevious) {\n var leftComparator = hasPrevious\n ? includesOrEqualsTo(previous, left)\n : !includesOrEqualsTo(actual, left);\n var rightComparator = includesOrEqualsTo(actual, right);\n return leftComparator && rightComparator;\n }\n if ([left, right].every(is.array) || [left, right].every(is.plainObject)) {\n return !equal(left, right);\n }\n return left !== right;\n }\n catch (_a) {\n /* istanbul ignore next */\n return false;\n }\n };\n var changedFrom = function (key, previous, actual) {\n if (!is.defined(key)) {\n return false;\n }\n try {\n var left = nested(previousData, key);\n var right = nested(data, key);\n var hasActual = is.defined(actual);\n return (includesOrEqualsTo(previous, left) &&\n (hasActual ? includesOrEqualsTo(actual, right) : !hasActual));\n }\n catch (_a) {\n /* istanbul ignore next */\n return false;\n }\n };\n /**\n * @deprecated\n * Use \"changed\" instead\n */\n var changedTo = function (key, actual) {\n if (!is.defined(key)) {\n return false;\n }\n /* istanbul ignore next */\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn('`changedTo` is deprecated! Replace it with `change`');\n }\n return changed(key, actual);\n };\n var decreased = function (key, actual, previous) {\n if (!is.defined(key)) {\n return false;\n }\n try {\n return compareNumbers(previousData, data, { key: key, actual: actual, previous: previous, type: 'decreased' });\n }\n catch (_a) {\n /* istanbul ignore next */\n return false;\n }\n };\n var emptied = function (key) {\n try {\n var _a = getIterables(previousData, data, { key: key }), left = _a[0], right = _a[1];\n return !!left.length && !right.length;\n }\n catch (_b) {\n /* istanbul ignore next */\n return false;\n }\n };\n var filled = function (key) {\n try {\n var _a = getIterables(previousData, data, { key: key }), left = _a[0], right = _a[1];\n return !left.length && !!right.length;\n }\n catch (_b) {\n /* istanbul ignore next */\n return false;\n }\n };\n var increased = function (key, actual, previous) {\n if (!is.defined(key)) {\n return false;\n }\n try {\n return compareNumbers(previousData, data, { key: key, actual: actual, previous: previous, type: 'increased' });\n }\n catch (_a) {\n /* istanbul ignore next */\n return false;\n }\n };\n var removed = function (key, value) {\n try {\n return compareValues(previousData, data, { key: key, type: 'removed', value: value });\n }\n catch (_a) {\n /* istanbul ignore next */\n return false;\n }\n };\n return { added: added, changed: changed, changedFrom: changedFrom, changedTo: changedTo, decreased: decreased, emptied: emptied, filled: filled, increased: increased, removed: removed };\n}\nexport * from './types';\n//# sourceMappingURL=index.js.map","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Popper from 'popper.js';\nimport deepmerge from 'deepmerge';\nimport is from 'is-lite';\nimport treeChanges from 'tree-changes';\nimport ReactDOM from 'react-dom';\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nvar DEFAULTS = {flip:{padding:20},preventOverflow:{padding:10}};\n\nvar VALIDATOR_ARG_ERROR_MESSAGE='The typeValidator argument must be a function '+'with the signature function(props, propName, componentName).';var MESSAGE_ARG_ERROR_MESSAGE='The error message is optional, but must be a string if provided.';function propIsRequired(condition,props,propName,componentName){if(typeof condition==='boolean'){return condition;}if(typeof condition==='function'){return condition(props,propName,componentName);}if(Boolean(condition)===true){return Boolean(condition);}return false;}function propExists(props,propName){return Object.hasOwnProperty.call(props,propName);}function missingPropError(props,propName,componentName,message){if(message){return new Error(message);}return new Error(\"Required \".concat(props[propName],\" `\").concat(propName,\"` was not specified in `\").concat(componentName,\"`.\"));}function guardAgainstInvalidArgTypes(typeValidator,message){if(typeof typeValidator!=='function'){throw new TypeError(VALIDATOR_ARG_ERROR_MESSAGE);}if(Boolean(message)&&typeof message!=='string'){throw new TypeError(MESSAGE_ARG_ERROR_MESSAGE);}}function isRequiredIf(typeValidator,condition,message){guardAgainstInvalidArgTypes(typeValidator,message);return function(props,propName,componentName){for(var _len=arguments.length,rest=new Array(_len>3?_len-3:0),_key=3;_key<_len;_key++){rest[_key-3]=arguments[_key];}if(propIsRequired(condition,props,propName,componentName)){if(propExists(props,propName)){return typeValidator.apply(void 0,[props,propName,componentName].concat(rest));}return missingPropError(props,propName,componentName,message);}// Is not required, so just run typeValidator.\nreturn typeValidator.apply(void 0,[props,propName,componentName].concat(rest));};}\n\nvar STATUS = {INIT:'init',IDLE:'idle',OPENING:'opening',OPEN:'open',CLOSING:'closing',ERROR:'error'};\n\nvar isReact16=ReactDOM.createPortal!==undefined;function canUseDOM(){return !!(typeof window!=='undefined'&&window.document&&window.document.createElement);}function isMobile(){return 'ontouchstart'in window&&/Mobi/.test(navigator.userAgent);}/**\n * Log method calls if debug is enabled\n *\n * @private\n * @param {Object} arg\n * @param {string} arg.title - The title the logger was called from\n * @param {Object|Array} [arg.data] - The data to be logged\n * @param {boolean} [arg.warn] - If true, the message will be a warning\n * @param {boolean} [arg.debug] - Nothing will be logged unless debug is true\n */function log(_ref){var title=_ref.title,data=_ref.data,_ref$warn=_ref.warn,warn=_ref$warn===void 0?false:_ref$warn,_ref$debug=_ref.debug,debug=_ref$debug===void 0?false:_ref$debug;/* eslint-disable no-console */var logFn=warn?console.warn||console.error:console.log;if(debug&&title&&data){console.groupCollapsed(\"%creact-floater: \".concat(title),'color: #9b00ff; font-weight: bold; font-size: 12px;');if(Array.isArray(data)){data.forEach(function(d){if(is.plainObject(d)&&d.key){logFn.apply(console,[d.key,d.value]);}else {logFn.apply(console,[d]);}});}else {logFn.apply(console,[data]);}console.groupEnd();}/* eslint-enable */}function on(element,event,cb){var capture=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;element.addEventListener(event,cb,capture);}function off(element,event,cb){var capture=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;element.removeEventListener(event,cb,capture);}function once(element,event,cb){var capture=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var _nextCB;// eslint-disable-next-line prefer-const\n_nextCB=function nextCB(e){cb(e);off(element,event,_nextCB);};on(element,event,_nextCB,capture);}function noop(){}\n\nvar ReactFloaterPortal=/*#__PURE__*/function(_React$Component){_inherits(ReactFloaterPortal,_React$Component);var _super=_createSuper(ReactFloaterPortal);function ReactFloaterPortal(){_classCallCheck(this,ReactFloaterPortal);return _super.apply(this,arguments);}_createClass(ReactFloaterPortal,[{key:\"componentDidMount\",value:function componentDidMount(){if(!canUseDOM())return;if(!this.node){this.appendNode();}if(!isReact16){this.renderPortal();}}},{key:\"componentDidUpdate\",value:function componentDidUpdate(){if(!canUseDOM())return;if(!isReact16){this.renderPortal();}}},{key:\"componentWillUnmount\",value:function componentWillUnmount(){if(!canUseDOM()||!this.node)return;if(!isReact16){ReactDOM.unmountComponentAtNode(this.node);}if(this.node&&this.node.parentNode===document.body){document.body.removeChild(this.node);this.node=undefined;}}},{key:\"appendNode\",value:function appendNode(){var _this$props=this.props,id=_this$props.id,zIndex=_this$props.zIndex;if(!this.node){this.node=document.createElement('div');/* istanbul ignore else */if(id){this.node.id=id;}if(zIndex){this.node.style.zIndex=zIndex;}document.body.appendChild(this.node);}}},{key:\"renderPortal\",value:function renderPortal(){if(!canUseDOM())return null;var _this$props2=this.props,children=_this$props2.children,setRef=_this$props2.setRef;if(!this.node){this.appendNode();}/* istanbul ignore else */if(isReact16){return/*#__PURE__*/ReactDOM.createPortal(children,this.node);}var portal=ReactDOM.unstable_renderSubtreeIntoContainer(this,children.length>1?/*#__PURE__*/React.createElement(\"div\",null,children):children[0],this.node);setRef(portal);return null;}},{key:\"renderReact16\",value:function renderReact16(){var _this$props3=this.props,hasChildren=_this$props3.hasChildren,placement=_this$props3.placement,target=_this$props3.target;if(!hasChildren){if(target||placement==='center'){return this.renderPortal();}return null;}return this.renderPortal();}},{key:\"render\",value:function render(){if(!isReact16){return null;}return this.renderReact16();}}]);return ReactFloaterPortal;}(React.Component);_defineProperty(ReactFloaterPortal,\"propTypes\",{children:PropTypes.oneOfType([PropTypes.element,PropTypes.array]),hasChildren:PropTypes.bool,id:PropTypes.oneOfType([PropTypes.string,PropTypes.number]),placement:PropTypes.string,setRef:PropTypes.func.isRequired,target:PropTypes.oneOfType([PropTypes.object,PropTypes.string]),zIndex:PropTypes.number});\n\nvar FloaterArrow=/*#__PURE__*/function(_React$Component){_inherits(FloaterArrow,_React$Component);var _super=_createSuper(FloaterArrow);function FloaterArrow(){_classCallCheck(this,FloaterArrow);return _super.apply(this,arguments);}_createClass(FloaterArrow,[{key:\"parentStyle\",get:function get(){var _this$props=this.props,placement=_this$props.placement,styles=_this$props.styles;var length=styles.arrow.length;var arrow={pointerEvents:'none',position:'absolute',width:'100%'};/* istanbul ignore else */if(placement.startsWith('top')){arrow.bottom=0;arrow.left=0;arrow.right=0;arrow.height=length;}else if(placement.startsWith('bottom')){arrow.left=0;arrow.right=0;arrow.top=0;arrow.height=length;}else if(placement.startsWith('left')){arrow.right=0;arrow.top=0;arrow.bottom=0;}else if(placement.startsWith('right')){arrow.left=0;arrow.top=0;}return arrow;}},{key:\"render\",value:function render(){var _this$props2=this.props,placement=_this$props2.placement,setArrowRef=_this$props2.setArrowRef,styles=_this$props2.styles;var _styles$arrow=styles.arrow,color=_styles$arrow.color,display=_styles$arrow.display,length=_styles$arrow.length,margin=_styles$arrow.margin,position=_styles$arrow.position,spread=_styles$arrow.spread;var arrowStyles={display:display,position:position};var points;var x=spread;var y=length;/* istanbul ignore else */if(placement.startsWith('top')){points=\"0,0 \".concat(x/2,\",\").concat(y,\" \").concat(x,\",0\");arrowStyles.bottom=0;arrowStyles.marginLeft=margin;arrowStyles.marginRight=margin;}else if(placement.startsWith('bottom')){points=\"\".concat(x,\",\").concat(y,\" \").concat(x/2,\",0 0,\").concat(y);arrowStyles.top=0;arrowStyles.marginLeft=margin;arrowStyles.marginRight=margin;}else if(placement.startsWith('left')){y=spread;x=length;points=\"0,0 \".concat(x,\",\").concat(y/2,\" 0,\").concat(y);arrowStyles.right=0;arrowStyles.marginTop=margin;arrowStyles.marginBottom=margin;}else if(placement.startsWith('right')){y=spread;x=length;points=\"\".concat(x,\",\").concat(y,\" \").concat(x,\",0 0,\").concat(y/2);arrowStyles.left=0;arrowStyles.marginTop=margin;arrowStyles.marginBottom=margin;}return/*#__PURE__*/React.createElement(\"div\",{className:\"__floater__arrow\",style:this.parentStyle},/*#__PURE__*/React.createElement(\"span\",{ref:setArrowRef,style:arrowStyles},/*#__PURE__*/React.createElement(\"svg\",{width:x,height:y,version:\"1.1\",xmlns:\"http://www.w3.org/2000/svg\"},/*#__PURE__*/React.createElement(\"polygon\",{points:points,fill:color}))));}}]);return FloaterArrow;}(React.Component);_defineProperty(FloaterArrow,\"propTypes\",{placement:PropTypes.string.isRequired,setArrowRef:PropTypes.func.isRequired,styles:PropTypes.object.isRequired});\n\nvar _excluded$1=[\"color\",\"height\",\"width\"];function FloaterCloseBtn(_ref){var handleClick=_ref.handleClick,styles=_ref.styles;var color=styles.color,height=styles.height,width=styles.width,style=_objectWithoutProperties(styles,_excluded$1);return/*#__PURE__*/React.createElement(\"button\",{\"aria-label\":\"close\",onClick:handleClick,style:style,type:\"button\"},/*#__PURE__*/React.createElement(\"svg\",{width:\"\".concat(width,\"px\"),height:\"\".concat(height,\"px\"),viewBox:\"0 0 18 18\",version:\"1.1\",xmlns:\"http://www.w3.org/2000/svg\",preserveAspectRatio:\"xMidYMid\"},/*#__PURE__*/React.createElement(\"g\",null,/*#__PURE__*/React.createElement(\"path\",{d:\"M8.13911129,9.00268191 L0.171521827,17.0258467 C-0.0498027049,17.248715 -0.0498027049,17.6098394 0.171521827,17.8327545 C0.28204354,17.9443526 0.427188206,17.9998706 0.572051765,17.9998706 C0.71714958,17.9998706 0.862013139,17.9443526 0.972581703,17.8327545 L9.0000937,9.74924618 L17.0276057,17.8327545 C17.1384085,17.9443526 17.2832721,17.9998706 17.4281356,17.9998706 C17.5729992,17.9998706 17.718097,17.9443526 17.8286656,17.8327545 C18.0499901,17.6098862 18.0499901,17.2487618 17.8286656,17.0258467 L9.86135722,9.00268191 L17.8340066,0.973848225 C18.0553311,0.750979934 18.0553311,0.389855532 17.8340066,0.16694039 C17.6126821,-0.0556467968 17.254037,-0.0556467968 17.0329467,0.16694039 L9.00042166,8.25611765 L0.967006424,0.167268345 C0.745681892,-0.0553188426 0.387317931,-0.0553188426 0.165993399,0.167268345 C-0.0553311331,0.390136635 -0.0553311331,0.751261038 0.165993399,0.974176179 L8.13920499,9.00268191 L8.13911129,9.00268191 Z\",fill:color}))));}FloaterCloseBtn.propTypes={handleClick:PropTypes.func.isRequired,styles:PropTypes.object.isRequired};\n\nfunction FloaterContainer(_ref){var content=_ref.content,footer=_ref.footer,handleClick=_ref.handleClick,open=_ref.open,positionWrapper=_ref.positionWrapper,showCloseButton=_ref.showCloseButton,title=_ref.title,styles=_ref.styles;var output={content:/*#__PURE__*/React.isValidElement(content)?content:/*#__PURE__*/React.createElement(\"div\",{className:\"__floater__content\",style:styles.content},content)};if(title){output.title=/*#__PURE__*/React.isValidElement(title)?title:/*#__PURE__*/React.createElement(\"div\",{className:\"__floater__title\",style:styles.title},title);}if(footer){output.footer=/*#__PURE__*/React.isValidElement(footer)?footer:/*#__PURE__*/React.createElement(\"div\",{className:\"__floater__footer\",style:styles.footer},footer);}if((showCloseButton||positionWrapper)&&!is[\"boolean\"](open)){output.close=/*#__PURE__*/React.createElement(FloaterCloseBtn,{styles:styles.close,handleClick:handleClick});}return/*#__PURE__*/React.createElement(\"div\",{className:\"__floater__container\",style:styles.container},output.close,output.title,output.content,output.footer);}FloaterContainer.propTypes={content:PropTypes.node.isRequired,footer:PropTypes.node,handleClick:PropTypes.func.isRequired,open:PropTypes.bool,positionWrapper:PropTypes.bool.isRequired,showCloseButton:PropTypes.bool.isRequired,styles:PropTypes.object.isRequired,title:PropTypes.node};\n\nvar Floater=/*#__PURE__*/function(_React$Component){_inherits(Floater,_React$Component);var _super=_createSuper(Floater);function Floater(){_classCallCheck(this,Floater);return _super.apply(this,arguments);}_createClass(Floater,[{key:\"style\",get:function get(){var _this$props=this.props,disableAnimation=_this$props.disableAnimation,component=_this$props.component,placement=_this$props.placement,hideArrow=_this$props.hideArrow,status=_this$props.status,styles=_this$props.styles;var length=styles.arrow.length,floater=styles.floater,floaterCentered=styles.floaterCentered,floaterClosing=styles.floaterClosing,floaterOpening=styles.floaterOpening,floaterWithAnimation=styles.floaterWithAnimation,floaterWithComponent=styles.floaterWithComponent;var element={};if(!hideArrow){if(placement.startsWith('top')){element.padding=\"0 0 \".concat(length,\"px\");}else if(placement.startsWith('bottom')){element.padding=\"\".concat(length,\"px 0 0\");}else if(placement.startsWith('left')){element.padding=\"0 \".concat(length,\"px 0 0\");}else if(placement.startsWith('right')){element.padding=\"0 0 0 \".concat(length,\"px\");}}if([STATUS.OPENING,STATUS.OPEN].indexOf(status)!==-1){element=_objectSpread2(_objectSpread2({},element),floaterOpening);}if(status===STATUS.CLOSING){element=_objectSpread2(_objectSpread2({},element),floaterClosing);}if(status===STATUS.OPEN&&!disableAnimation){element=_objectSpread2(_objectSpread2({},element),floaterWithAnimation);}if(placement==='center'){element=_objectSpread2(_objectSpread2({},element),floaterCentered);}if(component){element=_objectSpread2(_objectSpread2({},element),floaterWithComponent);}return _objectSpread2(_objectSpread2({},floater),element);}},{key:\"render\",value:function render(){var _this$props2=this.props,component=_this$props2.component,closeFn=_this$props2.handleClick,hideArrow=_this$props2.hideArrow,setFloaterRef=_this$props2.setFloaterRef,status=_this$props2.status;var output={};var classes=['__floater'];if(component){if(/*#__PURE__*/React.isValidElement(component)){output.content=/*#__PURE__*/React.cloneElement(component,{closeFn:closeFn});}else {output.content=component({closeFn:closeFn});}}else {output.content=/*#__PURE__*/React.createElement(FloaterContainer,this.props);}if(status===STATUS.OPEN){classes.push('__floater__open');}if(!hideArrow){output.arrow=/*#__PURE__*/React.createElement(FloaterArrow,this.props);}return/*#__PURE__*/React.createElement(\"div\",{ref:setFloaterRef,className:classes.join(' '),style:this.style},/*#__PURE__*/React.createElement(\"div\",{className:\"__floater__body\"},output.content,output.arrow));}}]);return Floater;}(React.Component);_defineProperty(Floater,\"propTypes\",{component:PropTypes.oneOfType([PropTypes.func,PropTypes.element]),content:PropTypes.node,disableAnimation:PropTypes.bool.isRequired,footer:PropTypes.node,handleClick:PropTypes.func.isRequired,hideArrow:PropTypes.bool.isRequired,open:PropTypes.bool,placement:PropTypes.string.isRequired,positionWrapper:PropTypes.bool.isRequired,setArrowRef:PropTypes.func.isRequired,setFloaterRef:PropTypes.func.isRequired,showCloseButton:PropTypes.bool,status:PropTypes.string.isRequired,styles:PropTypes.object.isRequired,title:PropTypes.node});\n\nvar ReactFloaterWrapper=/*#__PURE__*/function(_React$Component){_inherits(ReactFloaterWrapper,_React$Component);var _super=_createSuper(ReactFloaterWrapper);function ReactFloaterWrapper(){_classCallCheck(this,ReactFloaterWrapper);return _super.apply(this,arguments);}_createClass(ReactFloaterWrapper,[{key:\"render\",value:function render(){var _this$props=this.props,children=_this$props.children,handleClick=_this$props.handleClick,handleMouseEnter=_this$props.handleMouseEnter,handleMouseLeave=_this$props.handleMouseLeave,setChildRef=_this$props.setChildRef,setWrapperRef=_this$props.setWrapperRef,style=_this$props.style,styles=_this$props.styles;var element;/* istanbul ignore else */if(children){if(React.Children.count(children)===1){if(!/*#__PURE__*/React.isValidElement(children)){element=/*#__PURE__*/React.createElement(\"span\",null,children);}else {var refProp=is[\"function\"](children.type)?'innerRef':'ref';element=/*#__PURE__*/React.cloneElement(React.Children.only(children),_defineProperty({},refProp,setChildRef));}}else {element=children;}}if(!element){return null;}return/*#__PURE__*/React.createElement(\"span\",{ref:setWrapperRef,style:_objectSpread2(_objectSpread2({},styles),style),onClick:handleClick,onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave},element);}}]);return ReactFloaterWrapper;}(React.Component);_defineProperty(ReactFloaterWrapper,\"propTypes\",{children:PropTypes.node,handleClick:PropTypes.func.isRequired,handleMouseEnter:PropTypes.func.isRequired,handleMouseLeave:PropTypes.func.isRequired,setChildRef:PropTypes.func.isRequired,setWrapperRef:PropTypes.func.isRequired,style:PropTypes.object,styles:PropTypes.object.isRequired});\n\nvar defaultOptions={zIndex:100};function getStyles(styles){var options=deepmerge(defaultOptions,styles.options||{});return {wrapper:{cursor:'help',display:'inline-flex',flexDirection:'column',zIndex:options.zIndex},wrapperPosition:{left:-1000,position:'absolute',top:-1000,visibility:'hidden'},floater:{display:'inline-block',filter:'drop-shadow(0 0 3px rgba(0, 0, 0, 0.3))',maxWidth:300,opacity:0,position:'relative',transition:'opacity 0.3s',visibility:'hidden',zIndex:options.zIndex},floaterOpening:{opacity:1,visibility:'visible'},floaterWithAnimation:{opacity:1,transition:'opacity 0.3s, transform 0.2s',visibility:'visible'},floaterWithComponent:{maxWidth:'100%'},floaterClosing:{opacity:0,visibility:'visible'},floaterCentered:{left:'50%',position:'fixed',top:'50%',transform:'translate(-50%, -50%)'},container:{backgroundColor:'#fff',color:'#666',minHeight:60,minWidth:200,padding:20,position:'relative',zIndex:10},title:{borderBottom:'1px solid #555',color:'#555',fontSize:18,marginBottom:5,paddingBottom:6,paddingRight:18},content:{fontSize:15},close:{backgroundColor:'transparent',border:0,borderRadius:0,color:'#555',fontSize:0,height:15,outline:'none',padding:10,position:'absolute',right:0,top:0,width:15,WebkitAppearance:'none'},footer:{borderTop:'1px solid #ccc',fontSize:13,marginTop:10,paddingTop:5},arrow:{color:'#fff',display:'inline-flex',length:16,margin:8,position:'absolute',spread:32},options:options};}\n\nvar _excluded=[\"arrow\",\"flip\",\"offset\"];var POSITIONING_PROPS=['position','top','right','bottom','left'];var ReactFloater=/*#__PURE__*/function(_React$Component){_inherits(ReactFloater,_React$Component);var _super=_createSuper(ReactFloater);function ReactFloater(props){var _this;_classCallCheck(this,ReactFloater);_this=_super.call(this,props);/* istanbul ignore else */_defineProperty(_assertThisInitialized(_this),\"setArrowRef\",function(ref){_this.arrowRef=ref;});_defineProperty(_assertThisInitialized(_this),\"setChildRef\",function(ref){_this.childRef=ref;});_defineProperty(_assertThisInitialized(_this),\"setFloaterRef\",function(ref){_this.floaterRef=ref;});_defineProperty(_assertThisInitialized(_this),\"setWrapperRef\",function(ref){_this.wrapperRef=ref;});_defineProperty(_assertThisInitialized(_this),\"handleTransitionEnd\",function(){var status=_this.state.status;var callback=_this.props.callback;/* istanbul ignore else */if(_this.wrapperPopper){_this.wrapperPopper.instance.update();}_this.setState({status:status===STATUS.OPENING?STATUS.OPEN:STATUS.IDLE},function(){var newStatus=_this.state.status;callback(newStatus===STATUS.OPEN?'open':'close',_this.props);});});_defineProperty(_assertThisInitialized(_this),\"handleClick\",function(){var _this$props=_this.props,event=_this$props.event,open=_this$props.open;if(is[\"boolean\"](open))return;var _this$state=_this.state,positionWrapper=_this$state.positionWrapper,status=_this$state.status;/* istanbul ignore else */if(_this.event==='click'||_this.event==='hover'&&positionWrapper){log({title:'click',data:[{event:event,status:status===STATUS.OPEN?'closing':'opening'}],debug:_this.debug});_this.toggle();}});_defineProperty(_assertThisInitialized(_this),\"handleMouseEnter\",function(){var _this$props2=_this.props,event=_this$props2.event,open=_this$props2.open;if(is[\"boolean\"](open)||isMobile())return;var status=_this.state.status;/* istanbul ignore else */if(_this.event==='hover'&&status===STATUS.IDLE){log({title:'mouseEnter',data:[{key:'originalEvent',value:event}],debug:_this.debug});clearTimeout(_this.eventDelayTimeout);_this.toggle();}});_defineProperty(_assertThisInitialized(_this),\"handleMouseLeave\",function(){var _this$props3=_this.props,event=_this$props3.event,eventDelay=_this$props3.eventDelay,open=_this$props3.open;if(is[\"boolean\"](open)||isMobile())return;var _this$state2=_this.state,status=_this$state2.status,positionWrapper=_this$state2.positionWrapper;/* istanbul ignore else */if(_this.event==='hover'){log({title:'mouseLeave',data:[{key:'originalEvent',value:event}],debug:_this.debug});if(!eventDelay){_this.toggle(STATUS.IDLE);}else if([STATUS.OPENING,STATUS.OPEN].indexOf(status)!==-1&&!positionWrapper&&!_this.eventDelayTimeout){_this.eventDelayTimeout=setTimeout(function(){delete _this.eventDelayTimeout;_this.toggle();},eventDelay*1000);}}});_this.state={currentPlacement:props.placement,needsUpdate:false,positionWrapper:props.wrapperOptions.position&&!!props.target,status:STATUS.INIT,statusWrapper:STATUS.INIT};_this._isMounted=false;_this.hasMounted=false;if(canUseDOM()){window.addEventListener('load',function(){if(_this.popper){_this.popper.instance.update();}if(_this.wrapperPopper){_this.wrapperPopper.instance.update();}});}return _this;}_createClass(ReactFloater,[{key:\"componentDidMount\",value:function componentDidMount(){if(!canUseDOM())return;var positionWrapper=this.state.positionWrapper;var _this$props5=this.props,children=_this$props5.children,open=_this$props5.open,target=_this$props5.target;this._isMounted=true;log({title:'init',data:{hasChildren:!!children,hasTarget:!!target,isControlled:is[\"boolean\"](open),positionWrapper:positionWrapper,target:this.target,floater:this.floaterRef},debug:this.debug});if(!this.hasMounted){this.initPopper();this.hasMounted=true;}if(!children&&target&&!is[\"boolean\"](open));}},{key:\"componentDidUpdate\",value:function componentDidUpdate(prevProps,prevState){if(!canUseDOM())return;var _this$props6=this.props,autoOpen=_this$props6.autoOpen,open=_this$props6.open,target=_this$props6.target,wrapperOptions=_this$props6.wrapperOptions;var _treeChanges=treeChanges(prevState,this.state),changedFrom=_treeChanges.changedFrom,changed=_treeChanges.changed;if(prevProps.open!==open){var forceStatus;// always follow `open` in controlled mode\nif(is[\"boolean\"](open)){forceStatus=open?STATUS.OPENING:STATUS.CLOSING;}this.toggle(forceStatus);}if(prevProps.wrapperOptions.position!==wrapperOptions.position||prevProps.target!==target){this.changeWrapperPosition(this.props);}if(changed('status',STATUS.IDLE)&&open){this.toggle(STATUS.OPEN);}else if(changedFrom('status',STATUS.INIT,STATUS.IDLE)&&autoOpen){this.toggle(STATUS.OPEN);}if(this.popper&&changed('status',STATUS.OPENING)){this.popper.instance.update();}if(this.floaterRef&&(changed('status',STATUS.OPENING)||changed('status',STATUS.CLOSING))){once(this.floaterRef,'transitionend',this.handleTransitionEnd);}if(changed('needsUpdate',true)){this.rebuildPopper();}}},{key:\"componentWillUnmount\",value:function componentWillUnmount(){if(!canUseDOM())return;this._isMounted=false;if(this.popper){this.popper.instance.destroy();}if(this.wrapperPopper){this.wrapperPopper.instance.destroy();}}},{key:\"initPopper\",value:function initPopper(){var _this2=this;var target=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.target;var positionWrapper=this.state.positionWrapper;var _this$props7=this.props,disableFlip=_this$props7.disableFlip,getPopper=_this$props7.getPopper,hideArrow=_this$props7.hideArrow,offset=_this$props7.offset,placement=_this$props7.placement,wrapperOptions=_this$props7.wrapperOptions;var flipBehavior=placement==='top'||placement==='bottom'?'flip':['right','bottom-end','top-end','left','top-start','bottom-start'];/* istanbul ignore else */if(placement==='center'){this.setState({status:STATUS.IDLE});}else if(target&&this.floaterRef){var _this$options=this.options,arrow=_this$options.arrow,flip=_this$options.flip,offsetOptions=_this$options.offset,rest=_objectWithoutProperties(_this$options,_excluded);new Popper(target,this.floaterRef,{placement:placement,modifiers:_objectSpread2({arrow:_objectSpread2({enabled:!hideArrow,element:this.arrowRef},arrow),flip:_objectSpread2({enabled:!disableFlip,behavior:flipBehavior},flip),offset:_objectSpread2({offset:\"0, \".concat(offset,\"px\")},offsetOptions)},rest),onCreate:function onCreate(data){var _this2$floaterRef;_this2.popper=data;if(!((_this2$floaterRef=_this2.floaterRef)!==null&&_this2$floaterRef!==void 0&&_this2$floaterRef.isConnected)){_this2.setState({needsUpdate:true});return;}getPopper(data,'floater');if(_this2._isMounted){_this2.setState({currentPlacement:data.placement,status:STATUS.IDLE});}if(placement!==data.placement){setTimeout(function(){data.instance.update();},1);}},onUpdate:function onUpdate(data){_this2.popper=data;var currentPlacement=_this2.state.currentPlacement;if(_this2._isMounted&&data.placement!==currentPlacement){_this2.setState({currentPlacement:data.placement});}}});}if(positionWrapper){var wrapperOffset=!is.undefined(wrapperOptions.offset)?wrapperOptions.offset:0;new Popper(this.target,this.wrapperRef,{placement:wrapperOptions.placement||placement,modifiers:{arrow:{enabled:false},offset:{offset:\"0, \".concat(wrapperOffset,\"px\")},flip:{enabled:false}},onCreate:function onCreate(data){_this2.wrapperPopper=data;if(_this2._isMounted){_this2.setState({statusWrapper:STATUS.IDLE});}getPopper(data,'wrapper');if(placement!==data.placement){setTimeout(function(){data.instance.update();},1);}}});}}},{key:\"rebuildPopper\",value:function rebuildPopper(){var _this3=this;this.floaterRefInterval=setInterval(function(){var _this3$floaterRef;if((_this3$floaterRef=_this3.floaterRef)!==null&&_this3$floaterRef!==void 0&&_this3$floaterRef.isConnected){clearInterval(_this3.floaterRefInterval);_this3.setState({needsUpdate:false});_this3.initPopper();}},50);}},{key:\"changeWrapperPosition\",value:function changeWrapperPosition(_ref){var target=_ref.target,wrapperOptions=_ref.wrapperOptions;this.setState({positionWrapper:wrapperOptions.position&&!!target});}},{key:\"toggle\",value:function toggle(forceStatus){var status=this.state.status;var nextStatus=status===STATUS.OPEN?STATUS.CLOSING:STATUS.OPENING;if(!is.undefined(forceStatus)){nextStatus=forceStatus;}this.setState({status:nextStatus});}},{key:\"debug\",get:function get(){var debug=this.props.debug;return debug||canUseDOM()&&'ReactFloaterDebug'in window&&!!window.ReactFloaterDebug;}},{key:\"event\",get:function get(){var _this$props8=this.props,disableHoverToClick=_this$props8.disableHoverToClick,event=_this$props8.event;if(event==='hover'&&isMobile()&&!disableHoverToClick){return 'click';}return event;}},{key:\"options\",get:function get(){var options=this.props.options;return deepmerge(DEFAULTS,options||{});}},{key:\"styles\",get:function get(){var _this4=this;var _this$state3=this.state,status=_this$state3.status,positionWrapper=_this$state3.positionWrapper,statusWrapper=_this$state3.statusWrapper;var styles=this.props.styles;var nextStyles=deepmerge(getStyles(styles),styles);if(positionWrapper){var wrapperStyles;if(!([STATUS.IDLE].indexOf(status)!==-1)||!([STATUS.IDLE].indexOf(statusWrapper)!==-1)){wrapperStyles=nextStyles.wrapperPosition;}else {wrapperStyles=this.wrapperPopper.styles;}nextStyles.wrapper=_objectSpread2(_objectSpread2({},nextStyles.wrapper),wrapperStyles);}/* istanbul ignore else */if(this.target){var targetStyles=window.getComputedStyle(this.target);/* istanbul ignore else */if(this.wrapperStyles){nextStyles.wrapper=_objectSpread2(_objectSpread2({},nextStyles.wrapper),this.wrapperStyles);}else if(!(['relative','static'].indexOf(targetStyles.position)!==-1)){this.wrapperStyles={};if(!positionWrapper){POSITIONING_PROPS.forEach(function(d){_this4.wrapperStyles[d]=targetStyles[d];});nextStyles.wrapper=_objectSpread2(_objectSpread2({},nextStyles.wrapper),this.wrapperStyles);this.target.style.position='relative';this.target.style.top='auto';this.target.style.right='auto';this.target.style.bottom='auto';this.target.style.left='auto';}}}return nextStyles;}},{key:\"target\",get:function get(){if(!canUseDOM())return null;var target=this.props.target;if(target){if(is.domElement(target)){return target;}return document.querySelector(target);}return this.childRef||this.wrapperRef;}},{key:\"render\",value:function render(){var _this$state4=this.state,currentPlacement=_this$state4.currentPlacement,positionWrapper=_this$state4.positionWrapper,status=_this$state4.status;var _this$props9=this.props,children=_this$props9.children,component=_this$props9.component,content=_this$props9.content,disableAnimation=_this$props9.disableAnimation,footer=_this$props9.footer,hideArrow=_this$props9.hideArrow,id=_this$props9.id,open=_this$props9.open,showCloseButton=_this$props9.showCloseButton,style=_this$props9.style,target=_this$props9.target,title=_this$props9.title;var wrapper=/*#__PURE__*/React.createElement(ReactFloaterWrapper,{handleClick:this.handleClick,handleMouseEnter:this.handleMouseEnter,handleMouseLeave:this.handleMouseLeave,setChildRef:this.setChildRef,setWrapperRef:this.setWrapperRef,style:style,styles:this.styles.wrapper},children);var output={};if(positionWrapper){output.wrapperInPortal=wrapper;}else {output.wrapperAsChildren=wrapper;}return/*#__PURE__*/React.createElement(\"span\",null,/*#__PURE__*/React.createElement(ReactFloaterPortal,{hasChildren:!!children,id:id,placement:currentPlacement,setRef:this.setFloaterRef,target:target,zIndex:this.styles.options.zIndex},/*#__PURE__*/React.createElement(Floater,{component:component,content:content,disableAnimation:disableAnimation,footer:footer,handleClick:this.handleClick,hideArrow:hideArrow||currentPlacement==='center',open:open,placement:currentPlacement,positionWrapper:positionWrapper,setArrowRef:this.setArrowRef,setFloaterRef:this.setFloaterRef,showCloseButton:showCloseButton,status:status,styles:this.styles,title:title}),output.wrapperInPortal),output.wrapperAsChildren);}}]);return ReactFloater;}(React.Component);_defineProperty(ReactFloater,\"propTypes\",{autoOpen:PropTypes.bool,callback:PropTypes.func,children:PropTypes.node,component:isRequiredIf(PropTypes.oneOfType([PropTypes.func,PropTypes.element]),function(props){return !props.content;}),content:isRequiredIf(PropTypes.node,function(props){return !props.component;}),debug:PropTypes.bool,disableAnimation:PropTypes.bool,disableFlip:PropTypes.bool,disableHoverToClick:PropTypes.bool,event:PropTypes.oneOf(['hover','click']),eventDelay:PropTypes.number,footer:PropTypes.node,getPopper:PropTypes.func,hideArrow:PropTypes.bool,id:PropTypes.oneOfType([PropTypes.string,PropTypes.number]),offset:PropTypes.number,open:PropTypes.bool,options:PropTypes.object,placement:PropTypes.oneOf(['top','top-start','top-end','bottom','bottom-start','bottom-end','left','left-start','left-end','right','right-start','right-end','auto','center']),showCloseButton:PropTypes.bool,style:PropTypes.object,styles:PropTypes.object,target:PropTypes.oneOfType([PropTypes.object,PropTypes.string]),title:PropTypes.node,wrapperOptions:PropTypes.shape({offset:PropTypes.number,placement:PropTypes.oneOf(['top','top-start','top-end','bottom','bottom-start','bottom-end','left','left-start','left-end','right','right-start','right-end','auto']),position:PropTypes.bool})});_defineProperty(ReactFloater,\"defaultProps\",{autoOpen:false,callback:noop,debug:false,disableAnimation:false,disableFlip:false,disableHoverToClick:false,event:'click',eventDelay:0.4,getPopper:noop,hideArrow:false,offset:15,placement:'bottom',showCloseButton:false,styles:{},target:null,wrapperOptions:{position:false}});\n\nexport { ReactFloater as default };\n","\"use strict\";\nvar hasProps = function (jsx) {\n return Object.prototype.hasOwnProperty.call(jsx, 'props');\n};\nvar reduceJsxToString = function (previous, current) {\n return previous + innerText(current);\n};\nvar innerText = function (jsx) {\n if (jsx === null ||\n typeof jsx === 'boolean' ||\n typeof jsx === 'undefined') {\n return '';\n }\n if (typeof jsx === 'number') {\n return jsx.toString();\n }\n if (typeof jsx === 'string') {\n return jsx;\n }\n if (Array.isArray(jsx)) {\n return jsx.reduce(reduceJsxToString, '');\n }\n if (hasProps(jsx) &&\n Object.prototype.hasOwnProperty.call(jsx.props, 'children')) {\n return innerText(jsx.props.children);\n }\n return '';\n};\ninnerText.default = innerText;\nmodule.exports = innerText;\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\n\n// src/literals/index.ts\nvar ACTIONS = {\n INIT: \"init\",\n START: \"start\",\n STOP: \"stop\",\n RESET: \"reset\",\n PREV: \"prev\",\n NEXT: \"next\",\n GO: \"go\",\n CLOSE: \"close\",\n SKIP: \"skip\",\n UPDATE: \"update\"\n};\nvar EVENTS = {\n TOUR_START: \"tour:start\",\n STEP_BEFORE: \"step:before\",\n BEACON: \"beacon\",\n TOOLTIP: \"tooltip\",\n STEP_AFTER: \"step:after\",\n TOUR_END: \"tour:end\",\n TOUR_STATUS: \"tour:status\",\n TARGET_NOT_FOUND: \"error:target_not_found\",\n ERROR: \"error\"\n};\nvar LIFECYCLE = {\n INIT: \"init\",\n READY: \"ready\",\n BEACON: \"beacon\",\n TOOLTIP: \"tooltip\",\n COMPLETE: \"complete\",\n ERROR: \"error\"\n};\nvar ORIGIN = {\n BUTTON_CLOSE: \"button_close\",\n BUTTON_PRIMARY: \"button_primary\",\n KEYBOARD: \"keyboard\",\n OVERLAY: \"overlay\"\n};\nvar STATUS = {\n IDLE: \"idle\",\n READY: \"ready\",\n WAITING: \"waiting\",\n RUNNING: \"running\",\n PAUSED: \"paused\",\n SKIPPED: \"skipped\",\n FINISHED: \"finished\",\n ERROR: \"error\"\n};\n\n// src/components/index.tsx\nimport * as React9 from \"react\";\nimport isEqual from \"@gilbarbara/deep-equal\";\nimport is6 from \"is-lite\";\nimport treeChanges3 from \"tree-changes\";\n\n// src/modules/dom.ts\nimport scroll from \"scroll\";\nimport scrollParent from \"scrollparent\";\nfunction canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\nfunction getClientRect(element) {\n if (!element) {\n return null;\n }\n return element.getBoundingClientRect();\n}\nfunction getDocumentHeight(median = true) {\n const { body, documentElement } = document;\n if (!body || !documentElement) {\n return 0;\n }\n if (median) {\n const heights = [\n body.scrollHeight,\n body.offsetHeight,\n documentElement.clientHeight,\n documentElement.scrollHeight,\n documentElement.offsetHeight\n ].sort((a, b) => a - b);\n const middle = Math.floor(heights.length / 2);\n if (heights.length % 2 === 0) {\n return (heights[middle - 1] + heights[middle]) / 2;\n }\n return heights[middle];\n }\n return Math.max(\n body.scrollHeight,\n body.offsetHeight,\n documentElement.clientHeight,\n documentElement.scrollHeight,\n documentElement.offsetHeight\n );\n}\nfunction getElement(element) {\n if (typeof element === \"string\") {\n return document.querySelector(element);\n }\n return element;\n}\nfunction getStyleComputedProperty(el) {\n if (!el || el.nodeType !== 1) {\n return null;\n }\n return getComputedStyle(el);\n}\nfunction getScrollParent(element, skipFix, forListener) {\n if (!element) {\n return scrollDocument();\n }\n const parent = scrollParent(element);\n if (parent) {\n if (parent.isSameNode(scrollDocument())) {\n if (forListener) {\n return document;\n }\n return scrollDocument();\n }\n const hasScrolling = parent.scrollHeight > parent.offsetHeight;\n if (!hasScrolling && !skipFix) {\n parent.style.overflow = \"initial\";\n return scrollDocument();\n }\n }\n return parent;\n}\nfunction hasCustomScrollParent(element, skipFix) {\n if (!element) {\n return false;\n }\n const parent = getScrollParent(element, skipFix);\n return parent ? !parent.isSameNode(scrollDocument()) : false;\n}\nfunction hasCustomOffsetParent(element) {\n return element.offsetParent !== document.body;\n}\nfunction hasPosition(el, type = \"fixed\") {\n if (!el || !(el instanceof HTMLElement)) {\n return false;\n }\n const { nodeName } = el;\n const styles = getStyleComputedProperty(el);\n if (nodeName === \"BODY\" || nodeName === \"HTML\") {\n return false;\n }\n if (styles && styles.position === type) {\n return true;\n }\n if (!el.parentNode) {\n return false;\n }\n return hasPosition(el.parentNode, type);\n}\nfunction isElementVisible(element) {\n var _a;\n if (!element) {\n return false;\n }\n let parentElement = element;\n while (parentElement) {\n if (parentElement === document.body) {\n break;\n }\n if (parentElement instanceof HTMLElement) {\n const { display, visibility } = getComputedStyle(parentElement);\n if (display === \"none\" || visibility === \"hidden\") {\n return false;\n }\n }\n parentElement = (_a = parentElement.parentElement) != null ? _a : null;\n }\n return true;\n}\nfunction getElementPosition(element, offset, skipFix) {\n var _a;\n const elementRect = getClientRect(element);\n const parent = getScrollParent(element, skipFix);\n const hasScrollParent = hasCustomScrollParent(element, skipFix);\n let parentTop = 0;\n let top = (_a = elementRect == null ? void 0 : elementRect.top) != null ? _a : 0;\n if (parent instanceof HTMLElement) {\n parentTop = parent.scrollTop;\n if (!hasScrollParent && !hasPosition(element)) {\n top += parentTop;\n }\n if (!parent.isSameNode(scrollDocument())) {\n top += scrollDocument().scrollTop;\n }\n }\n return Math.floor(top - offset);\n}\nfunction getScrollTo(element, offset, skipFix) {\n var _a;\n if (!element) {\n return 0;\n }\n const { offsetTop = 0, scrollTop = 0 } = (_a = scrollParent(element)) != null ? _a : {};\n let top = element.getBoundingClientRect().top + scrollTop;\n if (!!offsetTop && (hasCustomScrollParent(element, skipFix) || hasCustomOffsetParent(element))) {\n top -= offsetTop;\n }\n const output = Math.floor(top - offset);\n return output < 0 ? 0 : output;\n}\nfunction scrollDocument() {\n var _a;\n return (_a = document.scrollingElement) != null ? _a : document.documentElement;\n}\nfunction scrollTo(value, options) {\n const { duration, element } = options;\n return new Promise((resolve, reject) => {\n const { scrollTop } = element;\n const limit = value > scrollTop ? value - scrollTop : scrollTop - value;\n scroll.top(element, value, { duration: limit < 100 ? 50 : duration }, (error) => {\n if (error && error.message !== \"Element already at target scroll position\") {\n return reject(error);\n }\n return resolve();\n });\n });\n}\n\n// src/modules/helpers.ts\nimport { isValidElement } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport is from \"is-lite\";\nvar isReact16 = createPortal !== void 0;\nfunction getBrowser(userAgent = navigator.userAgent) {\n let browser = userAgent;\n if (typeof window === \"undefined\") {\n browser = \"node\";\n } else if (document.documentMode) {\n browser = \"ie\";\n } else if (/Edge/.test(userAgent)) {\n browser = \"edge\";\n } else if (Boolean(window.opera) || userAgent.includes(\" OPR/\")) {\n browser = \"opera\";\n } else if (typeof window.InstallTrigger !== \"undefined\") {\n browser = \"firefox\";\n } else if (window.chrome) {\n browser = \"chrome\";\n } else if (/(Version\\/([\\d._]+).*Safari|CriOS|FxiOS| Mobile\\/)/.test(userAgent)) {\n browser = \"safari\";\n }\n return browser;\n}\nfunction getText(root) {\n const content = [];\n const recurse = (child) => {\n if (typeof child === \"string\" || typeof child === \"number\") {\n content.push(child);\n } else if (Array.isArray(child)) {\n child.forEach((c) => recurse(c));\n } else if (isValidElement(child)) {\n const { children } = child.props;\n if (Array.isArray(children)) {\n children.forEach((c) => recurse(c));\n } else {\n recurse(children);\n }\n }\n };\n recurse(root);\n return content.join(\" \").trim();\n}\nfunction hasValidKeys(object, keys) {\n if (!is.plainObject(object) || !is.array(keys)) {\n return false;\n }\n return Object.keys(object).every((d) => keys.includes(d));\n}\nfunction hexToRGB(hex) {\n const shorthandRegex = /^#?([\\da-f])([\\da-f])([\\da-f])$/i;\n const properHex = hex.replace(shorthandRegex, (_m, r, g, b) => r + r + g + g + b + b);\n const result = /^#?([\\da-f]{2})([\\da-f]{2})([\\da-f]{2})$/i.exec(properHex);\n return result ? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)] : [];\n}\nfunction hideBeacon(step) {\n return step.disableBeacon || step.placement === \"center\";\n}\nfunction isLegacy() {\n return ![\"chrome\", \"safari\", \"firefox\", \"opera\"].includes(getBrowser());\n}\nfunction log({ data, debug = false, title, warn = false }) {\n const logFn = warn ? console.warn || console.error : console.log;\n if (debug) {\n if (title && data) {\n console.groupCollapsed(\n `%creact-joyride: ${title}`,\n \"color: #ff0044; font-weight: bold; font-size: 12px;\"\n );\n if (Array.isArray(data)) {\n data.forEach((d) => {\n if (is.plainObject(d) && d.key) {\n logFn.apply(console, [d.key, d.value]);\n } else {\n logFn.apply(console, [d]);\n }\n });\n } else {\n logFn.apply(console, [data]);\n }\n console.groupEnd();\n } else {\n console.error(\"Missing title or data props\");\n }\n }\n}\nfunction noop() {\n return void 0;\n}\nfunction objectKeys(input) {\n return Object.keys(input);\n}\nfunction omit(input, ...filter) {\n if (!is.plainObject(input)) {\n throw new TypeError(\"Expected an object\");\n }\n const output = {};\n for (const key in input) {\n if ({}.hasOwnProperty.call(input, key)) {\n if (!filter.includes(key)) {\n output[key] = input[key];\n }\n }\n }\n return output;\n}\nfunction pick(input, ...filter) {\n if (!is.plainObject(input)) {\n throw new TypeError(\"Expected an object\");\n }\n if (!filter.length) {\n return input;\n }\n const output = {};\n for (const key in input) {\n if ({}.hasOwnProperty.call(input, key)) {\n if (filter.includes(key)) {\n output[key] = input[key];\n }\n }\n }\n return output;\n}\nfunction shouldScroll(options) {\n const { isFirstStep, lifecycle, previousLifecycle, scrollToFirstStep, step, target } = options;\n return !step.disableScrolling && (!isFirstStep || scrollToFirstStep || lifecycle === LIFECYCLE.TOOLTIP) && step.placement !== \"center\" && (!step.isFixed || !hasPosition(target)) && // fixed steps don't need to scroll\n previousLifecycle !== lifecycle && [LIFECYCLE.BEACON, LIFECYCLE.TOOLTIP].includes(lifecycle);\n}\n\n// src/modules/step.ts\nimport deepmerge2 from \"deepmerge\";\nimport is2 from \"is-lite\";\n\n// src/defaults.ts\nvar defaultFloaterProps = {\n options: {\n preventOverflow: {\n boundariesElement: \"scrollParent\"\n }\n },\n wrapperOptions: {\n offset: -18,\n position: true\n }\n};\nvar defaultLocale = {\n back: \"Back\",\n close: \"Close\",\n last: \"Last\",\n next: \"Next\",\n open: \"Open the dialog\",\n skip: \"Skip\"\n};\nvar defaultStep = {\n event: \"click\",\n placement: \"bottom\",\n offset: 10,\n disableBeacon: false,\n disableCloseOnEsc: false,\n disableOverlay: false,\n disableOverlayClose: false,\n disableScrollParentFix: false,\n disableScrolling: false,\n hideBackButton: false,\n hideCloseButton: false,\n hideFooter: false,\n isFixed: false,\n locale: defaultLocale,\n showProgress: false,\n showSkipButton: false,\n spotlightClicks: false,\n spotlightPadding: 10\n};\nvar defaultProps = {\n continuous: false,\n debug: false,\n disableCloseOnEsc: false,\n disableOverlay: false,\n disableOverlayClose: false,\n disableScrolling: false,\n disableScrollParentFix: false,\n getHelpers: noop(),\n hideBackButton: false,\n run: true,\n scrollOffset: 20,\n scrollDuration: 300,\n scrollToFirstStep: false,\n showSkipButton: false,\n showProgress: false,\n spotlightClicks: false,\n spotlightPadding: 10,\n steps: []\n};\n\n// src/styles.ts\nimport deepmerge from \"deepmerge\";\nvar defaultOptions = {\n arrowColor: \"#fff\",\n backgroundColor: \"#fff\",\n beaconSize: 36,\n overlayColor: \"rgba(0, 0, 0, 0.5)\",\n primaryColor: \"#f04\",\n spotlightShadow: \"0 0 15px rgba(0, 0, 0, 0.5)\",\n textColor: \"#333\",\n width: 380,\n zIndex: 100\n};\nvar buttonBase = {\n backgroundColor: \"transparent\",\n border: 0,\n borderRadius: 0,\n color: \"#555\",\n cursor: \"pointer\",\n fontSize: 16,\n lineHeight: 1,\n padding: 8,\n WebkitAppearance: \"none\"\n};\nvar spotlight = {\n borderRadius: 4,\n position: \"absolute\"\n};\nfunction getStyles(props, step) {\n var _a, _b, _c, _d, _e;\n const { floaterProps, styles } = props;\n const mergedFloaterProps = deepmerge((_a = step.floaterProps) != null ? _a : {}, floaterProps != null ? floaterProps : {});\n const mergedStyles = deepmerge(styles != null ? styles : {}, (_b = step.styles) != null ? _b : {});\n const options = deepmerge(defaultOptions, mergedStyles.options || {});\n const hideBeacon2 = step.placement === \"center\" || step.disableBeacon;\n let { width } = options;\n if (window.innerWidth > 480) {\n width = 380;\n }\n if (\"width\" in options) {\n width = typeof options.width === \"number\" && window.innerWidth < options.width ? window.innerWidth - 30 : options.width;\n }\n const overlay = {\n bottom: 0,\n left: 0,\n overflow: \"hidden\",\n position: \"absolute\",\n right: 0,\n top: 0,\n zIndex: options.zIndex\n };\n const defaultStyles = {\n beacon: {\n ...buttonBase,\n display: hideBeacon2 ? \"none\" : \"inline-block\",\n height: options.beaconSize,\n position: \"relative\",\n width: options.beaconSize,\n zIndex: options.zIndex\n },\n beaconInner: {\n animation: \"joyride-beacon-inner 1.2s infinite ease-in-out\",\n backgroundColor: options.primaryColor,\n borderRadius: \"50%\",\n display: \"block\",\n height: \"50%\",\n left: \"50%\",\n opacity: 0.7,\n position: \"absolute\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"50%\"\n },\n beaconOuter: {\n animation: \"joyride-beacon-outer 1.2s infinite ease-in-out\",\n backgroundColor: `rgba(${hexToRGB(options.primaryColor).join(\",\")}, 0.2)`,\n border: `2px solid ${options.primaryColor}`,\n borderRadius: \"50%\",\n boxSizing: \"border-box\",\n display: \"block\",\n height: \"100%\",\n left: 0,\n opacity: 0.9,\n position: \"absolute\",\n top: 0,\n transformOrigin: \"center\",\n width: \"100%\"\n },\n tooltip: {\n backgroundColor: options.backgroundColor,\n borderRadius: 5,\n boxSizing: \"border-box\",\n color: options.textColor,\n fontSize: 16,\n maxWidth: \"100%\",\n padding: 15,\n position: \"relative\",\n width\n },\n tooltipContainer: {\n lineHeight: 1.4,\n textAlign: \"center\"\n },\n tooltipTitle: {\n fontSize: 18,\n margin: 0\n },\n tooltipContent: {\n padding: \"20px 10px\"\n },\n tooltipFooter: {\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginTop: 15\n },\n tooltipFooterSpacer: {\n flex: 1\n },\n buttonNext: {\n ...buttonBase,\n backgroundColor: options.primaryColor,\n borderRadius: 4,\n color: \"#fff\"\n },\n buttonBack: {\n ...buttonBase,\n color: options.primaryColor,\n marginLeft: \"auto\",\n marginRight: 5\n },\n buttonClose: {\n ...buttonBase,\n color: options.textColor,\n height: 14,\n padding: 15,\n position: \"absolute\",\n right: 0,\n top: 0,\n width: 14\n },\n buttonSkip: {\n ...buttonBase,\n color: options.textColor,\n fontSize: 14\n },\n overlay: {\n ...overlay,\n backgroundColor: options.overlayColor,\n mixBlendMode: \"hard-light\"\n },\n overlayLegacy: {\n ...overlay\n },\n overlayLegacyCenter: {\n ...overlay,\n backgroundColor: options.overlayColor\n },\n spotlight: {\n ...spotlight,\n backgroundColor: \"gray\"\n },\n spotlightLegacy: {\n ...spotlight,\n boxShadow: `0 0 0 9999px ${options.overlayColor}, ${options.spotlightShadow}`\n },\n floaterStyles: {\n arrow: {\n color: (_e = (_d = (_c = mergedFloaterProps == null ? void 0 : mergedFloaterProps.styles) == null ? void 0 : _c.arrow) == null ? void 0 : _d.color) != null ? _e : options.arrowColor\n },\n options: {\n zIndex: options.zIndex + 100\n }\n },\n options\n };\n return deepmerge(defaultStyles, mergedStyles);\n}\n\n// src/modules/step.ts\nfunction getTourProps(props) {\n return pick(\n props,\n \"beaconComponent\",\n \"disableCloseOnEsc\",\n \"disableOverlay\",\n \"disableOverlayClose\",\n \"disableScrolling\",\n \"disableScrollParentFix\",\n \"floaterProps\",\n \"hideBackButton\",\n \"hideCloseButton\",\n \"locale\",\n \"showProgress\",\n \"showSkipButton\",\n \"spotlightClicks\",\n \"spotlightPadding\",\n \"styles\",\n \"tooltipComponent\"\n );\n}\nfunction getMergedStep(props, currentStep) {\n var _a, _b, _c, _d, _e, _f;\n const step = currentStep != null ? currentStep : {};\n const mergedStep = deepmerge2.all([defaultStep, getTourProps(props), step], {\n isMergeableObject: is2.plainObject\n });\n const mergedStyles = getStyles(props, mergedStep);\n const scrollParent2 = hasCustomScrollParent(\n getElement(mergedStep.target),\n mergedStep.disableScrollParentFix\n );\n const floaterProps = deepmerge2.all([\n defaultFloaterProps,\n (_a = props.floaterProps) != null ? _a : {},\n (_b = mergedStep.floaterProps) != null ? _b : {}\n ]);\n floaterProps.offset = mergedStep.offset;\n floaterProps.styles = deepmerge2((_c = floaterProps.styles) != null ? _c : {}, mergedStyles.floaterStyles);\n floaterProps.offset += (_e = (_d = props.spotlightPadding) != null ? _d : mergedStep.spotlightPadding) != null ? _e : 0;\n if (mergedStep.placementBeacon && floaterProps.wrapperOptions) {\n floaterProps.wrapperOptions.placement = mergedStep.placementBeacon;\n }\n if (scrollParent2 && floaterProps.options.preventOverflow) {\n floaterProps.options.preventOverflow.boundariesElement = \"window\";\n }\n return {\n ...mergedStep,\n locale: deepmerge2.all([defaultLocale, (_f = props.locale) != null ? _f : {}, mergedStep.locale || {}]),\n floaterProps,\n styles: omit(mergedStyles, \"floaterStyles\")\n };\n}\nfunction validateStep(step, debug = false) {\n if (!is2.plainObject(step)) {\n log({\n title: \"validateStep\",\n data: \"step must be an object\",\n warn: true,\n debug\n });\n return false;\n }\n if (!step.target) {\n log({\n title: \"validateStep\",\n data: \"target is missing from the step\",\n warn: true,\n debug\n });\n return false;\n }\n return true;\n}\nfunction validateSteps(steps, debug = false) {\n if (!is2.array(steps)) {\n log({\n title: \"validateSteps\",\n data: \"steps must be an array\",\n warn: true,\n debug\n });\n return false;\n }\n return steps.every((d) => validateStep(d, debug));\n}\n\n// src/modules/store.ts\nimport is3 from \"is-lite\";\nvar defaultState = {\n action: \"init\",\n controlled: false,\n index: 0,\n lifecycle: LIFECYCLE.INIT,\n origin: null,\n size: 0,\n status: STATUS.IDLE\n};\nvar validKeys = objectKeys(omit(defaultState, \"controlled\", \"size\"));\nvar Store = class {\n constructor(options) {\n __publicField(this, \"beaconPopper\");\n __publicField(this, \"tooltipPopper\");\n __publicField(this, \"data\", /* @__PURE__ */ new Map());\n __publicField(this, \"listener\");\n __publicField(this, \"store\", /* @__PURE__ */ new Map());\n __publicField(this, \"addListener\", (listener) => {\n this.listener = listener;\n });\n __publicField(this, \"setSteps\", (steps) => {\n const { size, status } = this.getState();\n const state = {\n size: steps.length,\n status\n };\n this.data.set(\"steps\", steps);\n if (status === STATUS.WAITING && !size && steps.length) {\n state.status = STATUS.RUNNING;\n }\n this.setState(state);\n });\n __publicField(this, \"getPopper\", (name) => {\n if (name === \"beacon\") {\n return this.beaconPopper;\n }\n return this.tooltipPopper;\n });\n __publicField(this, \"setPopper\", (name, popper) => {\n if (name === \"beacon\") {\n this.beaconPopper = popper;\n } else {\n this.tooltipPopper = popper;\n }\n });\n __publicField(this, \"cleanupPoppers\", () => {\n this.beaconPopper = null;\n this.tooltipPopper = null;\n });\n __publicField(this, \"close\", (origin = null) => {\n const { index, status } = this.getState();\n if (status !== STATUS.RUNNING) {\n return;\n }\n this.setState({\n ...this.getNextState({ action: ACTIONS.CLOSE, index: index + 1, origin })\n });\n });\n __publicField(this, \"go\", (nextIndex) => {\n const { controlled, status } = this.getState();\n if (controlled || status !== STATUS.RUNNING) {\n return;\n }\n const step = this.getSteps()[nextIndex];\n this.setState({\n ...this.getNextState({ action: ACTIONS.GO, index: nextIndex }),\n status: step ? status : STATUS.FINISHED\n });\n });\n __publicField(this, \"info\", () => this.getState());\n __publicField(this, \"next\", () => {\n const { index, status } = this.getState();\n if (status !== STATUS.RUNNING) {\n return;\n }\n this.setState(this.getNextState({ action: ACTIONS.NEXT, index: index + 1 }));\n });\n __publicField(this, \"open\", () => {\n const { status } = this.getState();\n if (status !== STATUS.RUNNING) {\n return;\n }\n this.setState({\n ...this.getNextState({ action: ACTIONS.UPDATE, lifecycle: LIFECYCLE.TOOLTIP })\n });\n });\n __publicField(this, \"prev\", () => {\n const { index, status } = this.getState();\n if (status !== STATUS.RUNNING) {\n return;\n }\n this.setState({\n ...this.getNextState({ action: ACTIONS.PREV, index: index - 1 })\n });\n });\n __publicField(this, \"reset\", (restart = false) => {\n const { controlled } = this.getState();\n if (controlled) {\n return;\n }\n this.setState({\n ...this.getNextState({ action: ACTIONS.RESET, index: 0 }),\n status: restart ? STATUS.RUNNING : STATUS.READY\n });\n });\n __publicField(this, \"skip\", () => {\n const { status } = this.getState();\n if (status !== STATUS.RUNNING) {\n return;\n }\n this.setState({\n action: ACTIONS.SKIP,\n lifecycle: LIFECYCLE.INIT,\n status: STATUS.SKIPPED\n });\n });\n __publicField(this, \"start\", (nextIndex) => {\n const { index, size } = this.getState();\n this.setState({\n ...this.getNextState(\n {\n action: ACTIONS.START,\n index: is3.number(nextIndex) ? nextIndex : index\n },\n true\n ),\n status: size ? STATUS.RUNNING : STATUS.WAITING\n });\n });\n __publicField(this, \"stop\", (advance = false) => {\n const { index, status } = this.getState();\n if ([STATUS.FINISHED, STATUS.SKIPPED].includes(status)) {\n return;\n }\n this.setState({\n ...this.getNextState({ action: ACTIONS.STOP, index: index + (advance ? 1 : 0) }),\n status: STATUS.PAUSED\n });\n });\n __publicField(this, \"update\", (state) => {\n var _a, _b;\n if (!hasValidKeys(state, validKeys)) {\n throw new Error(`State is not valid. Valid keys: ${validKeys.join(\", \")}`);\n }\n this.setState({\n ...this.getNextState(\n {\n ...this.getState(),\n ...state,\n action: (_a = state.action) != null ? _a : ACTIONS.UPDATE,\n origin: (_b = state.origin) != null ? _b : null\n },\n true\n )\n });\n });\n const { continuous = false, stepIndex, steps = [] } = options != null ? options : {};\n this.setState(\n {\n action: ACTIONS.INIT,\n controlled: is3.number(stepIndex),\n continuous,\n index: is3.number(stepIndex) ? stepIndex : 0,\n lifecycle: LIFECYCLE.INIT,\n origin: null,\n status: steps.length ? STATUS.READY : STATUS.IDLE\n },\n true\n );\n this.beaconPopper = null;\n this.tooltipPopper = null;\n this.listener = null;\n this.setSteps(steps);\n }\n getState() {\n if (!this.store.size) {\n return { ...defaultState };\n }\n return {\n action: this.store.get(\"action\") || \"\",\n controlled: this.store.get(\"controlled\") || false,\n index: parseInt(this.store.get(\"index\"), 10),\n lifecycle: this.store.get(\"lifecycle\") || \"\",\n origin: this.store.get(\"origin\") || null,\n size: this.store.get(\"size\") || 0,\n status: this.store.get(\"status\") || \"\"\n };\n }\n getNextState(state, force = false) {\n var _a, _b, _c, _d, _e;\n const { action, controlled, index, size, status } = this.getState();\n const newIndex = is3.number(state.index) ? state.index : index;\n const nextIndex = controlled && !force ? index : Math.min(Math.max(newIndex, 0), size);\n return {\n action: (_a = state.action) != null ? _a : action,\n controlled,\n index: nextIndex,\n lifecycle: (_b = state.lifecycle) != null ? _b : LIFECYCLE.INIT,\n origin: (_c = state.origin) != null ? _c : null,\n size: (_d = state.size) != null ? _d : size,\n status: nextIndex === size ? STATUS.FINISHED : (_e = state.status) != null ? _e : status\n };\n }\n getSteps() {\n const steps = this.data.get(\"steps\");\n return Array.isArray(steps) ? steps : [];\n }\n hasUpdatedState(oldState) {\n const before = JSON.stringify(oldState);\n const after = JSON.stringify(this.getState());\n return before !== after;\n }\n setState(nextState, initial = false) {\n const state = this.getState();\n const {\n action,\n index,\n lifecycle,\n origin = null,\n size,\n status\n } = {\n ...state,\n ...nextState\n };\n this.store.set(\"action\", action);\n this.store.set(\"index\", index);\n this.store.set(\"lifecycle\", lifecycle);\n this.store.set(\"origin\", origin);\n this.store.set(\"size\", size);\n this.store.set(\"status\", status);\n if (initial) {\n this.store.set(\"controlled\", nextState.controlled);\n this.store.set(\"continuous\", nextState.continuous);\n }\n if (this.listener && this.hasUpdatedState(state)) {\n this.listener(this.getState());\n }\n }\n getHelpers() {\n return {\n close: this.close,\n go: this.go,\n info: this.info,\n next: this.next,\n open: this.open,\n prev: this.prev,\n reset: this.reset,\n skip: this.skip\n };\n }\n};\nfunction createStore(options) {\n return new Store(options);\n}\n\n// src/components/Overlay.tsx\nimport * as React2 from \"react\";\nimport treeChanges from \"tree-changes\";\n\n// src/components/Spotlight.tsx\nimport * as React from \"react\";\nfunction JoyrideSpotlight({ styles }) {\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n key: \"JoyrideSpotlight\",\n className: \"react-joyride__spotlight\",\n \"data-test-id\": \"spotlight\",\n style: styles\n }\n );\n}\nvar Spotlight_default = JoyrideSpotlight;\n\n// src/components/Overlay.tsx\nvar JoyrideOverlay = class extends React2.Component {\n constructor() {\n super(...arguments);\n __publicField(this, \"isActive\", false);\n __publicField(this, \"resizeTimeout\");\n __publicField(this, \"scrollTimeout\");\n __publicField(this, \"scrollParent\");\n __publicField(this, \"state\", {\n isScrolling: false,\n mouseOverSpotlight: false,\n showSpotlight: true\n });\n __publicField(this, \"hideSpotlight\", () => {\n const { continuous, disableOverlay, lifecycle } = this.props;\n const hiddenLifecycles = [LIFECYCLE.BEACON, LIFECYCLE.COMPLETE, LIFECYCLE.ERROR];\n return disableOverlay || (continuous ? hiddenLifecycles.includes(lifecycle) : lifecycle !== LIFECYCLE.TOOLTIP);\n });\n __publicField(this, \"handleMouseMove\", (event) => {\n const { mouseOverSpotlight } = this.state;\n const { height, left, position, top, width } = this.spotlightStyles;\n const offsetY = position === \"fixed\" ? event.clientY : event.pageY;\n const offsetX = position === \"fixed\" ? event.clientX : event.pageX;\n const inSpotlightHeight = offsetY >= top && offsetY <= top + height;\n const inSpotlightWidth = offsetX >= left && offsetX <= left + width;\n const inSpotlight = inSpotlightWidth && inSpotlightHeight;\n if (inSpotlight !== mouseOverSpotlight) {\n this.updateState({ mouseOverSpotlight: inSpotlight });\n }\n });\n __publicField(this, \"handleScroll\", () => {\n const { target } = this.props;\n const element = getElement(target);\n if (this.scrollParent !== document) {\n const { isScrolling } = this.state;\n if (!isScrolling) {\n this.updateState({ isScrolling: true, showSpotlight: false });\n }\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = window.setTimeout(() => {\n this.updateState({ isScrolling: false, showSpotlight: true });\n }, 50);\n } else if (hasPosition(element, \"sticky\")) {\n this.updateState({});\n }\n });\n __publicField(this, \"handleResize\", () => {\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = window.setTimeout(() => {\n if (!this.isActive) {\n return;\n }\n this.forceUpdate();\n }, 100);\n });\n }\n componentDidMount() {\n const { debug, disableScrolling, disableScrollParentFix = false, target } = this.props;\n const element = getElement(target);\n this.scrollParent = getScrollParent(element != null ? element : document.body, disableScrollParentFix, true);\n this.isActive = true;\n if (process.env.NODE_ENV !== \"production\") {\n if (!disableScrolling && hasCustomScrollParent(element, true)) {\n log({\n title: \"step has a custom scroll parent and can cause trouble with scrolling\",\n data: [{ key: \"parent\", value: this.scrollParent }],\n debug\n });\n }\n }\n window.addEventListener(\"resize\", this.handleResize);\n }\n componentDidUpdate(previousProps) {\n var _a;\n const { lifecycle, spotlightClicks } = this.props;\n const { changed } = treeChanges(previousProps, this.props);\n if (changed(\"lifecycle\", LIFECYCLE.TOOLTIP)) {\n (_a = this.scrollParent) == null ? void 0 : _a.addEventListener(\"scroll\", this.handleScroll, { passive: true });\n setTimeout(() => {\n const { isScrolling } = this.state;\n if (!isScrolling) {\n this.updateState({ showSpotlight: true });\n }\n }, 100);\n }\n if (changed(\"spotlightClicks\") || changed(\"disableOverlay\") || changed(\"lifecycle\")) {\n if (spotlightClicks && lifecycle === LIFECYCLE.TOOLTIP) {\n window.addEventListener(\"mousemove\", this.handleMouseMove, false);\n } else if (lifecycle !== LIFECYCLE.TOOLTIP) {\n window.removeEventListener(\"mousemove\", this.handleMouseMove);\n }\n }\n }\n componentWillUnmount() {\n var _a;\n this.isActive = false;\n window.removeEventListener(\"mousemove\", this.handleMouseMove);\n window.removeEventListener(\"resize\", this.handleResize);\n clearTimeout(this.resizeTimeout);\n clearTimeout(this.scrollTimeout);\n (_a = this.scrollParent) == null ? void 0 : _a.removeEventListener(\"scroll\", this.handleScroll);\n }\n get overlayStyles() {\n const { mouseOverSpotlight } = this.state;\n const { disableOverlayClose, placement, styles } = this.props;\n let baseStyles = styles.overlay;\n if (isLegacy()) {\n baseStyles = placement === \"center\" ? styles.overlayLegacyCenter : styles.overlayLegacy;\n }\n return {\n cursor: disableOverlayClose ? \"default\" : \"pointer\",\n height: getDocumentHeight(),\n pointerEvents: mouseOverSpotlight ? \"none\" : \"auto\",\n ...baseStyles\n };\n }\n get spotlightStyles() {\n var _a, _b, _c;\n const { showSpotlight } = this.state;\n const {\n disableScrollParentFix = false,\n spotlightClicks,\n spotlightPadding = 0,\n styles,\n target\n } = this.props;\n const element = getElement(target);\n const elementRect = getClientRect(element);\n const isFixedTarget = hasPosition(element);\n const top = getElementPosition(element, spotlightPadding, disableScrollParentFix);\n return {\n ...isLegacy() ? styles.spotlightLegacy : styles.spotlight,\n height: Math.round(((_a = elementRect == null ? void 0 : elementRect.height) != null ? _a : 0) + spotlightPadding * 2),\n left: Math.round(((_b = elementRect == null ? void 0 : elementRect.left) != null ? _b : 0) - spotlightPadding),\n opacity: showSpotlight ? 1 : 0,\n pointerEvents: spotlightClicks ? \"none\" : \"auto\",\n position: isFixedTarget ? \"fixed\" : \"absolute\",\n top,\n transition: \"opacity 0.2s\",\n width: Math.round(((_c = elementRect == null ? void 0 : elementRect.width) != null ? _c : 0) + spotlightPadding * 2)\n };\n }\n updateState(state) {\n if (!this.isActive) {\n return;\n }\n this.setState((previousState) => ({ ...previousState, ...state }));\n }\n render() {\n const { showSpotlight } = this.state;\n const { onClickOverlay, placement } = this.props;\n const { hideSpotlight, overlayStyles, spotlightStyles } = this;\n if (hideSpotlight()) {\n return null;\n }\n let spotlight2 = placement !== \"center\" && showSpotlight && /* @__PURE__ */ React2.createElement(Spotlight_default, { styles: spotlightStyles });\n if (getBrowser() === \"safari\") {\n const { mixBlendMode, zIndex, ...safariOverlay } = overlayStyles;\n spotlight2 = /* @__PURE__ */ React2.createElement(\"div\", { style: { ...safariOverlay } }, spotlight2);\n delete overlayStyles.backgroundColor;\n }\n return /* @__PURE__ */ React2.createElement(\n \"div\",\n {\n className: \"react-joyride__overlay\",\n \"data-test-id\": \"overlay\",\n onClick: onClickOverlay,\n role: \"presentation\",\n style: overlayStyles\n },\n spotlight2\n );\n }\n};\n\n// src/components/Portal.tsx\nimport * as React3 from \"react\";\nimport * as ReactDOM from \"react-dom\";\nvar JoyridePortal = class extends React3.Component {\n constructor() {\n super(...arguments);\n __publicField(this, \"node\", null);\n }\n componentDidMount() {\n const { id } = this.props;\n if (!canUseDOM()) {\n return;\n }\n this.node = document.createElement(\"div\");\n this.node.id = id;\n document.body.appendChild(this.node);\n if (!isReact16) {\n this.renderReact15();\n }\n }\n componentDidUpdate() {\n if (!canUseDOM()) {\n return;\n }\n if (!isReact16) {\n this.renderReact15();\n }\n }\n componentWillUnmount() {\n if (!canUseDOM() || !this.node) {\n return;\n }\n if (!isReact16) {\n ReactDOM.unmountComponentAtNode(this.node);\n }\n if (this.node.parentNode === document.body) {\n document.body.removeChild(this.node);\n this.node = null;\n }\n }\n renderReact15() {\n if (!canUseDOM()) {\n return;\n }\n const { children } = this.props;\n if (this.node) {\n ReactDOM.unstable_renderSubtreeIntoContainer(this, children, this.node);\n }\n }\n renderReact16() {\n if (!canUseDOM() || !isReact16) {\n return null;\n }\n const { children } = this.props;\n if (!this.node) {\n return null;\n }\n return ReactDOM.createPortal(children, this.node);\n }\n render() {\n if (!isReact16) {\n return null;\n }\n return this.renderReact16();\n }\n};\n\n// src/components/Step.tsx\nimport * as React8 from \"react\";\nimport Floater from \"react-floater\";\nimport is5 from \"is-lite\";\nimport treeChanges2 from \"tree-changes\";\n\n// src/modules/scope.ts\nvar Scope = class {\n constructor(element, options) {\n __publicField(this, \"element\");\n __publicField(this, \"options\");\n __publicField(this, \"canBeTabbed\", (element) => {\n const { tabIndex } = element;\n if (tabIndex === null || tabIndex < 0) {\n return false;\n }\n return this.canHaveFocus(element);\n });\n __publicField(this, \"canHaveFocus\", (element) => {\n const validTabNodes = /input|select|textarea|button|object/;\n const nodeName = element.nodeName.toLowerCase();\n const isValid = validTabNodes.test(nodeName) && !element.getAttribute(\"disabled\") || nodeName === \"a\" && !!element.getAttribute(\"href\");\n return isValid && this.isVisible(element);\n });\n __publicField(this, \"findValidTabElements\", () => [].slice.call(this.element.querySelectorAll(\"*\"), 0).filter(this.canBeTabbed));\n __publicField(this, \"handleKeyDown\", (event) => {\n const { code = \"Tab\" } = this.options;\n if (event.code === code) {\n this.interceptTab(event);\n }\n });\n __publicField(this, \"interceptTab\", (event) => {\n event.preventDefault();\n const elements = this.findValidTabElements();\n const { shiftKey } = event;\n if (!elements.length) {\n return;\n }\n let x = document.activeElement ? elements.indexOf(document.activeElement) : 0;\n if (x === -1 || !shiftKey && x + 1 === elements.length) {\n x = 0;\n } else if (shiftKey && x === 0) {\n x = elements.length - 1;\n } else {\n x += shiftKey ? -1 : 1;\n }\n elements[x].focus();\n });\n // eslint-disable-next-line class-methods-use-this\n __publicField(this, \"isHidden\", (element) => {\n const noSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n const style = window.getComputedStyle(element);\n if (noSize && !element.innerHTML) {\n return true;\n }\n return noSize && style.getPropertyValue(\"overflow\") !== \"visible\" || style.getPropertyValue(\"display\") === \"none\";\n });\n __publicField(this, \"isVisible\", (element) => {\n let parentElement = element;\n while (parentElement) {\n if (parentElement instanceof HTMLElement) {\n if (parentElement === document.body) {\n break;\n }\n if (this.isHidden(parentElement)) {\n return false;\n }\n parentElement = parentElement.parentNode;\n }\n }\n return true;\n });\n __publicField(this, \"removeScope\", () => {\n window.removeEventListener(\"keydown\", this.handleKeyDown);\n });\n __publicField(this, \"checkFocus\", (target) => {\n if (document.activeElement !== target) {\n target.focus();\n window.requestAnimationFrame(() => this.checkFocus(target));\n }\n });\n __publicField(this, \"setFocus\", () => {\n const { selector } = this.options;\n if (!selector) {\n return;\n }\n const target = this.element.querySelector(selector);\n if (target) {\n window.requestAnimationFrame(() => this.checkFocus(target));\n }\n });\n if (!(element instanceof HTMLElement)) {\n throw new TypeError(\"Invalid parameter: element must be an HTMLElement\");\n }\n this.element = element;\n this.options = options;\n window.addEventListener(\"keydown\", this.handleKeyDown, false);\n this.setFocus();\n }\n};\n\n// src/components/Beacon.tsx\nimport * as React4 from \"react\";\nimport innerText from \"react-innertext\";\nimport is4 from \"is-lite\";\nvar JoyrideBeacon = class extends React4.Component {\n constructor(props) {\n super(props);\n __publicField(this, \"beacon\", null);\n __publicField(this, \"setBeaconRef\", (c) => {\n this.beacon = c;\n });\n if (props.beaconComponent) {\n return;\n }\n const head = document.head || document.getElementsByTagName(\"head\")[0];\n const style = document.createElement(\"style\");\n style.id = \"joyride-beacon-animation\";\n if (props.nonce) {\n style.setAttribute(\"nonce\", props.nonce);\n }\n const css = `\n @keyframes joyride-beacon-inner {\n 20% {\n opacity: 0.9;\n }\n \n 90% {\n opacity: 0.7;\n }\n }\n \n @keyframes joyride-beacon-outer {\n 0% {\n transform: scale(1);\n }\n \n 45% {\n opacity: 0.7;\n transform: scale(0.75);\n }\n \n 100% {\n opacity: 0.9;\n transform: scale(1);\n }\n }\n `;\n style.appendChild(document.createTextNode(css));\n head.appendChild(style);\n }\n componentDidMount() {\n const { shouldFocus } = this.props;\n if (process.env.NODE_ENV !== \"production\") {\n if (!is4.domElement(this.beacon)) {\n console.warn(\"beacon is not a valid DOM element\");\n }\n }\n setTimeout(() => {\n if (is4.domElement(this.beacon) && shouldFocus) {\n this.beacon.focus();\n }\n }, 0);\n }\n componentWillUnmount() {\n const style = document.getElementById(\"joyride-beacon-animation\");\n if (style == null ? void 0 : style.parentNode) {\n style.parentNode.removeChild(style);\n }\n }\n render() {\n const {\n beaconComponent,\n continuous,\n index,\n isLastStep,\n locale,\n onClickOrHover,\n size,\n step,\n styles\n } = this.props;\n const title = is4.string(locale.open) ? locale.open : innerText(locale.open);\n const sharedProps = {\n \"aria-label\": title,\n onClick: onClickOrHover,\n onMouseEnter: onClickOrHover,\n ref: this.setBeaconRef,\n title\n };\n let component;\n if (beaconComponent) {\n const BeaconComponent = beaconComponent;\n component = /* @__PURE__ */ React4.createElement(\n BeaconComponent,\n {\n continuous,\n index,\n isLastStep,\n size,\n step,\n ...sharedProps\n }\n );\n } else {\n component = /* @__PURE__ */ React4.createElement(\n \"button\",\n {\n key: \"JoyrideBeacon\",\n className: \"react-joyride__beacon\",\n \"data-test-id\": \"button-beacon\",\n style: styles.beacon,\n type: \"button\",\n ...sharedProps\n },\n /* @__PURE__ */ React4.createElement(\"span\", { style: styles.beaconInner }),\n /* @__PURE__ */ React4.createElement(\"span\", { style: styles.beaconOuter })\n );\n }\n return component;\n }\n};\n\n// src/components/Tooltip/index.tsx\nimport * as React7 from \"react\";\n\n// src/components/Tooltip/Container.tsx\nimport * as React6 from \"react\";\n\n// src/components/Tooltip/CloseButton.tsx\nimport React5 from \"react\";\nfunction JoyrideTooltipCloseButton({ styles, ...props }) {\n const { color, height, width, ...style } = styles;\n return /* @__PURE__ */ React5.createElement(\"button\", { style, type: \"button\", ...props }, /* @__PURE__ */ React5.createElement(\n \"svg\",\n {\n height: typeof height === \"number\" ? `${height}px` : height,\n preserveAspectRatio: \"xMidYMid\",\n version: \"1.1\",\n viewBox: \"0 0 18 18\",\n width: typeof width === \"number\" ? `${width}px` : width,\n xmlns: \"http://www.w3.org/2000/svg\"\n },\n /* @__PURE__ */ React5.createElement(\"g\", null, /* @__PURE__ */ React5.createElement(\n \"path\",\n {\n d: \"M8.13911129,9.00268191 L0.171521827,17.0258467 C-0.0498027049,17.248715 -0.0498027049,17.6098394 0.171521827,17.8327545 C0.28204354,17.9443526 0.427188206,17.9998706 0.572051765,17.9998706 C0.71714958,17.9998706 0.862013139,17.9443526 0.972581703,17.8327545 L9.0000937,9.74924618 L17.0276057,17.8327545 C17.1384085,17.9443526 17.2832721,17.9998706 17.4281356,17.9998706 C17.5729992,17.9998706 17.718097,17.9443526 17.8286656,17.8327545 C18.0499901,17.6098862 18.0499901,17.2487618 17.8286656,17.0258467 L9.86135722,9.00268191 L17.8340066,0.973848225 C18.0553311,0.750979934 18.0553311,0.389855532 17.8340066,0.16694039 C17.6126821,-0.0556467968 17.254037,-0.0556467968 17.0329467,0.16694039 L9.00042166,8.25611765 L0.967006424,0.167268345 C0.745681892,-0.0553188426 0.387317931,-0.0553188426 0.165993399,0.167268345 C-0.0553311331,0.390136635 -0.0553311331,0.751261038 0.165993399,0.974176179 L8.13920499,9.00268191 L8.13911129,9.00268191 Z\",\n fill: color\n }\n ))\n ));\n}\nvar CloseButton_default = JoyrideTooltipCloseButton;\n\n// src/components/Tooltip/Container.tsx\nfunction JoyrideTooltipContainer(props) {\n const {\n backProps,\n closeProps,\n continuous,\n index,\n isLastStep,\n primaryProps,\n size,\n skipProps,\n step,\n tooltipProps\n } = props;\n const {\n content,\n hideBackButton,\n hideCloseButton,\n hideFooter,\n locale,\n showProgress,\n showSkipButton,\n styles,\n title\n } = step;\n const { back, close, last, next, skip } = locale;\n const output = {\n primary: close\n };\n if (continuous) {\n output.primary = isLastStep ? last : next;\n if (showProgress) {\n output.primary = /* @__PURE__ */ React6.createElement(\"span\", null, output.primary, \" (\", index + 1, \"/\", size, \")\");\n }\n }\n if (output.primary) {\n output.primary = /* @__PURE__ */ React6.createElement(\n \"button\",\n {\n \"data-test-id\": \"button-primary\",\n style: styles.buttonNext,\n type: \"button\",\n ...primaryProps\n },\n output.primary\n );\n }\n if (showSkipButton && !isLastStep) {\n output.skip = /* @__PURE__ */ React6.createElement(\n \"button\",\n {\n \"aria-live\": \"off\",\n \"data-test-id\": \"button-skip\",\n style: styles.buttonSkip,\n type: \"button\",\n ...skipProps\n },\n skip\n );\n }\n if (!hideBackButton && index > 0) {\n output.back = /* @__PURE__ */ React6.createElement(\"button\", { \"data-test-id\": \"button-back\", style: styles.buttonBack, type: \"button\", ...backProps }, back);\n }\n output.close = !hideCloseButton && /* @__PURE__ */ React6.createElement(CloseButton_default, { \"data-test-id\": \"button-close\", styles: styles.buttonClose, ...closeProps });\n return /* @__PURE__ */ React6.createElement(\n \"div\",\n {\n key: \"JoyrideTooltip\",\n \"aria-label\": getText(title) || getText(content),\n className: \"react-joyride__tooltip\",\n style: styles.tooltip,\n ...tooltipProps\n },\n /* @__PURE__ */ React6.createElement(\"div\", { style: styles.tooltipContainer }, title && /* @__PURE__ */ React6.createElement(\"h1\", { \"aria-label\": getText(title), style: styles.tooltipTitle }, title), /* @__PURE__ */ React6.createElement(\"div\", { style: styles.tooltipContent }, content)),\n !hideFooter && /* @__PURE__ */ React6.createElement(\"div\", { style: styles.tooltipFooter }, /* @__PURE__ */ React6.createElement(\"div\", { style: styles.tooltipFooterSpacer }, output.skip), output.back, output.primary),\n output.close\n );\n}\nvar Container_default = JoyrideTooltipContainer;\n\n// src/components/Tooltip/index.tsx\nvar JoyrideTooltip = class extends React7.Component {\n constructor() {\n super(...arguments);\n __publicField(this, \"handleClickBack\", (event) => {\n event.preventDefault();\n const { helpers } = this.props;\n helpers.prev();\n });\n __publicField(this, \"handleClickClose\", (event) => {\n event.preventDefault();\n const { helpers } = this.props;\n helpers.close(\"button_close\");\n });\n __publicField(this, \"handleClickPrimary\", (event) => {\n event.preventDefault();\n const { continuous, helpers } = this.props;\n if (!continuous) {\n helpers.close(\"button_primary\");\n return;\n }\n helpers.next();\n });\n __publicField(this, \"handleClickSkip\", (event) => {\n event.preventDefault();\n const { helpers } = this.props;\n helpers.skip();\n });\n __publicField(this, \"getElementsProps\", () => {\n const { continuous, isLastStep, setTooltipRef, step } = this.props;\n const back = getText(step.locale.back);\n const close = getText(step.locale.close);\n const last = getText(step.locale.last);\n const next = getText(step.locale.next);\n const skip = getText(step.locale.skip);\n let primaryText = continuous ? next : close;\n if (isLastStep) {\n primaryText = last;\n }\n return {\n backProps: {\n \"aria-label\": back,\n \"data-action\": \"back\",\n onClick: this.handleClickBack,\n role: \"button\",\n title: back\n },\n closeProps: {\n \"aria-label\": close,\n \"data-action\": \"close\",\n onClick: this.handleClickClose,\n role: \"button\",\n title: close\n },\n primaryProps: {\n \"aria-label\": primaryText,\n \"data-action\": \"primary\",\n onClick: this.handleClickPrimary,\n role: \"button\",\n title: primaryText\n },\n skipProps: {\n \"aria-label\": skip,\n \"data-action\": \"skip\",\n onClick: this.handleClickSkip,\n role: \"button\",\n title: skip\n },\n tooltipProps: {\n \"aria-modal\": true,\n ref: setTooltipRef,\n role: \"alertdialog\"\n }\n };\n });\n }\n render() {\n const { continuous, index, isLastStep, setTooltipRef, size, step } = this.props;\n const { beaconComponent, tooltipComponent, ...cleanStep } = step;\n let component;\n if (tooltipComponent) {\n const renderProps = {\n ...this.getElementsProps(),\n continuous,\n index,\n isLastStep,\n size,\n step: cleanStep,\n setTooltipRef\n };\n const TooltipComponent = tooltipComponent;\n component = /* @__PURE__ */ React7.createElement(TooltipComponent, { ...renderProps });\n } else {\n component = /* @__PURE__ */ React7.createElement(\n Container_default,\n {\n ...this.getElementsProps(),\n continuous,\n index,\n isLastStep,\n size,\n step\n }\n );\n }\n return component;\n }\n};\n\n// src/components/Step.tsx\nvar JoyrideStep = class extends React8.Component {\n constructor() {\n super(...arguments);\n __publicField(this, \"scope\", null);\n __publicField(this, \"tooltip\", null);\n /**\n * Beacon click/hover event listener\n */\n __publicField(this, \"handleClickHoverBeacon\", (event) => {\n const { step, store } = this.props;\n if (event.type === \"mouseenter\" && step.event !== \"hover\") {\n return;\n }\n store.update({ lifecycle: LIFECYCLE.TOOLTIP });\n });\n __publicField(this, \"setTooltipRef\", (element) => {\n this.tooltip = element;\n });\n __publicField(this, \"setPopper\", (popper, type) => {\n var _a;\n const { action, lifecycle, step, store } = this.props;\n if (type === \"wrapper\") {\n store.setPopper(\"beacon\", popper);\n } else {\n store.setPopper(\"tooltip\", popper);\n }\n if (store.getPopper(\"beacon\") && store.getPopper(\"tooltip\") && lifecycle === LIFECYCLE.INIT) {\n store.update({\n action,\n lifecycle: LIFECYCLE.READY\n });\n }\n if ((_a = step.floaterProps) == null ? void 0 : _a.getPopper) {\n step.floaterProps.getPopper(popper, type);\n }\n });\n __publicField(this, \"renderTooltip\", (renderProps) => {\n const { continuous, helpers, index, size, step } = this.props;\n return /* @__PURE__ */ React8.createElement(\n JoyrideTooltip,\n {\n continuous,\n helpers,\n index,\n isLastStep: index + 1 === size,\n setTooltipRef: this.setTooltipRef,\n size,\n step,\n ...renderProps\n }\n );\n });\n }\n componentDidMount() {\n const { debug, index } = this.props;\n log({\n title: `step:${index}`,\n data: [{ key: \"props\", value: this.props }],\n debug\n });\n }\n componentDidUpdate(previousProps) {\n var _a;\n const {\n action,\n callback,\n continuous,\n controlled,\n debug,\n helpers,\n index,\n lifecycle,\n status,\n step,\n store\n } = this.props;\n const { changed, changedFrom } = treeChanges2(previousProps, this.props);\n const state = helpers.info();\n const skipBeacon = continuous && action !== ACTIONS.CLOSE && (index > 0 || action === ACTIONS.PREV);\n const hasStoreChanged = changed(\"action\") || changed(\"index\") || changed(\"lifecycle\") || changed(\"status\");\n const isInitial = changedFrom(\"lifecycle\", [LIFECYCLE.TOOLTIP, LIFECYCLE.INIT], LIFECYCLE.INIT);\n const isAfterAction = changed(\"action\", [\n ACTIONS.NEXT,\n ACTIONS.PREV,\n ACTIONS.SKIP,\n ACTIONS.CLOSE\n ]);\n const isControlled = controlled && index === previousProps.index;\n if (isAfterAction && (isInitial || isControlled)) {\n callback({\n ...state,\n index: previousProps.index,\n lifecycle: LIFECYCLE.COMPLETE,\n step: previousProps.step,\n type: EVENTS.STEP_AFTER\n });\n }\n if (step.placement === \"center\" && status === STATUS.RUNNING && changed(\"index\") && action !== ACTIONS.START && lifecycle === LIFECYCLE.INIT) {\n store.update({ lifecycle: LIFECYCLE.READY });\n }\n if (hasStoreChanged) {\n const element = getElement(step.target);\n const elementExists = !!element;\n const hasRenderedTarget = elementExists && isElementVisible(element);\n if (hasRenderedTarget) {\n if (changedFrom(\"status\", STATUS.READY, STATUS.RUNNING) || changedFrom(\"lifecycle\", LIFECYCLE.INIT, LIFECYCLE.READY)) {\n callback({\n ...state,\n step,\n type: EVENTS.STEP_BEFORE\n });\n }\n } else {\n console.warn(elementExists ? \"Target not visible\" : \"Target not mounted\", step);\n callback({\n ...state,\n type: EVENTS.TARGET_NOT_FOUND,\n step\n });\n if (!controlled) {\n store.update({ index: index + (action === ACTIONS.PREV ? -1 : 1) });\n }\n }\n }\n if (changedFrom(\"lifecycle\", LIFECYCLE.INIT, LIFECYCLE.READY)) {\n store.update({\n lifecycle: hideBeacon(step) || skipBeacon ? LIFECYCLE.TOOLTIP : LIFECYCLE.BEACON\n });\n }\n if (changed(\"index\")) {\n log({\n title: `step:${lifecycle}`,\n data: [{ key: \"props\", value: this.props }],\n debug\n });\n }\n if (changed(\"lifecycle\", LIFECYCLE.BEACON)) {\n callback({\n ...state,\n step,\n type: EVENTS.BEACON\n });\n }\n if (changed(\"lifecycle\", LIFECYCLE.TOOLTIP)) {\n callback({\n ...state,\n step,\n type: EVENTS.TOOLTIP\n });\n if (this.tooltip) {\n this.scope = new Scope(this.tooltip, { selector: \"[data-action=primary]\" });\n this.scope.setFocus();\n }\n }\n if (changedFrom(\"lifecycle\", [LIFECYCLE.TOOLTIP, LIFECYCLE.INIT], LIFECYCLE.INIT)) {\n (_a = this.scope) == null ? void 0 : _a.removeScope();\n store.cleanupPoppers();\n }\n }\n componentWillUnmount() {\n var _a;\n (_a = this.scope) == null ? void 0 : _a.removeScope();\n }\n get open() {\n const { lifecycle, step } = this.props;\n return hideBeacon(step) || lifecycle === LIFECYCLE.TOOLTIP;\n }\n render() {\n const { continuous, debug, index, nonce, shouldScroll: shouldScroll2, size, step } = this.props;\n const target = getElement(step.target);\n if (!validateStep(step) || !is5.domElement(target)) {\n return null;\n }\n return /* @__PURE__ */ React8.createElement(\"div\", { key: `JoyrideStep-${index}`, className: \"react-joyride__step\" }, /* @__PURE__ */ React8.createElement(\n Floater,\n {\n ...step.floaterProps,\n component: this.renderTooltip,\n debug,\n getPopper: this.setPopper,\n id: `react-joyride-step-${index}`,\n open: this.open,\n placement: step.placement,\n target: step.target\n },\n /* @__PURE__ */ React8.createElement(\n JoyrideBeacon,\n {\n beaconComponent: step.beaconComponent,\n continuous,\n index,\n isLastStep: index + 1 === size,\n locale: step.locale,\n nonce,\n onClickOrHover: this.handleClickHoverBeacon,\n shouldFocus: shouldScroll2,\n size,\n step,\n styles: step.styles\n }\n )\n ));\n }\n};\n\n// src/components/index.tsx\nvar Joyride = class extends React9.Component {\n constructor(props) {\n super(props);\n __publicField(this, \"helpers\");\n __publicField(this, \"store\");\n /**\n * Trigger the callback.\n */\n __publicField(this, \"callback\", (data) => {\n const { callback } = this.props;\n if (is6.function(callback)) {\n callback(data);\n }\n });\n /**\n * Keydown event listener\n */\n __publicField(this, \"handleKeyboard\", (event) => {\n const { index, lifecycle } = this.state;\n const { steps } = this.props;\n const step = steps[index];\n if (lifecycle === LIFECYCLE.TOOLTIP) {\n if (event.code === \"Escape\" && step && !step.disableCloseOnEsc) {\n this.store.close(\"keyboard\");\n }\n }\n });\n __publicField(this, \"handleClickOverlay\", () => {\n const { index } = this.state;\n const { steps } = this.props;\n const step = getMergedStep(this.props, steps[index]);\n if (!step.disableOverlayClose) {\n this.helpers.close(\"overlay\");\n }\n });\n /**\n * Sync the store with the component's state\n */\n __publicField(this, \"syncState\", (state) => {\n this.setState(state);\n });\n const { debug, getHelpers, run, stepIndex } = props;\n this.store = createStore({\n ...props,\n controlled: run && is6.number(stepIndex)\n });\n this.helpers = this.store.getHelpers();\n const { addListener } = this.store;\n log({\n title: \"init\",\n data: [\n { key: \"props\", value: this.props },\n { key: \"state\", value: this.state }\n ],\n debug\n });\n addListener(this.syncState);\n if (getHelpers) {\n getHelpers(this.helpers);\n }\n this.state = this.store.getState();\n }\n componentDidMount() {\n if (!canUseDOM()) {\n return;\n }\n const { debug, disableCloseOnEsc, run, steps } = this.props;\n const { start } = this.store;\n if (validateSteps(steps, debug) && run) {\n start();\n }\n if (!disableCloseOnEsc) {\n document.body.addEventListener(\"keydown\", this.handleKeyboard, { passive: true });\n }\n }\n componentDidUpdate(previousProps, previousState) {\n if (!canUseDOM()) {\n return;\n }\n const { action, controlled, index, lifecycle, status } = this.state;\n const { debug, run, stepIndex, steps } = this.props;\n const { stepIndex: previousStepIndex, steps: previousSteps } = previousProps;\n const { reset, setSteps, start, stop, update } = this.store;\n const { changed: changedProps } = treeChanges3(previousProps, this.props);\n const { changed, changedFrom } = treeChanges3(previousState, this.state);\n const step = getMergedStep(this.props, steps[index]);\n const stepsChanged = !isEqual(previousSteps, steps);\n const stepIndexChanged = is6.number(stepIndex) && changedProps(\"stepIndex\");\n const target = getElement(step.target);\n if (stepsChanged) {\n if (validateSteps(steps, debug)) {\n setSteps(steps);\n } else {\n console.warn(\"Steps are not valid\", steps);\n }\n }\n if (changedProps(\"run\")) {\n if (run) {\n start(stepIndex);\n } else {\n stop();\n }\n }\n if (stepIndexChanged) {\n let nextAction = is6.number(previousStepIndex) && previousStepIndex < stepIndex ? ACTIONS.NEXT : ACTIONS.PREV;\n if (action === ACTIONS.STOP) {\n nextAction = ACTIONS.START;\n }\n if (![STATUS.FINISHED, STATUS.SKIPPED].includes(status)) {\n update({\n action: action === ACTIONS.CLOSE ? ACTIONS.CLOSE : nextAction,\n index: stepIndex,\n lifecycle: LIFECYCLE.INIT\n });\n }\n }\n if (!controlled && status === STATUS.RUNNING && index === 0 && !target) {\n this.store.update({ index: index + 1 });\n this.callback({\n ...this.state,\n type: EVENTS.TARGET_NOT_FOUND,\n step\n });\n }\n const callbackData = {\n ...this.state,\n index,\n step\n };\n const isAfterAction = changed(\"action\", [\n ACTIONS.NEXT,\n ACTIONS.PREV,\n ACTIONS.SKIP,\n ACTIONS.CLOSE\n ]);\n if (isAfterAction && changed(\"status\", STATUS.PAUSED)) {\n const previousStep = getMergedStep(this.props, steps[previousState.index]);\n this.callback({\n ...callbackData,\n index: previousState.index,\n lifecycle: LIFECYCLE.COMPLETE,\n step: previousStep,\n type: EVENTS.STEP_AFTER\n });\n }\n if (changed(\"status\", [STATUS.FINISHED, STATUS.SKIPPED])) {\n const previousStep = getMergedStep(this.props, steps[previousState.index]);\n if (!controlled) {\n this.callback({\n ...callbackData,\n index: previousState.index,\n lifecycle: LIFECYCLE.COMPLETE,\n step: previousStep,\n type: EVENTS.STEP_AFTER\n });\n }\n this.callback({\n ...callbackData,\n type: EVENTS.TOUR_END,\n // Return the last step when the tour is finished\n step: previousStep,\n index: previousState.index\n });\n reset();\n } else if (changedFrom(\"status\", [STATUS.IDLE, STATUS.READY], STATUS.RUNNING)) {\n this.callback({\n ...callbackData,\n type: EVENTS.TOUR_START\n });\n } else if (changed(\"status\") || changed(\"action\", ACTIONS.RESET)) {\n this.callback({\n ...callbackData,\n type: EVENTS.TOUR_STATUS\n });\n }\n this.scrollToStep(previousState);\n if (step.placement === \"center\" && status === STATUS.RUNNING && lifecycle === LIFECYCLE.INIT) {\n this.store.update({ lifecycle: LIFECYCLE.READY });\n }\n }\n componentWillUnmount() {\n const { disableCloseOnEsc } = this.props;\n if (!disableCloseOnEsc) {\n document.body.removeEventListener(\"keydown\", this.handleKeyboard);\n }\n }\n scrollToStep(previousState) {\n const { index, lifecycle, status } = this.state;\n const {\n debug,\n disableScrollParentFix = false,\n scrollDuration,\n scrollOffset = 20,\n scrollToFirstStep = false,\n steps\n } = this.props;\n const step = getMergedStep(this.props, steps[index]);\n const target = getElement(step.target);\n const shouldScrollToStep = shouldScroll({\n isFirstStep: index === 0,\n lifecycle,\n previousLifecycle: previousState.lifecycle,\n scrollToFirstStep,\n step,\n target\n });\n if (status === STATUS.RUNNING && shouldScrollToStep) {\n const hasCustomScroll = hasCustomScrollParent(target, disableScrollParentFix);\n const scrollParent2 = getScrollParent(target, disableScrollParentFix);\n let scrollY = Math.floor(getScrollTo(target, scrollOffset, disableScrollParentFix)) || 0;\n log({\n title: \"scrollToStep\",\n data: [\n { key: \"index\", value: index },\n { key: \"lifecycle\", value: lifecycle },\n { key: \"status\", value: status }\n ],\n debug\n });\n const beaconPopper = this.store.getPopper(\"beacon\");\n const tooltipPopper = this.store.getPopper(\"tooltip\");\n if (lifecycle === LIFECYCLE.BEACON && beaconPopper) {\n const { offsets, placement } = beaconPopper;\n if (![\"bottom\"].includes(placement) && !hasCustomScroll) {\n scrollY = Math.floor(offsets.popper.top - scrollOffset);\n }\n } else if (lifecycle === LIFECYCLE.TOOLTIP && tooltipPopper) {\n const { flipped, offsets, placement } = tooltipPopper;\n if ([\"top\", \"right\", \"left\"].includes(placement) && !flipped && !hasCustomScroll) {\n scrollY = Math.floor(offsets.popper.top - scrollOffset);\n } else {\n scrollY -= step.spotlightPadding;\n }\n }\n scrollY = scrollY >= 0 ? scrollY : 0;\n if (status === STATUS.RUNNING) {\n scrollTo(scrollY, { element: scrollParent2, duration: scrollDuration }).then(\n () => {\n setTimeout(() => {\n var _a;\n (_a = this.store.getPopper(\"tooltip\")) == null ? void 0 : _a.instance.update();\n }, 10);\n }\n );\n }\n }\n }\n render() {\n if (!canUseDOM()) {\n return null;\n }\n const { index, lifecycle, status } = this.state;\n const {\n continuous = false,\n debug = false,\n nonce,\n scrollToFirstStep = false,\n steps\n } = this.props;\n const isRunning = status === STATUS.RUNNING;\n const content = {};\n if (isRunning && steps[index]) {\n const step = getMergedStep(this.props, steps[index]);\n content.step = /* @__PURE__ */ React9.createElement(\n JoyrideStep,\n {\n ...this.state,\n callback: this.callback,\n continuous,\n debug,\n helpers: this.helpers,\n nonce,\n shouldScroll: !step.disableScrolling && (index !== 0 || scrollToFirstStep),\n step,\n store: this.store\n }\n );\n content.overlay = /* @__PURE__ */ React9.createElement(JoyridePortal, { id: \"react-joyride-portal\" }, /* @__PURE__ */ React9.createElement(\n JoyrideOverlay,\n {\n ...step,\n continuous,\n debug,\n lifecycle,\n onClickOverlay: this.handleClickOverlay\n }\n ));\n }\n return /* @__PURE__ */ React9.createElement(\"div\", { className: \"react-joyride\" }, content.step, content.overlay);\n }\n};\n__publicField(Joyride, \"defaultProps\", defaultProps);\nvar components_default = Joyride;\nexport {\n ACTIONS,\n EVENTS,\n LIFECYCLE,\n ORIGIN,\n STATUS,\n components_default as default\n};\n//# sourceMappingURL=index.mjs.map","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\n/**\n * This function find the point on the target element using the rect coordinat.\n * This point will serve as an anchor for rect to be attached\n *\n * This function assume that rect side will overlap the target facing side. If not\n * the case the point would be outside the target rect. For now we don't need to\n * handle this situation.\n * @param rect\n * @param targetRect\n */\nexport function findAnchor(rect: DOMRect, targetRect: DOMRect, offset: number) {\n const offestTop = rect.top < targetRect.top ? targetRect.top - rect.top : 0;\n const offestLeft = rect.left < targetRect.left ? targetRect.left - rect.left : 0;\n\n if (targetRect.right < rect.left) {\n const left = targetRect.right - rect.left - offset / 2;\n const top =\n (Math.min(targetRect.bottom, rect.bottom) - Math.max(targetRect.top, rect.top)) / 2 -\n offset / 2 +\n offestTop;\n const rotate = '0deg';\n const width = -left - offset;\n\n return { left, top, rotate, width };\n } else if (targetRect.left > rect.right) {\n const left = rect.width + targetRect.left - rect.right + offset / 2;\n const top =\n (Math.min(targetRect.bottom, rect.bottom) - Math.max(targetRect.top, rect.top)) / 2 -\n offset / 2 +\n offestTop;\n const rotate = '180deg';\n const width = left - rect.width;\n return { left, top, rotate, width };\n } else if (targetRect.bottom < rect.top) {\n const left =\n (Math.min(targetRect.right, rect.right) - Math.max(targetRect.left, rect.left)) / 2 -\n offset / 2 +\n offestLeft;\n const top = targetRect.bottom - rect.top - offset / 2;\n const rotate = '90deg';\n const width = -top - offset;\n return { left, top, rotate, width };\n } else if (targetRect.top > rect.bottom) {\n const left =\n (Math.min(targetRect.right, rect.right) - Math.max(targetRect.left, rect.left)) / 2 -\n offset / 2 +\n offestLeft;\n const top = targetRect.top - rect.top - offset / 2;\n const rotate = '-90deg';\n const width = top - rect.height;\n return { left, top, rotate, width };\n }\n\n // When rectagle overlap\n return { left: 0, top: 0, rotate: '0deg', width: 0 };\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport {\n Button,\n ButtonIcon,\n ButtonVariety,\n IconX,\n LinkStandalone,\n TooltipProvider,\n} from '@sonarsource/echoes-react';\nimport React from 'react';\nimport { useIntl } from 'react-intl';\nimport ReactJoyride, {\n Props as JoyrideProps,\n Step as JoyrideStep,\n TooltipRenderProps,\n} from 'react-joyride';\nimport { LinkProps } from 'react-router-dom';\nimport tw from 'twin.macro';\nimport { GLOBAL_POPUP_Z_INDEX, PopupZLevel, themeColor } from '../helpers';\nimport { findAnchor } from '../helpers/dom';\nimport { PopupWrapper } from './popups';\n\ntype Placement = 'left' | 'right' | 'top' | 'bottom' | 'center';\n\nexport interface SpotlightTourProps extends Omit<JoyrideProps, 'steps'> {\n actionLabel?: string;\n actionPath?: LinkProps['to'];\n backLabel?: string;\n closeLabel?: string;\n nextLabel?: string;\n skipLabel?: string;\n stepXofYLabel?: (x: number, y: number) => string;\n steps: SpotlightTourStep[];\n width?: number;\n}\n\nexport type SpotlightTourStep = JoyrideStep & {\n placement?: Placement;\n};\n\n// React Joyride needs a \"global\" property to be defined on window. It will throw an error if it cannot find it.\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n(window as any).global = (window as any).global ?? {};\n\nconst PULSE_SIZE = 8;\nconst DEFAULT_PLACEMENT = 'bottom';\nconst DEFAULT_WIDTH = 315;\nconst defultRect = new DOMRect(0, 0, 0, 0);\n\nfunction TooltipComponent({\n actionLabel,\n actionPath,\n continuous,\n index,\n step,\n size,\n isLastStep,\n backProps,\n skipProps: { 'aria-label': skipPropsAriaLabel, ...skipProps },\n closeProps,\n primaryProps,\n stepXofYLabel,\n tooltipProps,\n width = DEFAULT_WIDTH,\n}: TooltipRenderProps & {\n actionLabel?: string;\n actionPath?: LinkProps['to'];\n step: SpotlightTourStep;\n stepXofYLabel: SpotlightTourProps['stepXofYLabel'];\n width?: number;\n}) {\n const [timeStamp, setTimeStamp] = React.useState(0);\n const [ref, setRef] = React.useState<HTMLDivElement | null>(null);\n\n const placement = step.placement ?? DEFAULT_PLACEMENT;\n const intl = useIntl();\n\n React.useEffect(() => {\n const target =\n typeof step.target === 'string' ? document.querySelector(step.target) : step.target;\n // To show the highlight, target has to be HighlightRing from design system\n target?.classList.add('active');\n\n return () => {\n target?.classList.remove('active');\n };\n }, [step]);\n\n React.useEffect(() => {\n const updateScroll = (event: Event) => {\n // The spotlight is doint transition that would look strange when we\n // re-render arrow right away.\n setTimeout(() => {\n setTimeStamp(event.timeStamp);\n }, 0);\n };\n\n document.addEventListener('scroll', updateScroll, { capture: true });\n\n return () => {\n document.removeEventListener('scroll', updateScroll, { capture: true });\n };\n }, []);\n\n const rect = ref?.parentElement?.getBoundingClientRect();\n const targetElement =\n typeof step.target === 'string'\n ? document.querySelector<HTMLElement>(step.target)\n : step.target;\n const targetRect = targetElement?.getBoundingClientRect();\n\n /**\n * Preventing click events from bubbling to avoid closing other popups, in cases when the guide\n * is shown simultaneously with other popups.\n */\n function handleClick(e: React.MouseEvent) {\n e.stopPropagation();\n }\n\n const arrowPosition = React.useMemo(\n () => findAnchor(rect ?? defultRect, targetRect ?? defultRect, PULSE_SIZE),\n [rect, targetRect, timeStamp],\n );\n\n return (\n <StyledPopupWrapper\n className=\"sw-p-3 sw-typo-default sw-relative sw-border-0\"\n onClick={handleClick}\n style={{ width }}\n zLevel={PopupZLevel.Absolute}\n {...tooltipProps}\n >\n {placement !== 'center' && (\n <SpotlightArrowWrapper left={arrowPosition.left} top={arrowPosition.top}>\n <SpotlightArrow rotate={arrowPosition.rotate} width={arrowPosition.width} />\n </SpotlightArrowWrapper>\n )}\n\n <div\n className=\"sw-flex sw-justify-between\"\n ref={(r) => {\n setRef(r);\n setTimeout(() => {\n setTimeStamp(1);\n }, 100);\n }}\n >\n <strong className=\"sw-typo-lg-semibold sw-mb-2\">{step.title}</strong>\n <ButtonIcon\n Icon={IconX}\n ariaLabel={skipPropsAriaLabel}\n className=\"sw--mt-2 sw--mr-2\"\n variety={ButtonVariety.DefaultGhost}\n {...skipProps}\n />\n </div>\n <div>{step.content}</div>\n\n {actionLabel && actionPath && (\n <div className=\"sw-pt-4\">\n <LinkStandalone to={actionPath}>{actionLabel}</LinkStandalone>\n </div>\n )}\n\n {!step.hideFooter && (\n <div className=\"sw-flex sw-justify-between sw-items-center sw-mt-4\">\n {(stepXofYLabel || size > 1) && (\n <strong>\n {stepXofYLabel\n ? stepXofYLabel(index + 1, size)\n : intl.formatMessage({ id: 'guiding.step_x_of_y' }, { '0': index + 1, '1': size })}\n </strong>\n )}\n <span />\n <div>\n {index > 0 && (\n <Button className=\"sw-mr-4\" variety={ButtonVariety.DefaultGhost} {...backProps}>\n {backProps.title}\n </Button>\n )}\n {continuous && !isLastStep && (\n <Button variety={ButtonVariety.Primary} {...primaryProps}>\n {primaryProps.title}\n </Button>\n )}\n {(!continuous || isLastStep) && (\n <Button variety={ButtonVariety.Primary} {...closeProps}>\n {closeProps.title}\n </Button>\n )}\n </div>\n </div>\n )}\n </StyledPopupWrapper>\n );\n}\n\nexport function SpotlightTour(props: SpotlightTourProps) {\n const {\n actionLabel,\n actionPath,\n steps,\n skipLabel,\n backLabel,\n closeLabel,\n nextLabel,\n stepXofYLabel,\n disableOverlay = true,\n width,\n ...otherProps\n } = props;\n\n const intl = useIntl();\n\n return (\n <ReactJoyride\n disableOverlay={disableOverlay}\n floaterProps={{\n styles: {\n floater: {\n zIndex: GLOBAL_POPUP_Z_INDEX,\n },\n },\n hideArrow: true,\n offset: 0,\n }}\n locale={{\n skip: skipLabel ?? intl.formatMessage({ id: 'skip' }),\n back: backLabel ?? intl.formatMessage({ id: 'go_back' }),\n close: closeLabel ?? intl.formatMessage({ id: 'close' }),\n next: nextLabel ?? intl.formatMessage({ id: 'next' }),\n }}\n scrollDuration={0}\n scrollOffset={250}\n steps={steps.map((s) => ({\n ...s,\n disableScrolling: true,\n disableBeacon: true,\n floaterProps: {\n disableAnimation: true,\n offset: 0,\n },\n }))}\n tooltipComponent={(\n tooltipProps: React.PropsWithChildren<TooltipRenderProps & { step: SpotlightTourStep }>,\n ) => (\n <TooltipProvider>\n <TooltipComponent\n actionLabel={actionLabel}\n actionPath={actionPath}\n stepXofYLabel={stepXofYLabel}\n width={width}\n {...tooltipProps}\n />\n </TooltipProvider>\n )}\n {...otherProps}\n />\n );\n}\n\nconst StyledPopupWrapper = styled(PopupWrapper)`\n background-color: ${themeColor('spotlightBackgroundColor')};\n ${tw`sw-overflow-visible`};\n ${tw`sw-rounded-1`};\n`;\n\nconst SpotlightArrowWrapper = styled.div<{ left: number; top: number }>`\n ${tw`sw-absolute`}\n ${tw`sw-z-popup`}\n\n width: ${PULSE_SIZE}px;\n height: ${PULSE_SIZE}px;\n left: ${({ left }) => left}px;\n top: ${({ top }) => top}px;\n`;\n\nconst pulseKeyFrame = keyframes`\n 0% { transform: scale(.50) }\n 80%, 100% { opacity: 0 }\n`;\n\nconst SpotlightArrow = styled.div<{ rotate: string; width: number }>`\n ${tw`sw-w-full sw-h-full`}\n ${tw`sw-rounded-pill`}\n background: ${themeColor('spotlightPulseBackground')};\n opacity: 1;\n transform: rotate(${({ rotate }) => rotate});\n\n &::after {\n ${tw`sw-block sw-absolute`}\n ${tw`sw-rounded-pill`}\n\n top: -100%;\n left: -100%;\n width: 300%;\n height: 300%;\n background-color: ${themeColor('spotlightPulseBackground')};\n animation: ${pulseKeyFrame} 1.25s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;\n content: '';\n }\n\n &::before {\n ${tw`sw-block sw-absolute`}\n\n width: ${({ width }) => width}px;\n height: 0.125rem;\n background-color: ${themeColor('spotlightPulseBackground')};\n left: 100%;\n top: calc(50% - calc(0.125rem / 2));\n transition:\n margin 0.3s,\n left 0.3s;\n content: '';\n }\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { Children, ElementType, Fragment, HtmlHTMLAttributes, ReactNode } from 'react';\nimport tw from 'twin.macro';\nimport { themeBorder, themeColor } from '../../helpers/theme';\nimport { isDefined } from '../../helpers/types';\n\ninterface Props extends HtmlHTMLAttributes<HTMLDivElement> {\n as?: ElementType;\n children: ReactNode;\n className?: string;\n}\n\nexport function SubnavigationGroup({ as, className, children, ...htmlProps }: Readonly<Props>) {\n const childrenArray = Children.toArray(children).filter(isDefined);\n return (\n <Group as={as} className={className} {...htmlProps}>\n {childrenArray.map((child, index) => (\n <Fragment key={index}>\n {child}\n {index < childrenArray.length - 1 && <Separator />}\n </Fragment>\n ))}\n </Group>\n );\n}\n\nconst Group = styled.div`\n ${tw`sw-relative`}\n ${tw`sw-flex sw-flex-col`}\n ${tw`sw-w-full`}\n\n background-color: ${themeColor('subnavigation')};\n border: ${themeBorder('default', 'subnavigationBorder')};\n`;\n\nconst Separator = styled.div`\n ${tw`sw-w-full`}\n\n height: 1px;\n background-color: ${themeColor('subnavigationSeparator')};\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { ReactNode, useCallback, useState } from 'react';\nimport tw from 'twin.macro';\nimport { themeColor, themeContrast } from '../../helpers/theme';\nimport { BareButton } from '../../sonar-aligned/components/buttons';\nimport { OpenCloseIndicator } from '../icons/OpenCloseIndicator';\nimport { SubnavigationGroup } from './SubnavigationGroup';\n\ninterface CommonProps {\n children: ReactNode;\n className?: string;\n header: ReactNode;\n id: string;\n onSetExpanded?: (expanded: boolean) => void;\n}\n\ninterface ControlledProps extends CommonProps {\n expanded: boolean | undefined;\n initExpanded?: never;\n}\n\ninterface UncontrolledProps extends CommonProps {\n expanded?: never;\n initExpanded?: boolean;\n}\n\ntype Props = ControlledProps | UncontrolledProps;\n\nexport function SubnavigationAccordion(props: Props) {\n const { children, className, expanded, header, id, initExpanded, onSetExpanded } = props;\n\n const [innerExpanded, setInnerExpanded] = useState(initExpanded ?? false);\n const finalExpanded = expanded ?? innerExpanded;\n\n const toggleExpanded = useCallback(() => {\n setInnerExpanded(!finalExpanded);\n onSetExpanded?.(!finalExpanded);\n }, [finalExpanded, onSetExpanded]);\n\n return (\n <SubnavigationGroup className={className}>\n <SubnavigationAccordionItem\n aria-controls={`${id}-subnavigation-accordion`}\n aria-expanded={finalExpanded}\n id={`${id}-subnavigation-accordion-button`}\n onClick={toggleExpanded}\n >\n {header}\n <OpenCloseIndicator open={finalExpanded} />\n </SubnavigationAccordionItem>\n {finalExpanded && (\n <section\n aria-labelledby={`${id}-subnavigation-accordion-button`}\n id={`${id}-subnavigation-accordion`}\n >\n {children}\n </section>\n )}\n </SubnavigationGroup>\n );\n}\n\nconst SubnavigationAccordionItem = styled(BareButton)`\n ${tw`sw-flex sw-items-center sw-justify-between`}\n ${tw`sw-box-border`}\n ${tw`sw-typo-semibold`}\n ${tw`sw-p-4`}\n ${tw`sw-w-full`}\n ${tw`sw-cursor-pointer`}\n\n color: ${themeContrast('subnavigation')};\n background-color: ${themeColor('subnavigation')};\n transition: 0.2 ease;\n transition-property: border-left, background-color, color;\n\n &:hover,\n &:focus {\n background-color: ${themeColor('subnavigationHover')};\n }\n`;\nSubnavigationAccordionItem.displayName = 'SubnavigationAccordionItem';\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport tw from 'twin.macro';\nimport { themeColor, themeContrast } from '../../helpers/theme';\n\nexport const SubnavigationHeading = styled.div`\n ${tw`sw-flex sw-items-center sw-justify-between`}\n ${tw`sw-box-border`}\n ${tw`sw-typo-default`}\n ${tw`sw-p-4`}\n ${tw`sw-w-full`}\n\n color: ${themeContrast('subnavigation')};\n background-color: ${themeColor('subnavigation')};\n`;\nSubnavigationHeading.displayName = 'SubnavigationHeading';\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport tw from 'twin.macro';\nimport { themeColor } from '../../helpers/theme';\n\nexport const SubnavigationSubheading = styled.div`\n ${tw`sw-flex`}\n ${tw`sw-box-border`}\n ${tw`sw-typo-default`}\n ${tw`sw-px-4 sw-pt-6 sw-pb-2`}\n ${tw`sw-w-full`}\n\n color: var(--echoes-color-text-subdued);\n background-color: ${themeColor('subnavigationSubheading')};\n`;\nSubnavigationSubheading.displayName = 'SubnavigationSubheading';\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","'use client';\nimport e,{isValidElement as t,useRef as n,useLayoutEffect as o,useEffect as s,cloneElement as a,useSyncExternalStore as r,useState as i}from\"react\";import l from\"clsx\";const c=e=>\"number\"==typeof e&&!isNaN(e),d=e=>\"string\"==typeof e,u=e=>\"function\"==typeof e,p=e=>d(e)||u(e)?e:null,m=e=>t(e)||d(e)||u(e)||c(e);function f(e,t,n){void 0===n&&(n=300);const{scrollHeight:o,style:s}=e;requestAnimationFrame(()=>{s.minHeight=\"initial\",s.height=o+\"px\",s.transition=`all ${n}ms`,requestAnimationFrame(()=>{s.height=\"0\",s.padding=\"0\",s.margin=\"0\",setTimeout(t,n)})})}function g(t){let{enter:a,exit:r,appendPosition:i=!1,collapse:l=!0,collapseDuration:c=300}=t;return function(t){let{children:d,position:u,preventExitTransition:p,done:m,nodeRef:g,isIn:y,playToast:v}=t;const h=i?`${a}--${u}`:a,T=i?`${r}--${u}`:r,E=n(0);return o(()=>{const e=g.current,t=h.split(\" \"),n=o=>{o.target===g.current&&(v(),e.removeEventListener(\"animationend\",n),e.removeEventListener(\"animationcancel\",n),0===E.current&&\"animationcancel\"!==o.type&&e.classList.remove(...t))};e.classList.add(...t),e.addEventListener(\"animationend\",n),e.addEventListener(\"animationcancel\",n)},[]),s(()=>{const e=g.current,t=()=>{e.removeEventListener(\"animationend\",t),l?f(e,m,c):m()};y||(p?t():(E.current=1,e.className+=` ${T}`,e.addEventListener(\"animationend\",t)))},[y]),e.createElement(e.Fragment,null,d)}}function y(e,t){return null!=e?{content:e.content,containerId:e.props.containerId,id:e.props.toastId,theme:e.props.theme,type:e.props.type,data:e.props.data||{},isLoading:e.props.isLoading,icon:e.props.icon,status:t}:{}}const v=new Map;let h=[];const T=new Set,E=e=>T.forEach(t=>t(e)),b=()=>v.size>0;function I(e,t){var n;if(t)return!(null==(n=v.get(t))||!n.isToastActive(e));let o=!1;return v.forEach(t=>{t.isToastActive(e)&&(o=!0)}),o}function _(e,t){m(e)&&(b()||h.push({content:e,options:t}),v.forEach(n=>{n.buildToast(e,t)}))}function C(e,t){v.forEach(n=>{null!=t&&null!=t&&t.containerId?(null==t?void 0:t.containerId)===n.id&&n.toggle(e,null==t?void 0:t.id):n.toggle(e,null==t?void 0:t.id)})}function L(e){const{subscribe:o,getSnapshot:s,setProps:i}=n(function(e){const n=e.containerId||1;return{subscribe(o){const s=function(e,n,o){let s=1,r=0,i=[],l=[],f=[],g=n;const v=new Map,h=new Set,T=()=>{f=Array.from(v.values()),h.forEach(e=>e())},E=e=>{l=null==e?[]:l.filter(t=>t!==e),T()},b=e=>{const{toastId:n,onOpen:s,updateId:a,children:r}=e.props,i=null==a;e.staleId&&v.delete(e.staleId),v.set(n,e),l=[...l,e.props.toastId].filter(t=>t!==e.staleId),T(),o(y(e,i?\"added\":\"updated\")),i&&u(s)&&s(t(r)&&r.props)};return{id:e,props:g,observe:e=>(h.add(e),()=>h.delete(e)),toggle:(e,t)=>{v.forEach(n=>{null!=t&&t!==n.props.toastId||u(n.toggle)&&n.toggle(e)})},removeToast:E,toasts:v,clearQueue:()=>{r-=i.length,i=[]},buildToast:(n,l)=>{if((t=>{let{containerId:n,toastId:o,updateId:s}=t;const a=n?n!==e:1!==e,r=v.has(o)&&null==s;return a||r})(l))return;const{toastId:f,updateId:h,data:I,staleId:_,delay:C}=l,L=()=>{E(f)},N=null==h;N&&r++;const $={...g,style:g.toastStyle,key:s++,...Object.fromEntries(Object.entries(l).filter(e=>{let[t,n]=e;return null!=n})),toastId:f,updateId:h,data:I,closeToast:L,isIn:!1,className:p(l.className||g.toastClassName),bodyClassName:p(l.bodyClassName||g.bodyClassName),progressClassName:p(l.progressClassName||g.progressClassName),autoClose:!l.isLoading&&(w=l.autoClose,k=g.autoClose,!1===w||c(w)&&w>0?w:k),deleteToast(){const e=v.get(f),{onClose:n,children:s}=e.props;u(n)&&n(t(s)&&s.props),o(y(e,\"removed\")),v.delete(f),r--,r<0&&(r=0),i.length>0?b(i.shift()):T()}};var w,k;$.closeButton=g.closeButton,!1===l.closeButton||m(l.closeButton)?$.closeButton=l.closeButton:!0===l.closeButton&&($.closeButton=!m(g.closeButton)||g.closeButton);let P=n;t(n)&&!d(n.type)?P=a(n,{closeToast:L,toastProps:$,data:I}):u(n)&&(P=n({closeToast:L,toastProps:$,data:I}));const M={content:P,props:$,staleId:_};g.limit&&g.limit>0&&r>g.limit&&N?i.push(M):c(C)?setTimeout(()=>{b(M)},C):b(M)},setProps(e){g=e},setToggle:(e,t)=>{v.get(e).toggle=t},isToastActive:e=>l.some(t=>t===e),getSnapshot:()=>g.newestOnTop?f.reverse():f}}(n,e,E);v.set(n,s);const r=s.observe(o);return h.forEach(e=>_(e.content,e.options)),h=[],()=>{r(),v.delete(n)}},setProps(e){var t;null==(t=v.get(n))||t.setProps(e)},getSnapshot(){var e;return null==(e=v.get(n))?void 0:e.getSnapshot()}}}(e)).current;i(e);const l=r(o,s,s);return{getToastToRender:function(e){if(!l)return[];const t=new Map;return l.forEach(e=>{const{position:n}=e.props;t.has(n)||t.set(n,[]),t.get(n).push(e)}),Array.from(t,t=>e(t[0],t[1]))},isToastActive:I,count:null==l?void 0:l.length}}function N(e){const[t,o]=i(!1),[a,r]=i(!1),l=n(null),c=n({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:d,pauseOnHover:u,closeToast:p,onClick:m,closeOnClick:f}=e;var g,y;function h(){o(!0)}function T(){o(!1)}function E(n){const o=l.current;c.canDrag&&o&&(c.didMove=!0,t&&T(),c.delta=\"x\"===e.draggableDirection?n.clientX-c.start:n.clientY-c.start,c.start!==n.clientX&&(c.canCloseOnClick=!1),o.style.transform=`translate3d(${\"x\"===e.draggableDirection?`${c.delta}px, var(--y)`:`0, calc(${c.delta}px + var(--y))`},0)`,o.style.opacity=\"\"+(1-Math.abs(c.delta/c.removalDistance)))}function b(){document.removeEventListener(\"pointermove\",E),document.removeEventListener(\"pointerup\",b);const t=l.current;if(c.canDrag&&c.didMove&&t){if(c.canDrag=!1,Math.abs(c.delta)>c.removalDistance)return r(!0),e.closeToast(),void e.collapseAll();t.style.transition=\"transform 0.2s, opacity 0.2s\",t.style.removeProperty(\"transform\"),t.style.removeProperty(\"opacity\")}}null==(y=v.get((g={id:e.toastId,containerId:e.containerId,fn:o}).containerId||1))||y.setToggle(g.id,g.fn),s(()=>{if(e.pauseOnFocusLoss)return document.hasFocus()||T(),window.addEventListener(\"focus\",h),window.addEventListener(\"blur\",T),()=>{window.removeEventListener(\"focus\",h),window.removeEventListener(\"blur\",T)}},[e.pauseOnFocusLoss]);const I={onPointerDown:function(t){if(!0===e.draggable||e.draggable===t.pointerType){c.didMove=!1,document.addEventListener(\"pointermove\",E),document.addEventListener(\"pointerup\",b);const n=l.current;c.canCloseOnClick=!0,c.canDrag=!0,n.style.transition=\"none\",\"x\"===e.draggableDirection?(c.start=t.clientX,c.removalDistance=n.offsetWidth*(e.draggablePercent/100)):(c.start=t.clientY,c.removalDistance=n.offsetHeight*(80===e.draggablePercent?1.5*e.draggablePercent:e.draggablePercent)/100)}},onPointerUp:function(t){const{top:n,bottom:o,left:s,right:a}=l.current.getBoundingClientRect();\"touchend\"!==t.nativeEvent.type&&e.pauseOnHover&&t.clientX>=s&&t.clientX<=a&&t.clientY>=n&&t.clientY<=o?T():h()}};return d&&u&&(I.onMouseEnter=T,e.stacked||(I.onMouseLeave=h)),f&&(I.onClick=e=>{m&&m(e),c.canCloseOnClick&&p()}),{playToast:h,pauseToast:T,isRunning:t,preventExitTransition:a,toastRef:l,eventHandlers:I}}function $(t){let{delay:n,isRunning:o,closeToast:s,type:a=\"default\",hide:r,className:i,style:c,controlledProgress:d,progress:p,rtl:m,isIn:f,theme:g}=t;const y=r||d&&0===p,v={...c,animationDuration:`${n}ms`,animationPlayState:o?\"running\":\"paused\"};d&&(v.transform=`scaleX(${p})`);const h=l(\"Toastify__progress-bar\",d?\"Toastify__progress-bar--controlled\":\"Toastify__progress-bar--animated\",`Toastify__progress-bar-theme--${g}`,`Toastify__progress-bar--${a}`,{\"Toastify__progress-bar--rtl\":m}),T=u(i)?i({rtl:m,type:a,defaultClassName:h}):l(h,i),E={[d&&p>=1?\"onTransitionEnd\":\"onAnimationEnd\"]:d&&p<1?null:()=>{f&&s()}};return e.createElement(\"div\",{className:\"Toastify__progress-bar--wrp\",\"data-hidden\":y},e.createElement(\"div\",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${g} Toastify__progress-bar--${a}`}),e.createElement(\"div\",{role:\"progressbar\",\"aria-hidden\":y?\"true\":\"false\",\"aria-label\":\"notification timer\",className:T,style:v,...E}))}let w=1;const k=()=>\"\"+w++;function P(e){return e&&(d(e.toastId)||c(e.toastId))?e.toastId:k()}function M(e,t){return _(e,t),t.toastId}function x(e,t){return{...t,type:t&&t.type||e,toastId:P(t)}}function A(e){return(t,n)=>M(t,x(e,n))}function B(e,t){return M(e,x(\"default\",t))}B.loading=(e,t)=>M(e,x(\"default\",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...t})),B.promise=function(e,t,n){let o,{pending:s,error:a,success:r}=t;s&&(o=d(s)?B.loading(s,n):B.loading(s.render,{...n,...s}));const i={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},l=(e,t,s)=>{if(null==t)return void B.dismiss(o);const a={type:e,...i,...n,data:s},r=d(t)?{render:t}:t;return o?B.update(o,{...a,...r}):B(r.render,{...a,...r}),s},c=u(e)?e():e;return c.then(e=>l(\"success\",r,e)).catch(e=>l(\"error\",a,e)),c},B.success=A(\"success\"),B.info=A(\"info\"),B.error=A(\"error\"),B.warning=A(\"warning\"),B.warn=B.warning,B.dark=(e,t)=>M(e,x(\"default\",{theme:\"dark\",...t})),B.dismiss=function(e){!function(e){var t;if(b()){if(null==e||d(t=e)||c(t))v.forEach(t=>{t.removeToast(e)});else if(e&&(\"containerId\"in e||\"id\"in e)){const t=v.get(e.containerId);t?t.removeToast(e.id):v.forEach(t=>{t.removeToast(e.id)})}}else h=h.filter(t=>null!=e&&t.options.toastId!==e)}(e)},B.clearWaitingQueue=function(e){void 0===e&&(e={}),v.forEach(t=>{!t.props.limit||e.containerId&&t.id!==e.containerId||t.clearQueue()})},B.isActive=I,B.update=function(e,t){void 0===t&&(t={});const n=((e,t)=>{var n;let{containerId:o}=t;return null==(n=v.get(o||1))?void 0:n.toasts.get(e)})(e,t);if(n){const{props:o,content:s}=n,a={delay:100,...o,...t,toastId:t.toastId||e,updateId:k()};a.toastId!==e&&(a.staleId=e);const r=a.render||s;delete a.render,M(r,a)}},B.done=e=>{B.update(e,{progress:1})},B.onChange=function(e){return T.add(e),()=>{T.delete(e)}},B.play=e=>C(!0,e),B.pause=e=>C(!1,e);const O=\"undefined\"!=typeof window?o:s,D=t=>{let{theme:n,type:o,isLoading:s,...a}=t;return e.createElement(\"svg\",{viewBox:\"0 0 24 24\",width:\"100%\",height:\"100%\",fill:\"colored\"===n?\"currentColor\":`var(--toastify-icon-color-${o})`,...a})},z={info:function(t){return e.createElement(D,{...t},e.createElement(\"path\",{d:\"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z\"}))},warning:function(t){return e.createElement(D,{...t},e.createElement(\"path\",{d:\"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z\"}))},success:function(t){return e.createElement(D,{...t},e.createElement(\"path\",{d:\"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z\"}))},error:function(t){return e.createElement(D,{...t},e.createElement(\"path\",{d:\"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z\"}))},spinner:function(){return e.createElement(\"div\",{className:\"Toastify__spinner\"})}},R=n=>{const{isRunning:o,preventExitTransition:s,toastRef:r,eventHandlers:i,playToast:c}=N(n),{closeButton:d,children:p,autoClose:m,onClick:f,type:g,hideProgressBar:y,closeToast:v,transition:h,position:T,className:E,style:b,bodyClassName:I,bodyStyle:_,progressClassName:C,progressStyle:L,updateId:w,role:k,progress:P,rtl:M,toastId:x,deleteToast:A,isIn:B,isLoading:O,closeOnClick:D,theme:R}=n,S=l(\"Toastify__toast\",`Toastify__toast-theme--${R}`,`Toastify__toast--${g}`,{\"Toastify__toast--rtl\":M},{\"Toastify__toast--close-on-click\":D}),H=u(E)?E({rtl:M,position:T,type:g,defaultClassName:S}):l(S,E),F=function(e){let{theme:n,type:o,isLoading:s,icon:r}=e,i=null;const l={theme:n,type:o};return!1===r||(u(r)?i=r({...l,isLoading:s}):t(r)?i=a(r,l):s?i=z.spinner():(e=>e in z)(o)&&(i=z[o](l))),i}(n),X=!!P||!m,Y={closeToast:v,type:g,theme:R};let q=null;return!1===d||(q=u(d)?d(Y):t(d)?a(d,Y):function(t){let{closeToast:n,theme:o,ariaLabel:s=\"close\"}=t;return e.createElement(\"button\",{className:`Toastify__close-button Toastify__close-button--${o}`,type:\"button\",onClick:e=>{e.stopPropagation(),n(e)},\"aria-label\":s},e.createElement(\"svg\",{\"aria-hidden\":\"true\",viewBox:\"0 0 14 16\"},e.createElement(\"path\",{fillRule:\"evenodd\",d:\"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z\"})))}(Y)),e.createElement(h,{isIn:B,done:A,position:T,preventExitTransition:s,nodeRef:r,playToast:c},e.createElement(\"div\",{id:x,onClick:f,\"data-in\":B,className:H,...i,style:b,ref:r},e.createElement(\"div\",{...B&&{role:k},className:u(I)?I({type:g}):l(\"Toastify__toast-body\",I),style:_},null!=F&&e.createElement(\"div\",{className:l(\"Toastify__toast-icon\",{\"Toastify--animate-icon Toastify__zoom-enter\":!O})},F),e.createElement(\"div\",null,p)),q,e.createElement($,{...w&&!X?{key:`pb-${w}`}:{},rtl:M,theme:R,delay:m,isRunning:o,isIn:B,closeToast:v,hide:y,type:g,style:L,className:C,controlledProgress:X,progress:P||0})))},S=function(e,t){return void 0===t&&(t=!1),{enter:`Toastify--animate Toastify__${e}-enter`,exit:`Toastify--animate Toastify__${e}-exit`,appendPosition:t}},H=g(S(\"bounce\",!0)),F=g(S(\"slide\",!0)),X=g(S(\"zoom\")),Y=g(S(\"flip\")),q={position:\"top-right\",transition:H,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:\"touch\",draggablePercent:80,draggableDirection:\"x\",role:\"alert\",theme:\"light\"};function Q(t){let o={...q,...t};const s=t.stacked,[a,r]=i(!0),c=n(null),{getToastToRender:d,isToastActive:m,count:f}=L(o),{className:g,style:y,rtl:v,containerId:h}=o;function T(e){const t=l(\"Toastify__toast-container\",`Toastify__toast-container--${e}`,{\"Toastify__toast-container--rtl\":v});return u(g)?g({position:e,rtl:v,defaultClassName:t}):l(t,p(g))}function E(){s&&(r(!0),B.play())}return O(()=>{if(s){var e;const t=c.current.querySelectorAll('[data-in=\"true\"]'),n=12,s=null==(e=o.position)?void 0:e.includes(\"top\");let r=0,i=0;Array.from(t).reverse().forEach((e,t)=>{const o=e;o.classList.add(\"Toastify__toast--stacked\"),t>0&&(o.dataset.collapsed=`${a}`),o.dataset.pos||(o.dataset.pos=s?\"top\":\"bot\");const l=r*(a?.2:1)+(a?0:n*t);o.style.setProperty(\"--y\",`${s?l:-1*l}px`),o.style.setProperty(\"--g\",`${n}`),o.style.setProperty(\"--s\",\"\"+(1-(a?i:0))),r+=o.offsetHeight,i+=.025})}},[a,f,s]),e.createElement(\"div\",{ref:c,className:\"Toastify\",id:h,onMouseEnter:()=>{s&&(r(!1),B.pause())},onMouseLeave:E},d((t,n)=>{const o=n.length?{...y}:{...y,pointerEvents:\"none\"};return e.createElement(\"div\",{className:T(t),style:o,key:`container-${t}`},n.map(t=>{let{content:n,props:o}=t;return e.createElement(R,{...o,stacked:s,collapseAll:E,isIn:m(o.toastId,o.containerId),style:o.style,key:`toast-${o.key}`},n)}))}))}export{H as Bounce,Y as Flip,z as Icons,F as Slide,Q as ToastContainer,X as Zoom,f as collapseToast,g as cssTransition,B as toast,N as useToast,L as useToastContainer};\n//# sourceMappingURL=react-toastify.esm.mjs.map\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { ReactNode } from 'react';\nimport { ToastOptions, toast } from 'react-toastify';\nimport { FlagErrorIcon, FlagSuccessIcon } from '../icons';\n\nexport interface Message {\n level: MessageLevel;\n message: string;\n}\n\nexport enum MessageLevel {\n Error = 'ERROR',\n Success = 'SUCCESS',\n}\n\nexport function addGlobalErrorMessage(message: ReactNode, overrides?: ToastOptions) {\n return createToast(message, MessageLevel.Error, overrides);\n}\n\nexport function addGlobalSuccessMessage(message: ReactNode, overrides?: ToastOptions) {\n return createToast(message, MessageLevel.Success, overrides);\n}\n\nexport function dismissAllGlobalMessages() {\n toast.dismiss();\n}\n\nfunction createToast(message: ReactNode, level: MessageLevel, overrides?: ToastOptions) {\n return toast(\n <div\n className=\"fs-mask sw-typo-default sw-p-3 sw-pb-4\"\n data-testid={`global-message__${level}`}\n >\n {message}\n </div>,\n {\n icon: level === MessageLevel.Error ? <FlagErrorIcon /> : <FlagSuccessIcon />,\n type: level === MessageLevel.Error ? 'error' : 'success',\n ...overrides,\n },\n );\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\nimport { scaleLinear } from 'd3-scale';\nimport React from 'react';\nimport tw from 'twin.macro';\nimport { themeColor } from '../helpers';\nimport { BasePlacement, PopupPlacement } from '../helpers/positioning';\nimport { Tooltip } from './Tooltip';\n\nconst SIZE_SCALE = scaleLinear().domain([3, 15]).range([11, 18]).clamp(true);\nconst TEXT_VISIBLE_AT_WIDTH = 40;\nconst TEXT_VISIBLE_AT_HEIGHT = 45;\nconst ICON_VISIBLE_AT_WIDTH = 24;\nconst ICON_VISIBLE_AT_HEIGHT = 26;\n\ninterface Props {\n fill?: string;\n gradient?: string;\n height: number;\n icon?: React.ReactNode;\n itemKey: string;\n label: string;\n onClick: (item: string) => void;\n placement?: BasePlacement;\n prefix: string;\n tooltip?: React.ReactNode;\n width: number;\n x: number;\n y: number;\n}\n\nexport function TreeMapRect(props: Props) {\n const {\n placement,\n tooltip,\n onClick,\n itemKey,\n x,\n y,\n width,\n height,\n fill,\n gradient,\n label,\n icon,\n prefix,\n } = props;\n\n const handleRectClick = React.useCallback(() => {\n onClick(itemKey);\n return false;\n }, [onClick, itemKey]);\n\n const cellStyles = {\n left: x,\n top: y,\n width,\n height,\n backgroundColor: fill,\n backgroundImage: gradient,\n fontSize: SIZE_SCALE(width / label.length),\n lineHeight: `${height}px`,\n };\n const isTextVisible = width >= TEXT_VISIBLE_AT_WIDTH && height >= TEXT_VISIBLE_AT_HEIGHT;\n const isIconVisible = width >= ICON_VISIBLE_AT_WIDTH && height >= ICON_VISIBLE_AT_HEIGHT;\n\n return (\n <Tooltip content={tooltip} placement={placement ?? PopupPlacement.Left}>\n <StyledCell style={cellStyles}>\n <StyledCellLink href=\"#\" onClick={handleRectClick}>\n <StyledCellLabel width={width}>\n {isIconVisible && <span className=\"shrink-0\">{icon}</span>}\n {isTextVisible &&\n (prefix ? (\n <span className=\"treemap-text\">\n {prefix}\n <br />\n {label.substring(prefix.length)}\n </span>\n ) : (\n <span className=\"treemap-text\">{label}</span>\n ))}\n <StyledA11yHidden>{tooltip}</StyledA11yHidden>\n </StyledCellLabel>\n </StyledCellLink>\n </StyledCell>\n </Tooltip>\n );\n}\n\nconst StyledCell = styled.li`\n ${tw`sw-absolute`};\n ${tw`sw-box-border`};\n\n border-right: 1px solid #fff;\n border-bottom: 1px solid #fff;\n`;\n\nconst StyledCellLink = styled.a`\n ${tw`sw-w-full sw-h-full`};\n ${tw`sw-border-0`};\n ${tw`sw-flex sw-flex-col sw-items-center sw-justify-center`};\n\n color: ${themeColor('pageContent')};\n\n &:hover,\n &:active,\n &:focus {\n ${tw`sw-border-0`};\n outline: none;\n }\n\n &:focus .treemap-text,\n &:hover .treemap-text {\n ${tw`sw-underline`};\n }\n`;\n\nconst StyledCellLabel = styled.div<{ width: number }>`\n ${tw`sw-flex sw-flex-wrap sw-justify-center sw-items-center sw-gap-2`};\n\n line-height: 1.2;\n max-width: ${({ width }) => width}px;\n\n .treemap-text {\n ${tw`sw-shrink sw-overflow-hidden sw-whitespace-nowrap sw-text-left sw-text-ellipsis`};\n }\n`;\n\nconst StyledA11yHidden = styled.span`\n position: absolute !important;\n left: -10000px !important;\n top: auto !important;\n width: 1px !important;\n height: 1px !important;\n overflow: hidden !important;\n`;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport styled from '@emotion/styled';\n\nconst StyledTutorialStepList = styled.ol`\n list-style: none;\n counter-reset: li;\n`;\nStyledTutorialStepList.displayName = 'TutorialStepList';\n\nexport const TutorialStepList = StyledTutorialStepList;\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nexport default {\n white: [255, 255, 255],\n black: [0, 0, 0],\n sonarcloud: [243, 112, 42],\n grey: { 50: [235, 235, 235], 100: [221, 221, 221] },\n blueGrey: {\n 25: [252, 252, 253],\n 35: [247, 249, 252],\n 50: [239, 242, 249],\n 100: [225, 230, 243],\n 200: [197, 205, 223],\n 300: [166, 173, 194],\n 400: [106, 117, 144],\n 500: [62, 67, 87],\n 600: [42, 47, 64],\n 700: [29, 33, 47],\n 800: [18, 20, 29],\n 900: [8, 9, 12],\n },\n indigo: {\n 25: [244, 246, 255],\n 50: [232, 235, 255],\n 100: [209, 215, 254],\n 200: [189, 198, 255],\n 300: [159, 169, 237],\n 400: [123, 135, 217],\n 500: [93, 108, 208],\n 600: [75, 86, 187],\n 700: [71, 81, 143],\n 800: [43, 51, 104],\n 900: [27, 34, 80],\n },\n tangerine: {\n 25: [255, 248, 244],\n 50: [250, 230, 220],\n 100: [246, 206, 187],\n 200: [243, 185, 157],\n 300: [240, 166, 130],\n 400: [237, 148, 106],\n 500: [235, 131, 82],\n 600: [233, 116, 63],\n 700: [231, 102, 49],\n 800: [181, 68, 25],\n 900: [130, 43, 10],\n },\n green: {\n 50: [246, 254, 249],\n 100: [236, 253, 243],\n 200: [209, 250, 223],\n 300: [166, 244, 197],\n 400: [50, 213, 131],\n 500: [18, 183, 106],\n 600: [3, 152, 85],\n 700: [2, 122, 72],\n 800: [5, 96, 58],\n 900: [5, 79, 49],\n },\n yellowGreen: {\n 50: [247, 251, 230],\n 100: [241, 250, 210],\n 200: [225, 245, 168],\n 300: [197, 230, 124],\n 400: [166, 208, 91],\n 500: [110, 183, 18],\n 600: [104, 154, 48],\n 700: [83, 128, 39],\n 800: [63, 104, 29],\n 900: [49, 85, 22],\n },\n yellow: {\n 50: [252, 245, 228],\n 100: [254, 245, 208],\n 200: [252, 233, 163],\n 300: [250, 220, 121],\n 400: [248, 205, 92],\n 500: [245, 184, 64],\n 600: [209, 152, 52],\n 700: [174, 122, 41],\n 800: [140, 94, 30],\n 900: [102, 64, 15],\n },\n orange: {\n 50: [255, 240, 235],\n 100: [254, 219, 199],\n 200: [255, 214, 175],\n 300: [254, 150, 75],\n 400: [253, 113, 34],\n 500: [247, 95, 9],\n 600: [220, 94, 3],\n 700: [181, 71, 8],\n 800: [147, 55, 13],\n 900: [122, 46, 14],\n },\n red: {\n 50: [254, 243, 242],\n 100: [254, 228, 226],\n 200: [254, 205, 202],\n 300: [253, 162, 155],\n 400: [249, 112, 102],\n 500: [240, 68, 56],\n 600: [217, 45, 32],\n 700: [180, 35, 24],\n 800: [128, 27, 20],\n 900: [93, 29, 19],\n },\n blue: {\n 50: [245, 251, 255],\n 100: [233, 244, 251],\n 200: [184, 222, 241],\n 300: [143, 202, 234],\n 400: [110, 185, 228],\n 500: [85, 170, 223],\n 600: [69, 149, 203],\n 700: [58, 127, 173],\n 800: [49, 108, 146],\n 900: [23, 67, 97],\n },\n codeSnippetLight: {\n body: [51, 53, 60],\n annotations: [34, 84, 192],\n constants: [126, 83, 5],\n comments: [109, 111, 119],\n keyword: [152, 29, 150],\n string: [32, 105, 31],\n 'keyword-light': [28, 28, 163], // Not used currently in code snippet\n 'preprocessing-directive': [47, 103, 48],\n },\n codeSnippetDark: {\n body: [241, 245, 253],\n annotations: [137, 214, 255],\n constants: [237, 182, 130],\n comments: [156, 164, 175],\n keyword: [251, 173, 255],\n string: [177, 220, 146],\n 'keyword-light': [185, 185, 255], // Not used currently in code snippet\n 'preprocessing-directive': [133, 228, 134],\n },\n codeSyntaxLight: {\n body: [56, 58, 66],\n annotations: [35, 91, 213],\n constants: [135, 87, 2],\n comments: [95, 96, 102],\n keyword: [162, 34, 160],\n string: [36, 117, 35],\n 'keyword-light': [30, 30, 173],\n 'preprocessing-directive': [52, 114, 53],\n },\n codeSyntaxDark: {\n body: [226, 231, 241],\n annotations: [97, 174, 238],\n constants: [209, 154, 102],\n comments: [167, 172, 180],\n keyword: [223, 145, 246],\n string: [152, 195, 121],\n 'keyword-light': [171, 171, 255],\n 'preprocessing-directive': [120, 215, 121],\n },\n};\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { OPACITY_20_PERCENT, OPACITY_75_PERCENT } from '../helpers/constants';\nimport COLORS from './colors';\n\nconst primary = {\n light: COLORS.indigo[400],\n default: COLORS.indigo[500],\n dark: COLORS.indigo[600],\n};\n\nconst secondary = {\n light: COLORS.blueGrey[50],\n default: COLORS.blueGrey[200],\n dark: COLORS.blueGrey[400],\n darker: COLORS.blueGrey[500],\n};\n\nconst danger = {\n lightest: COLORS.red[50],\n lighter: COLORS.red[300],\n light: COLORS.red[400],\n default: COLORS.red[600],\n dark: COLORS.red[700],\n darker: COLORS.red[800],\n};\n\nconst codeSnippetLight = {\n annotations: [34, 84, 192],\n body: [51, 53, 60],\n constants: [126, 83, 5],\n comments: [109, 111, 119],\n keyword: [152, 29, 150],\n string: [32, 105, 31],\n 'keyword-light': [28, 28, 163], // Not used currently in code snippet\n 'preprocessing-directive': [47, 103, 48],\n};\n\nexport const lightTheme = {\n id: 'light-theme',\n highlightTheme: 'atom-one-light.css',\n logo: 'sonarcloud-logo-black.svg',\n\n colors: {\n transparent: 'transparent',\n currentColor: 'currentColor',\n\n backgroundPrimary: COLORS.blueGrey[25],\n backgroundSecondary: COLORS.white,\n border: COLORS.grey[50],\n sonarcloud: COLORS.sonarcloud,\n\n // primary\n primaryLight: primary.light,\n primary: primary.default,\n primaryDark: primary.dark,\n\n // danger\n danger: danger.dark,\n\n // text\n textSuccess: COLORS.yellowGreen[700],\n\n //Project list card\n projectCardDisabled: COLORS.blueGrey[200],\n\n // buttons\n button: primary.default,\n buttonHover: primary.dark,\n buttonSecondary: COLORS.white,\n buttonSecondaryBorder: secondary.default,\n buttonSecondaryHover: secondary.light,\n buttonDisabled: secondary.light,\n buttonDisabledBorder: secondary.default,\n\n // danger buttons\n dangerButton: danger.default,\n dangerButtonHover: danger.dark,\n dangerButtonFocus: danger.default,\n dangerButtonSecondary: COLORS.white,\n dangerButtonSecondaryBorder: danger.lighter,\n dangerButtonSecondaryHover: danger.lightest,\n dangerButtonSecondaryFocus: danger.light,\n\n // third party button\n thirdPartyButton: COLORS.white,\n thirdPartyButtonBorder: secondary.default,\n thirdPartyButtonHover: secondary.light,\n\n // popup\n popup: COLORS.white,\n popupBorder: secondary.default,\n\n // Toasts\n toast: COLORS.white,\n toastText: secondary.darker,\n\n toastErrorBorder: danger.light,\n toastErrorIconBackground: danger.lightest,\n\n toastWarningBorder: COLORS.yellow[400],\n toastWarningIconBackground: COLORS.yellow[50],\n\n toastSuccessBorder: COLORS.yellowGreen[400],\n toastSuccessIconBackground: COLORS.yellowGreen[50],\n\n toastInfoBorder: COLORS.blue[400],\n toastInfoIconBackground: COLORS.blue[50],\n\n // spotlight\n spotlightPulseBackground: primary.default,\n spotlightBackgroundColor: COLORS.blueGrey[50],\n\n // modal\n modalContents: COLORS.white,\n modalOverlay: [...COLORS.blueGrey[900], OPACITY_75_PERCENT],\n\n // dropdown menu\n dropdownMenu: COLORS.white,\n dropdownMenuHover: secondary.light,\n dropdownMenuFocus: COLORS.indigo[50],\n dropdownMenuFocusBorder: primary.light,\n dropdownMenuDisabled: COLORS.white,\n dropdownMenuHeader: COLORS.white,\n dropdownMenuDanger: danger.default,\n\n // radio\n radio: primary.default,\n radioBorder: primary.default,\n radioHover: COLORS.indigo[50],\n radioFocus: COLORS.indigo[50],\n radioFocusBorder: COLORS.indigo[300],\n radioFocusOutline: [...COLORS.indigo[300], OPACITY_20_PERCENT],\n radioChecked: COLORS.indigo[50],\n radioDisabled: secondary.default,\n radioDisabledBackground: secondary.light,\n radioDisabledBorder: secondary.default,\n\n // switch\n switch: secondary.default,\n switchDisabled: COLORS.blueGrey[100],\n switchActive: primary.default,\n switchHover: COLORS.blueGrey[300],\n switchHoverActive: primary.light,\n switchButton: COLORS.white,\n switchButtonDisabled: secondary.light,\n\n // sidebar\n // NOTE: these aren't used because the sidebar is exclusively dark. but for type purposes are listed here\n sidebarBackground: COLORS.blueGrey[700],\n sidebarItemActive: COLORS.blueGrey[800],\n sidebarBorder: COLORS.blueGrey[500],\n sidebarActiveIcon: COLORS.blueGrey[200],\n\n //separator-circle\n separatorCircle: COLORS.blueGrey[200],\n\n // rule breakdown table\n breakdownBorder: COLORS.grey[100],\n breakdownHeaderBackground: COLORS.blueGrey[50],\n\n // flag message\n flagMessageBackground: COLORS.white,\n flagMessageFocusBackground: COLORS.indigo[600],\n flagMessageText: COLORS.blueGrey[500],\n\n errorBorder: danger.light,\n errorBackground: danger.lightest,\n errorIconBackground: danger.lightest,\n errorText: danger.dark,\n errorIcon: COLORS.red[600],\n errorIconHover: COLORS.red[800],\n errorIconHoverBackground: COLORS.red[100],\n errorIconFocusBackground: COLORS.red[50],\n\n warningBorder: COLORS.yellow[400],\n warningBackground: COLORS.yellow[50],\n warningIconBackground: COLORS.yellow[50],\n warningText: COLORS.yellow[900],\n warningIcon: COLORS.yellow[700],\n warningIconHover: COLORS.yellow[800],\n warningIconHoverBackground: COLORS.yellow[100],\n warningIconFocusBackground: COLORS.yellow[50],\n\n successBorder: COLORS.yellowGreen[400],\n successBackground: COLORS.green[50],\n successIconBackground: COLORS.yellowGreen[50],\n successText: COLORS.green[900],\n successIcon: COLORS.yellowGreen[600],\n successIconHover: COLORS.yellowGreen[800],\n successIconHoverBackground: COLORS.yellowGreen[100],\n successIconFocusBackground: COLORS.yellowGreen[50],\n\n infoBorder: COLORS.blue[300],\n infoBackground: COLORS.blue[50],\n infoIconBackground: COLORS.blue[50],\n infoContrast: COLORS.blue[900],\n infoText: COLORS.blue[900],\n infoIcon: COLORS.blue[600],\n infoIconHover: COLORS.blue[800],\n infoIconHoverBackground: COLORS.blue[100],\n infoIconFocusBackground: COLORS.blue[50],\n\n recommendedBorder: COLORS.indigo[500],\n recommendedBackground: COLORS.indigo[50],\n recommendedIcon: COLORS.indigo[500],\n recommendedIconHover: COLORS.indigo[800],\n recommendedIconHoverBackground: COLORS.indigo[50],\n recommendedIconFocusBackground: COLORS.indigo[50],\n\n // banner message\n bannerMessage: danger.lightest,\n bannerMessageIcon: danger.darker,\n\n // toggle buttons\n toggle: COLORS.white,\n toggleBorder: secondary.default,\n toggleHover: secondary.light,\n toggleFocus: [...secondary.default, OPACITY_20_PERCENT],\n\n // code snippet\n codeSnippetBackground: COLORS.blueGrey[25],\n codeSnippetBorder: COLORS.blueGrey[100],\n codeSnippetHighlight: secondary.default,\n codeSnippetBody: codeSnippetLight.body,\n codeSnippetAnnotations: codeSnippetLight.annotations,\n codeSnippetComments: codeSnippetLight.comments,\n codeSnippetConstants: codeSnippetLight.constants,\n codeSnippetKeyword: codeSnippetLight.keyword,\n codeSnippetString: codeSnippetLight.string,\n codeSnippetKeywordLight: codeSnippetLight['keyword-light'],\n codeSnippetPreprocessingDirective: codeSnippetLight['preprocessing-directive'],\n codeSnippetInline: COLORS.blueGrey[500],\n\n // code viewer\n codeLine: COLORS.white,\n codeLineBorder: COLORS.grey[100],\n codeLineLocationMarker: COLORS.red[200],\n codeLineLocationMarkerSelected: danger.lighter,\n codeLineLocationSelected: COLORS.blueGrey[100],\n codeLineCoveredUnderline: [...COLORS.green[500], 0.15],\n codeLineUncoveredUnderline: [...COLORS.red[500], 0.15],\n\n codeLineHover: secondary.light,\n codeLineHighlighted: COLORS.blueGrey[100],\n codeLineNewCodeUnderline: [...COLORS.indigo[300], 0.15],\n codeLineDuplication: secondary.default,\n codeLineCovered: COLORS.green[300],\n codeLineUncovered: danger.default,\n codeLinePartiallyCoveredA: danger.default,\n codeLinePartiallyCoveredB: COLORS.white,\n codeLineIssueSquiggle: danger.lighter,\n codeLineIssuePointerBorder: COLORS.white,\n codeLineLocationHighlighted: [...COLORS.blueGrey[200], 0.6],\n codeLineEllipsis: COLORS.white,\n codeLineEllipsisHover: secondary.light,\n codeLineIssueLocation: [...danger.lighter, 0.15],\n codeLineIssueLocationSelected: [...danger.lighter, 0.5],\n codeLineIssueMessageTooltip: secondary.darker,\n\n // code syntax highlight\n codeSyntaxBody: COLORS.codeSyntaxLight.body,\n codeSyntaxAnnotations: COLORS.codeSyntaxLight.annotations,\n codeSyntaxConstants: COLORS.codeSyntaxLight.constants,\n codeSyntaxComments: COLORS.codeSyntaxLight.comments,\n codeSyntaxKeyword: COLORS.codeSyntaxLight.keyword,\n codeSyntaxString: COLORS.codeSyntaxLight.string,\n codeSyntaxKeywordLight: COLORS.codeSyntaxLight['keyword-light'],\n codeSyntaxPreprocessingDirective: COLORS.codeSyntaxLight['preprocessing-directive'],\n\n // checkbox\n checkboxHover: COLORS.indigo[50],\n checkboxCheckedHover: primary.light,\n checkboxDisabled: secondary.light,\n checkboxDisabledChecked: secondary.default,\n checkboxLabel: COLORS.blueGrey[500],\n\n // input search\n searchHighlight: COLORS.tangerine[50],\n\n // input field\n inputBackground: COLORS.white,\n inputBorder: secondary.default,\n inputFocus: primary.light,\n inputDanger: danger.default,\n inputDangerFocus: danger.light,\n inputSuccess: COLORS.yellowGreen[500],\n inputSuccessFocus: COLORS.yellowGreen[400],\n inputDisabled: secondary.light,\n inputDisabledBorder: secondary.default,\n\n // required input\n inputRequired: danger.dark,\n\n // tooltip\n tooltipBackground: COLORS.blueGrey[600],\n tooltipHighlight: secondary.default,\n\n // avatar\n avatarBackground: COLORS.white,\n avatarBorder: COLORS.blueGrey[100],\n\n // badges\n badgeNew: COLORS.indigo[100],\n badgeDefault: COLORS.blueGrey[100],\n badgeDeleted: COLORS.red[100],\n badgeCounter: COLORS.blueGrey[100],\n badgeCounterFailed: COLORS.red[50],\n badgeCounterFailedBorder: COLORS.red[200],\n\n // pills\n pillCritical: COLORS.red[100],\n pillCriticalBorder: COLORS.red[800],\n pillCriticalHover: COLORS.red[300],\n pillDanger: COLORS.red[50],\n pillDangerBorder: COLORS.red[600],\n pillDangerHover: COLORS.red[200],\n pillWarning: COLORS.orange[50],\n pillWarningBorder: COLORS.orange[300],\n pillWarningHover: COLORS.orange[200],\n pillCaution: COLORS.yellow[50],\n pillCautionBorder: COLORS.yellow[300],\n pillCautionHover: COLORS.yellow[200],\n pillInfo: COLORS.blue[50],\n pillInfoBorder: COLORS.blue[300],\n pillInfoHover: COLORS.blue[200],\n pillAccent: COLORS.indigo[50],\n pillAccentBorder: 'transparent',\n pillAccentHover: COLORS.indigo[100],\n pillSuccess: COLORS.green[100],\n pillSuccessBorder: COLORS.green[600],\n pillSuccessHover: COLORS.green[200],\n pillNeutral: COLORS.blueGrey[50],\n pillNeutralBorder: COLORS.blueGrey[400],\n pillNeutralHover: COLORS.blueGrey[100],\n\n // input select\n selectOptionSelected: secondary.light,\n\n // breadcrumbs\n breadcrumb: 'transparent',\n\n // tab\n tabBorder: primary.light,\n\n // tabs\n tabSelected: primary.default,\n tabHover: COLORS.blueGrey[50],\n\n //table\n tableRowHover: COLORS.indigo[25],\n tableRowSelected: COLORS.indigo[300],\n\n // links\n linkDefault: primary.default,\n linkNaked: COLORS.blueGrey[700],\n linkActive: COLORS.indigo[600],\n linkDiscreet: 'currentColor',\n linkTooltipDefault: COLORS.indigo[200],\n linkTooltipActive: COLORS.indigo[100],\n linkBorder: COLORS.indigo[300],\n linkExternalIcon: COLORS.indigo[300],\n linkExternalIconActive: COLORS.indigo[400],\n contentLinkBorder: COLORS.blueGrey[200],\n\n // discreet select\n discreetBorder: secondary.default,\n discreetBackground: COLORS.white,\n discreetHover: secondary.light,\n discreetButtonHover: COLORS.indigo[500],\n discreetFocus: COLORS.indigo[50],\n discreetFocusBorder: primary.light,\n\n // interactive icon\n interactiveIcon: 'transparent',\n interactiveIconHover: COLORS.indigo[50],\n interactiveIconFocus: primary.default,\n bannerIcon: 'transparent',\n bannerIconHover: [...COLORS.red[600], OPACITY_20_PERCENT],\n bannerIconFocus: danger.default,\n destructiveIcon: 'transparent',\n destructiveIconHover: danger.lightest,\n destructiveIconFocus: danger.default,\n\n // icons\n iconSoftwareImpactSeverityBlocker: COLORS.red[800],\n iconSoftwareImpactSeverityHigh: COLORS.red[600],\n iconSoftwareImpactSeverityMedium: COLORS.orange[400],\n iconSoftwareImpactSeverityLow: COLORS.yellow[500],\n iconSoftwareImpactSeverityInfo: COLORS.blue[600],\n iconSeverityMajor: danger.light,\n iconSeverityMinor: COLORS.yellowGreen[400],\n iconSeverityInfo: COLORS.blue[400],\n iconDirectory: COLORS.orange[300],\n iconFavorite: COLORS.tangerine[400],\n iconCheck: COLORS.green[500],\n iconPositiveUpdate: COLORS.green[300],\n iconNegativeUpdate: COLORS.red[300],\n iconTrendPositive: COLORS.green[400],\n iconTrendNegative: COLORS.red[400],\n iconTrendNeutral: COLORS.blue[600],\n iconError: danger.default,\n iconWarning: COLORS.yellow[600],\n iconSuccess: COLORS.green[600],\n iconInfo: COLORS.blue[600],\n iconStatus: COLORS.blueGrey[200],\n iconNotificationsOn: COLORS.indigo[300],\n iconHelperHint: COLORS.blueGrey[100],\n iconRuleInheritanceOverride: danger.light,\n\n // numbered list\n numberedList: COLORS.indigo[50],\n numberedListText: COLORS.indigo[800],\n\n // unordered list\n listMarker: COLORS.blueGrey[300],\n\n // product news\n productNews: COLORS.indigo[50],\n productNewsHover: COLORS.indigo[100],\n\n // scrollbar\n scrollbar: COLORS.blueGrey[25],\n\n // resizer\n resizer: secondary.default,\n\n // coverage indicators\n coverageGreen: COLORS.green[500],\n coverageRed: danger.dark,\n\n // duplications indicators\n 'duplicationsIndicator.A': COLORS.green[500],\n 'duplicationsIndicator.B': COLORS.green[500],\n 'duplicationsIndicator.C': COLORS.yellowGreen[500],\n 'duplicationsIndicator.D': COLORS.yellow[500],\n 'duplicationsIndicator.E': COLORS.orange[500],\n 'duplicationsIndicator.F': COLORS.red[500],\n duplicationsIndicatorSecondary: secondary.light,\n\n // size indicators\n sizeIndicator: COLORS.blue[500],\n\n // rating colors\n 'rating.A': COLORS.green[200],\n 'rating.B': COLORS.yellowGreen[200],\n 'rating.C': COLORS.yellow[200],\n 'rating.D': COLORS.orange[200],\n 'rating.E': COLORS.red[200],\n\n 'portfolio.rating.A.text': COLORS.green[900],\n 'portfolio.rating.A.background': COLORS.green[100],\n 'portfolio.rating.A.border': COLORS.green[400],\n 'portfolio.rating.B.text': COLORS.yellowGreen[900],\n 'portfolio.rating.B.background': COLORS.yellowGreen[100],\n 'portfolio.rating.B.border': COLORS.yellowGreen[400],\n 'portfolio.rating.C.text': COLORS.yellow[900],\n 'portfolio.rating.C.background': COLORS.yellow[100],\n 'portfolio.rating.C.border': COLORS.yellow[500],\n 'portfolio.rating.D.text': COLORS.orange[900],\n 'portfolio.rating.D.background': COLORS.orange[100],\n 'portfolio.rating.D.border': COLORS.orange[300],\n 'portfolio.rating.E.text': COLORS.red[900],\n 'portfolio.rating.E.background': COLORS.red[100],\n 'portfolio.rating.E.border': COLORS.red[400],\n 'portfolio.rating.NONE.text': COLORS.blueGrey[300],\n 'portfolio.rating.NONE.background': COLORS.blueGrey[50],\n 'portfolio.rating.NONE.border': COLORS.blueGrey[200],\n\n // rating donut outside circle indicators\n 'ratingDonut.A': COLORS.green[400],\n 'ratingDonut.B': COLORS.yellowGreen[400],\n 'ratingDonut.C': COLORS.yellow[400],\n 'ratingDonut.D': COLORS.orange[400],\n 'ratingDonut.E': COLORS.red[400],\n\n // date picker\n datePicker: COLORS.white,\n datePickerIcon: secondary.default,\n datePickerDisabled: COLORS.white,\n datePickerDefault: COLORS.white,\n datePickerHover: COLORS.blueGrey[100],\n datePickerSelected: primary.default,\n datePickerRange: COLORS.indigo[100],\n\n // tags\n tag: secondary.light,\n\n // quality gate indicator\n qgIndicatorPassed: COLORS.green[200],\n qgIndicatorFailed: COLORS.red[200],\n qgIndicatorNotComputed: COLORS.blueGrey[200],\n\n // quality gate status card\n qgCardFailed: COLORS.red[300],\n\n // quality gate texts colors\n qgConditionNotCayc: COLORS.red[600],\n qgConditionCayc: COLORS.green[600],\n\n // main bar\n mainBar: COLORS.white,\n mainBarHover: COLORS.blueGrey[600],\n mainBarLogo: COLORS.white,\n mainBarDarkLogo: COLORS.blueGrey[800],\n mainBarNews: COLORS.indigo[50],\n menuBorder: primary.light,\n\n // navbar\n navbar: COLORS.white,\n navbarTextMeta: secondary.darker,\n\n // filterbar\n filterbar: COLORS.white,\n filterbarBorder: COLORS.blueGrey[100],\n\n // facets\n facetHeader: COLORS.blueGrey[600],\n facetItemSelected: COLORS.indigo[50],\n facetItemSelectedHover: COLORS.indigo[100],\n facetItemSelectedBorder: primary.light,\n facetItemGraph: secondary.default,\n facetKeyboardHint: COLORS.blueGrey[50],\n facetToggleActive: COLORS.green[500],\n facetToggleInactive: COLORS.red[500],\n facetToggleHover: COLORS.blueGrey[600],\n\n // subnavigation sidebar\n subnavigation: COLORS.white,\n subnavigationHover: COLORS.blueGrey[50],\n subnavigationSelected: COLORS.blueGrey[100],\n subnavigationBorder: COLORS.grey[100],\n subnavigationSeparator: COLORS.grey[50],\n subnavigationSubheading: COLORS.blueGrey[25],\n subnavigationExecutionFlow: COLORS.blueGrey[25],\n subnavigationExecutionFlowBorder: secondary.default,\n subnavigationExecutionFlowSeparator: COLORS.blueGrey[100],\n subnavigationExecutionFlowActive: COLORS.indigo[500],\n\n // footer\n footer: COLORS.white,\n footerBorder: COLORS.grey[100],\n\n // project\n projectCardBackground: COLORS.white,\n projectCardBorder: COLORS.blueGrey[100],\n projectCardInfo: COLORS.blueGrey[35],\n\n // overview\n backgroundPromotedSection: secondary.light,\n overviewCardDefaultIcon: secondary.light,\n overviewCardWarningIcon: COLORS.yellow[50],\n overviewCardErrorIcon: COLORS.red[100],\n overviewCardSuccessIcon: COLORS.green[200],\n\n // overview software impact breakdown\n overviewSoftwareImpactSeverityNeutral: COLORS.blueGrey[35],\n overviewSoftwareImpactSeverityHigh: COLORS.red[100],\n overviewSoftwareImpactSeverityMedium: COLORS.yellow[100],\n overviewSoftwareImpactSeverityLow: COLORS.blue[100],\n\n // graph - chart\n graphPointCircleColor: COLORS.white,\n 'graphLineColor.0': COLORS.blue[500],\n 'graphLineColor.1': COLORS.blue[700],\n 'graphLineColor.2': COLORS.blue[300],\n 'graphLineColor.3': COLORS.blue[500],\n 'graphLineColor.4': COLORS.blue[700],\n 'graphLineColor.5': COLORS.blue[300],\n graphGridColor: COLORS.grey[50],\n newCodeHighlight: COLORS.indigo[300],\n graphZoomBackgroundColor: COLORS.blueGrey[25],\n graphZoomBorderColor: COLORS.blueGrey[100],\n graphLegendBorder: secondary.darker,\n\n // page\n pageTitle: COLORS.blueGrey[700],\n pageContent: secondary.darker,\n pageContentDark: COLORS.blueGrey[600],\n pageBlock: COLORS.white,\n pageBlockBorder: COLORS.blueGrey[100],\n\n // core concepts\n coreConceptsTitle: secondary.darker,\n coreConceptsBody: secondary.darker,\n coreConceptsHomeBorder: COLORS.blueGrey[100],\n coreConceptsCompleted: COLORS.green[500],\n coreConceptsPulse: COLORS.indigo[500],\n coreConceptsPulseFallback: COLORS.white,\n\n // progress bar\n coreConceptsProgressBar: secondary.light,\n\n // issue box\n issueBoxSelectedBorder: danger.lighter,\n issueBoxBorder: secondary.default,\n issueBoxBorderDepracated: secondary.default,\n issueTypeIcon: COLORS.red[200],\n\n // separator\n pipeSeparator: COLORS.blueGrey[100],\n\n // drilldown link\n drilldown: secondary.darker,\n drilldownBorder: secondary.default,\n\n // selection card\n selectionCardHeader: secondary.darker,\n selectionCardDisabled: secondary.light,\n selectionCardBorder: COLORS.blueGrey[100],\n selectionCardBorderHover: COLORS.indigo[200],\n selectionCardBorderSelected: primary.light,\n selectionCardBorderDisabled: secondary.default,\n\n // bubble charts\n bubbleChartLine: COLORS.grey[50],\n bubbleDefault: [...COLORS.blue[500], 0.3],\n\n 'bubble.1': [...COLORS.green[500], 0.3],\n 'bubble.2': [...COLORS.yellowGreen[500], 0.3],\n 'bubble.3': [...COLORS.yellow[500], 0.3],\n 'bubble.4': [...COLORS.orange[500], 0.3],\n 'bubble.5': [...COLORS.red[500], 0.3],\n\n // TreeMap Colors\n 'treeMap.A': COLORS.green[500],\n 'treeMap.B': COLORS.yellowGreen[500],\n 'treeMap.C': COLORS.yellow[500],\n 'treeMap.D': COLORS.orange[500],\n 'treeMap.E': COLORS.red[500],\n\n 'treeMap.NA1': COLORS.blueGrey[300],\n 'treeMap.NA2': COLORS.blueGrey[200],\n treeMapCellTextColor: COLORS.blueGrey[900],\n\n // new code legend\n newCodeLegend: [...COLORS.indigo[300], 0.15],\n newCodeLegendBorder: COLORS.indigo[200],\n\n // highlighted section\n highlightedSection: COLORS.blueGrey[25],\n highlightedSectionBorder: COLORS.blueGrey[100],\n\n // highlight ring\n highlightRingBackground: secondary.light,\n\n // activity comments\n activityCommentPipe: COLORS.tangerine[200],\n\n // illustrations\n illustrationInlineBorder: COLORS.blueGrey[100],\n illustrationPrimary: COLORS.indigo[400],\n illustrationSecondary: COLORS.indigo[200],\n illustrationShade: COLORS.indigo[25],\n\n // news bar\n newsBar: COLORS.white,\n newsBorder: COLORS.grey[100],\n newsContent: COLORS.white,\n newsTag: COLORS.blueGrey[50],\n roadmap: COLORS.indigo[25],\n roadmapContent: 'transparent',\n\n // project analyse page\n almCardBorder: COLORS.grey[100],\n\n // Keyboard hint\n keyboardHintKey: COLORS.blueGrey[100],\n\n // progressBar\n progressBarForeground: COLORS.indigo[500],\n progressBarBackground: COLORS.indigo[100],\n\n //education principles\n educationPrincipleBackground: COLORS.indigo[25],\n educationPrincipleBorder: COLORS.indigo[300],\n\n // SonarLint PromotionNotification\n promotionNotification: COLORS.blueGrey[35],\n promotionNotificationBackground: COLORS.blueGrey[700],\n promotionNotificationSeparator: COLORS.blueGrey[500],\n\n // Workspace\n workSpaceViewerBackground: COLORS.blueGrey[25],\n workSpaceViewerShadow: COLORS.blueGrey[700],\n workSpaceNavItem: COLORS.white,\n workSpaceNavItemBackground: COLORS.blueGrey[500],\n },\n\n // contrast colors to be used for text when using a color background with the same name\n // must match the color name\n contrasts: {\n backgroundPrimary: COLORS.blueGrey[900],\n backgroundSecondary: COLORS.blueGrey[900],\n primaryLight: secondary.darker,\n primary: COLORS.white,\n\n // switch\n switchHover: primary.light,\n switchButton: primary.default,\n\n // sidebar\n sidebarBackground: COLORS.blueGrey[200],\n sidebarItemActive: COLORS.blueGrey[25],\n\n // flag message\n flagMessageBackground: secondary.darker,\n\n // info message\n infoBackground: COLORS.blue[900],\n\n // banner message\n bannerMessage: COLORS.red[900],\n\n // buttons\n buttonSecondary: secondary.darker,\n\n // danger buttons\n dangerButton: COLORS.white,\n dangerButtonSecondary: danger.dark,\n\n // third party button\n thirdPartyButton: secondary.darker,\n\n // popup\n popup: secondary.darker,\n\n // dropdown menu\n dropdownMenu: secondary.darker,\n\n // toggle buttons\n toggle: secondary.darker,\n toggleHover: secondary.darker,\n\n // code viewer\n codeLineNewCodeUnderline: COLORS.indigo[500],\n codeLineCoveredUnderline: COLORS.green[700],\n codeLineUncoveredUnderline: COLORS.red[700],\n codeLineLocationMarker: COLORS.red[900],\n codeLineLocationMarkerSelected: COLORS.red[900],\n codeLineIssueMessageTooltip: COLORS.blueGrey[25],\n\n // code snippet\n codeSnippetHighlight: danger.default,\n\n // checkbox\n checkboxDisabled: secondary.default,\n\n // input search\n searchHighlight: secondary.darker,\n\n // input field\n inputBackground: secondary.darker,\n\n // tooltip\n tooltipBackground: secondary.light,\n\n // badges\n badgeNew: COLORS.indigo[900],\n badgeDefault: COLORS.blueGrey[700],\n badgeDeleted: COLORS.red[900],\n badgeCounter: secondary.darker,\n badgeCounterFailed: danger.dark,\n\n // pills\n pillCritical: COLORS.red[800],\n pillDanger: COLORS.red[700],\n pillWarning: COLORS.orange[800],\n pillCaution: COLORS.yellow[800],\n pillInfo: COLORS.blue[800],\n pillAccent: COLORS.indigo[500],\n pillSuccess: COLORS.green[800],\n pillNeutral: COLORS.blueGrey[500],\n\n // project cards\n overviewCardDefaultIcon: COLORS.blueGrey[500],\n overviewCardWarningIcon: COLORS.yellow[700],\n overviewCardErrorIcon: COLORS.red[500],\n overviewCardSuccessIcon: COLORS.green[500],\n\n // discreet select\n discreetBackground: secondary.darker,\n discreetHover: secondary.darker,\n\n // interactive icons\n interactiveIcon: primary.dark,\n interactiveIconHover: COLORS.indigo[800],\n bannerIcon: danger.darker,\n bannerIconHover: danger.darker,\n destructiveIcon: danger.default,\n destructiveIconHover: danger.darker,\n\n // icons\n iconSeverityMajor: COLORS.white,\n iconSeverityMinor: COLORS.white,\n iconSeverityInfo: COLORS.white,\n iconHelperHint: secondary.darker,\n iconHelperHintRaised: COLORS.white,\n\n // numbered list\n numberedList: COLORS.indigo[800],\n\n // product news\n productNews: secondary.darker,\n productNewsHover: secondary.darker,\n\n // scrollbar\n scrollbar: COLORS.grey[100],\n\n // size indicators\n sizeIndicator: COLORS.white,\n\n // rating colors\n 'rating.A': COLORS.green[900],\n 'rating.B': COLORS.yellowGreen[900],\n 'rating.C': COLORS.yellow[900],\n 'rating.D': COLORS.orange[900],\n 'rating.E': COLORS.red[900],\n\n // date picker\n datePicker: COLORS.blueGrey[300],\n datePickerDisabled: COLORS.blueGrey[300],\n datePickerDefault: COLORS.blueGrey[600],\n datePickerHover: COLORS.blueGrey[600],\n datePickerSelected: COLORS.white,\n datePickerRange: COLORS.blueGrey[600],\n\n // tags\n tag: secondary.darker,\n\n // quality gate indicator\n qgIndicatorPassed: COLORS.green[800],\n qgIndicatorFailed: danger.darker,\n qgIndicatorNotComputed: COLORS.blueGrey[800],\n\n // main bar\n mainBar: secondary.darker,\n mainBarLogo: COLORS.black,\n mainBarDarkLogo: COLORS.white,\n mainBarNews: secondary.darker,\n\n // navbar\n navbar: secondary.darker,\n\n // filterbar\n filterbar: secondary.darker,\n\n // facet\n facetKeyboardHint: secondary.darker,\n facetToggleActive: COLORS.white,\n facetToggleInactive: COLORS.white,\n\n // subnavigation sidebar\n subnavigation: secondary.darker,\n subnavigationExecutionFlow: COLORS.blueGrey[700],\n subnavigationHover: COLORS.blueGrey[700],\n\n // page\n pageBlock: secondary.darker,\n\n // graph - chart\n graphZoomHandleColor: COLORS.white,\n\n // progress bar\n coreConceptsProgressBar: primary.light,\n\n // issue box\n issueTypeIcon: COLORS.red[900],\n iconSeverityDisabled: COLORS.white,\n iconTypeDisabled: COLORS.white,\n\n // bubble charts\n bubbleDefault: COLORS.blue[500],\n\n 'bubble.1': COLORS.green[500],\n 'bubble.2': COLORS.yellowGreen[500],\n 'bubble.3': COLORS.yellow[500],\n 'bubble.4': COLORS.orange[500],\n 'bubble.5': COLORS.red[500],\n\n // news bar\n newsBar: COLORS.blueGrey[600],\n newsContent: COLORS.blueGrey[500],\n newsTag: COLORS.blueGrey[500],\n roadmap: COLORS.blueGrey[600],\n roadmapContent: COLORS.blueGrey[500],\n\n // Keyboard hint\n keyboardHintKey: COLORS.blueGrey[500],\n },\n\n // predefined shadows\n shadows: {\n xs: [[0, 1, 2, 0, ...COLORS.blueGrey[700], 0.05]],\n sm: [\n [0, 1, 3, 0, ...COLORS.blueGrey[700], 0.05],\n [0, 1, 25, 0, ...COLORS.blueGrey[700], 0.05],\n ],\n md: [\n [0, 4, 8, -2, ...COLORS.blueGrey[700], 0.1],\n [0, 2, 15, -2, ...COLORS.blueGrey[700], 0.06],\n ],\n lg: [\n [0, 12, 16, -4, ...COLORS.blueGrey[700], 0.1],\n [0, 4, 6, -2, ...COLORS.blueGrey[700], 0.05],\n ],\n xl: [\n [15, 20, 24, -4, ...COLORS.blueGrey[700], 0.1],\n [0, 8, 8, -4, ...COLORS.blueGrey[700], 0.06],\n ],\n scrolling: [[0, 0, 8, 0, ...COLORS.blueGrey[700], 0.2]],\n },\n\n // predefined borders\n borders: {\n default: ['1px', 'solid', ...COLORS.grey[50]],\n active: ['4px', 'solid', ...primary.light],\n xsActive: ['3px', 'solid', ...primary.light],\n focus: ['4px', 'solid', ...secondary.default, OPACITY_20_PERCENT],\n heavy: ['2px', 'solid', ...COLORS.grey[50]],\n },\n\n avatar: {\n color: [\n COLORS.blueGrey[100],\n COLORS.indigo[100],\n COLORS.tangerine[100],\n COLORS.green[100],\n COLORS.yellowGreen[100],\n COLORS.yellow[100],\n COLORS.orange[100],\n COLORS.red[100],\n COLORS.blue[100],\n ],\n contrast: [\n COLORS.blueGrey[900],\n COLORS.indigo[900],\n COLORS.tangerine[900],\n COLORS.green[900],\n COLORS.yellowGreen[900],\n COLORS.yellow[900],\n COLORS.orange[900],\n COLORS.red[900],\n COLORS.blue[900],\n ],\n },\n\n // Theme specific icons and images\n images: {\n azure: 'azure.svg',\n bitbucket: 'bitbucket.svg',\n github: 'github.svg',\n gitlab: 'gitlab.svg',\n microsoft: 'microsoft.svg',\n 'cayc-1': 'cayc-1-light.gif',\n 'cayc-2': 'cayc-2-light.gif',\n 'cayc-3': 'cayc-3-light.svg',\n 'cayc-4': 'cayc-4-light.svg',\n 'new-code-1': 'new-code-1.svg',\n 'new-code-2': 'new-code-2-light.svg',\n 'new-code-3': 'new-code-3.gif',\n 'new-code-4': 'new-code-4.gif',\n 'new-code-5': 'new-code-5.png',\n 'pull-requests-1': 'pull-requests-1-light.gif',\n 'pull-requests-2': 'pull-requests-2-light.svg',\n 'pull-requests-3': 'pull-requests-3.svg',\n 'quality-gate-1': 'quality-gate-1.png',\n 'quality-gate-2a': 'quality-gate-2a.svg',\n 'quality-gate-2b': 'quality-gate-2b.png',\n 'quality-gate-2c': 'quality-gate-2c.png',\n 'quality-gate-3': 'quality-gate-3-light.svg',\n 'quality-gate-4': 'quality-gate-4.png',\n 'quality-gate-5': 'quality-gate-5.svg',\n\n // project configure page\n AzurePipe: '/images/alms/azure.svg',\n BitbucketPipe: '/images/alms/bitbucket.svg',\n BitbucketAzure: '/images/alms/azure.svg',\n BitbucketCircleCI: '/images/tutorials/circleci.svg',\n GitHubActions: '/images/alms/github.svg',\n GitHubCircleCI: '/images/tutorials/circleci.svg',\n GitHubTravis: '/images/tutorials/TravisCI-Mascot.png',\n GitLabPipeline: '/images/alms/gitlab.svg',\n },\n};\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { memoize } from 'lodash';\nimport { Dict } from '../types/types';\n\nconst parseCookies = memoize((documentCookie: string): Dict<string> => {\n const rawCookies = documentCookie.split('; ');\n const cookies: Dict<string> = {};\n rawCookies.forEach((candidate) => {\n const [key, value] = candidate.split('=');\n cookies[key] = value;\n });\n return cookies;\n});\n\nexport function getCookie(name: string): string | undefined {\n return parseCookies(document.cookie)[name];\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { EnhancedWindow } from '../types/browser';\n\nexport function getEnhancedWindow() {\n return window as unknown as EnhancedWindow;\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { ParsableDate } from '../types/dates';\n\nfunction pad(number: number) {\n if (number < 10) {\n return '0' + number.toString();\n }\n return number;\n}\n\nexport function parseDate(rawDate: ParsableDate): Date {\n return new Date(rawDate);\n}\n\nexport function toShortISO8601String(rawDate: ParsableDate): string {\n const date = parseDate(rawDate);\n return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;\n}\n\nexport function toISO8601WithOffsetString(rawDate: ParsableDate): string {\n const date = parseDate(rawDate);\n // JS ISO Date implementation returns a datetime in UTC time (suffixed by \"Z\"). But the backend\n // expects a datetime with a timeoffset (e.g., +0200). UTC time is actually \"+0000\", so we convert\n // the string to this other format for the backend. The backend also doesn't expect milliseconds, so\n // we truncate that part, too.\n return date.toISOString().split('.')[0] + '+0000';\n}\n\nexport function isValidDate(date: Date): boolean {\n return !isNaN(date.getTime());\n}\n\nexport function now() {\n return new Date();\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { isAfter } from 'date-fns';\nimport { AppVariablesElement } from '../types/browser';\nimport { getEnhancedWindow } from './browser';\nimport { parseDate } from './dates';\n\nexport function getBaseUrl() {\n return getEnhancedWindow().baseUrl;\n}\n\nexport function getSystemStatus() {\n return getEnhancedWindow().serverStatus;\n}\n\nexport function getInstance() {\n return getEnhancedWindow().instance;\n}\n\nexport function isOfficial() {\n return getEnhancedWindow().official;\n}\n\nexport function getReactDomContainerSelector() {\n return '#content';\n}\n\nexport function initAppVariables() {\n const appVariablesDiv = document.querySelector<AppVariablesElement>(\n getReactDomContainerSelector(),\n );\n if (appVariablesDiv === null) {\n throw new Error('Failed to get app variables');\n }\n\n getEnhancedWindow().baseUrl = appVariablesDiv.dataset.baseUrl;\n getEnhancedWindow().serverStatus = appVariablesDiv.dataset.serverStatus;\n getEnhancedWindow().instance = appVariablesDiv.dataset.instance;\n getEnhancedWindow().official = Boolean(appVariablesDiv.dataset.official);\n}\n\nexport function isCurrentVersionEOLActive(versionEOL: string) {\n return isAfter(parseDate(versionEOL), new Date());\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { getBaseUrl } from './system';\n\nexport default function handleRequiredAuthentication() {\n const returnTo = window.location.pathname + window.location.search + window.location.hash;\n const searchParams = new URLSearchParams({ return_to: returnTo });\n window.location.replace(`${getBaseUrl()}/sessions/new?${searchParams.toString()}`);\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { getJSON } from '~sonar-aligned/helpers/request';\nimport { L10nBundleRequestParams, L10nBundleRequestResponse } from '../types/l10nBundle';\n\nexport function fetchL10nBundle(\n params: L10nBundleRequestParams,\n): Promise<L10nBundleRequestResponse> {\n return getJSON('/api/l10n/index', params);\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nexport const defaultMessages = {\n //------------------------------------------------------------------------------\n //\n // GENERIC WORDS, sorted alphabetically\n //\n //------------------------------------------------------------------------------\n\n about: 'About',\n about_x: 'About {x}',\n action: 'Action',\n actions: 'Actions',\n active: 'Active',\n activate: 'Activate',\n add_verb: 'Add',\n admin: 'Admin',\n after: 'After',\n ai_code: 'AI Code',\n ai_code_assurance: 'AI CODE ASSURANCE',\n apply: 'Apply',\n all: 'All',\n and: 'And',\n anonymous: 'Anonymous',\n any: 'Any',\n ascending: 'Ascending',\n assignee: 'Assignee',\n author: 'Author',\n billion: 'Billion',\n bitbucket: 'Bitbucket',\n back: 'Back',\n backup: 'Backup',\n backup_verb: 'Back up',\n best: 'Best',\n beta: 'BETA',\n blocker: 'Blocker',\n bold: 'Bold',\n branch: 'Branch',\n 'branch.small': 'branch',\n breadcrumbs: 'Breadcrumbs',\n expand_breadcrumbs: 'Expand breadcrumbs',\n by_: 'by',\n calendar: 'Calendar',\n cancel: 'Cancel',\n category: 'Category',\n attribute: 'Attribute',\n see_changelog: 'See Changelog',\n changelog: 'Changelog',\n change_verb: 'Change',\n check_all: 'Check all',\n choose_file: 'Choose file',\n class: 'Class',\n classes: 'Classes',\n clean_as_you_code: 'Clean as You Code',\n clear_file: 'Clear file',\n close: 'Close',\n closed: 'Closed',\n code: 'Code',\n color: 'Color',\n collapse_all: 'Collapse all',\n compare: 'Compare',\n complete: 'Complete',\n component: 'Component',\n contains_ai_code: 'CONTAINS AI CODE',\n configure: 'Configure',\n confirm: 'Confirm',\n continue: 'Continue',\n copy: 'Copy',\n create: 'Create',\n create_new_element: 'Create new element',\n created: 'Created',\n created_on: 'Created on',\n critical: 'Critical',\n current: 'current',\n current_noun: 'Current',\n customize: 'Customize',\n date: 'Date',\n days: 'Days',\n default: 'Default',\n delete: 'Delete',\n delete_x: 'Delete {0}',\n deprecated: 'Deprecated',\n descending: 'Descending',\n description: 'Description',\n directories: 'Directories',\n directory: 'Directory',\n disabled_: 'disabled',\n dismiss: 'Dismiss',\n dismiss_permanently: 'Dismiss permanently',\n display: 'Display',\n documentation: 'documentation',\n done: 'Done',\n download_verb: 'Download',\n duplications: 'Duplications',\n end_date: 'End Date',\n edit: 'Edit',\n error: 'Error',\n events: 'Events',\n example: 'Example',\n expand_all: 'Expand all',\n explore: 'Explore',\n extend: 'Extend',\n false: 'False',\n favorite: 'Favorite',\n field_required: 'This field is required',\n fields_marked_with_x_required: 'All fields marked with {star} are required',\n file: 'File',\n files: 'Files',\n filters: 'Filters',\n follow: 'Follow',\n format: 'Format',\n from: 'From',\n global: 'Global',\n github: 'GitHub',\n go_back: 'Go back',\n got_it: 'Got it',\n help: 'Help',\n here: 'here',\n hide: 'Hide',\n ide: 'IDE',\n inactive: 'Inactive',\n info: 'Info',\n issue: 'Issue',\n issues: 'Issues',\n inheritance: 'Inheritance',\n internal: 'internal',\n key: 'Key',\n later: 'Later',\n language: 'Language',\n last_analysis: 'Last Analysis',\n learn_more: 'Learn More',\n learn_more_x: 'Learn More: {link}',\n 'learn_more.clean_code': 'Learn more: Clean as You Code',\n lets_go: \"Let's go\",\n library: 'Library',\n line_number: 'Line Number',\n links: 'Links',\n list_of_issues: 'List of issues',\n list_of_projects: 'List of projects',\n list_of_rules: 'List of rules',\n load_more: 'Load more',\n load_verb: 'Load',\n loading: 'Loading',\n login: 'Login',\n major: 'Major',\n manual: 'Manual',\n max: 'Max',\n max_results_reached: 'Only the first {0} results are displayed',\n me: 'Me',\n members: 'Members',\n menu: 'Menu',\n min: 'Min',\n minor: 'Minor',\n more: 'More',\n more_x: '{0} more',\n more_actions: 'More Actions',\n my_issues: 'My Issues',\n my_favorite: 'My Favorite',\n my_favorites: 'My Favorites',\n my_projects: 'My Projects',\n name: 'Name',\n navigation: 'Navigation',\n never: 'Never',\n new: 'New',\n next: 'Next',\n next_month_x: 'next month {month}',\n new_name: 'New name',\n next_: 'next',\n none: 'None',\n no_file_selected: 'No file selected',\n no_tags: 'No tags',\n not_now: 'Not now',\n not_impacted: 'Not impacted',\n off: 'off',\n on: 'on',\n or: 'Or',\n open: 'Open',\n open_in_ide: 'Open in IDE',\n open_issues: 'Open issues',\n optional: 'Optional',\n order: 'Order',\n owner: 'Owner',\n parameters: 'Parameters',\n password: 'Password',\n confirm_password: 'Confirm Password',\n path: 'Path',\n permalink: 'Permanent Link',\n plugin: 'Plugin',\n preview: 'Preview',\n previous: 'Previous',\n previous_: 'previous',\n previous_month_x: 'previous month {month}',\n prioritized: 'Prioritized',\n profile_name: 'Profile name',\n project: 'Project',\n project_x: 'Project: {0}',\n projects: 'Projects',\n projects_: 'project(s)',\n x_projects_: '{0} project(s)',\n project_plural: 'projects',\n projects_management: 'Projects Management',\n 'pull_request.small': 'pull request',\n quality_profile: 'Quality Profile',\n raw: 'Raw',\n recent_history: 'Recent History',\n recently_browsed: 'Recently Browsed',\n recommended: 'Recommended',\n refresh: 'Refresh',\n reload: 'Reload',\n remove: 'Remove',\n remove_x: 'Remove {0}',\n rename: 'Rename',\n replaces: 'Replaces',\n required: 'Required',\n reset_verb: 'Reset',\n reset_to_default: 'Reset To Default',\n reset_date: 'Reset dates',\n resolution: 'Resolution',\n resolve: 'Resolve',\n restart: 'Restart',\n restore: 'Restore',\n result: 'Result',\n results: 'Results',\n x_results: '{0} results',\n review: 'Review',\n rule: 'Rule',\n rules: 'Rules',\n save: 'Save',\n search_results: 'Search results',\n search_verb: 'Search',\n secondary: 'Secondary',\n see_all: 'See all',\n see_x: 'See {0}',\n select_verb: 'Select',\n selected: 'Selected',\n select_tags: 'Add or remove tags',\n set: 'Set',\n set_up: 'Set Up',\n setup: 'Setup',\n settings: 'Settings',\n severity: 'Severity',\n severity_deprecated: 'Severity (deprecated)',\n shared: 'Shared',\n start_date: 'Start Date',\n x_show: '{0} shown',\n x_selected: '{0} selected',\n x_of_y_shown: '{0} of {1} shown',\n size: 'Size',\n skip: 'Skip',\n skip_to_content: 'Skip to main content',\n status: 'Status',\n support: 'Support',\n success: 'Success',\n table: 'Table',\n tags: 'Tags',\n tags_list_x: 'Tags list: {0}',\n technical_debt: 'Technical Debt',\n template: 'Template',\n title: 'Title',\n to: 'To',\n to_: 'to',\n total: 'Total',\n tours: 'Tours',\n treemap: 'Treemap',\n true: 'True',\n type: 'Type',\n unassigned: 'Not assigned',\n uncheck_all: 'Uncheck all',\n unit_test: 'Unit test',\n unit_tests: 'Unit tests',\n unknown: 'Unknown',\n unresolved: 'Unresolved',\n updated: 'Updated',\n updated_on: 'Updated on',\n updates: 'Updates',\n update_verb: 'Update',\n updating: 'Updating',\n unselected: 'Unselected',\n user: 'User',\n value: 'Value',\n variation: 'Variation',\n version: 'Version',\n version_x: 'Version {0}',\n view: 'View',\n views: 'Views',\n violations: 'Violations',\n visibility: 'Visibility',\n warnings: 'Warnings',\n with: 'With',\n worst: 'Worst',\n yes: 'Yes',\n no: 'No',\n valid_input: 'Valid input',\n\n //------------------------------------------------------------------------------\n //\n // GENERIC EXPRESSIONS, sorted alphabetically\n //\n //------------------------------------------------------------------------------\n\n '404_not_found': '404 Not found',\n address_mistyped_or_page_moved: 'You may have mistyped the address or the page may have moved.',\n and_worse: 'and worse',\n are_you_sure: 'Are you sure?',\n as_explained_here: 'as explained here',\n assigned_to: 'Assigned to',\n bulk_change: 'Bulk Change',\n bulleted_point: 'Bulleted point',\n clear: 'Clear',\n clear_x_filter: 'Clear {0} Filters',\n clear_all_filters: 'Clear All Filters',\n coding_rules: 'Rules',\n copy_to_clipboard: 'Click to copy to clipboard',\n copied_action: 'Copied to clipboard',\n created_by: 'Created by',\n default_error_message: 'The request cannot be processed. Try again later.',\n default_component_error_message: 'The component cannot be loaded. Try again later.',\n default_save_field_error_message: 'This field cannot be saved. Try again later.',\n default_severity: 'Default severity',\n edit_permissions: 'Edit Permissions',\n show_permissions: 'Show Permissions',\n facet_might_have_more_results:\n 'There might be more results, try another set of filters to see them.',\n false_positive: 'False positive',\n go_back_to_homepage: 'Go back to the homepage',\n last_analysis_before: 'Last analysis before',\n less_than_1_hour_ago: '< 1 hour ago',\n local: 'Local',\n logging_out: \"You're logging out, please wait...\",\n manage: 'Manage',\n managed: 'From {0}',\n 'managed.github': 'GitHub',\n 'managed.gitlab': 'GitLab',\n 'managed.SCIM': 'IdP',\n management: 'Management',\n more_information: 'More information',\n new_violations: 'New violations',\n new_window: 'New window',\n no_data: 'No data',\n no_measure_value_x: 'No measure value for {0}',\n results_shown_x: '{count} results shown',\n no_results: 'No results',\n no_results_for_x: 'No results for \"{0}\"',\n no_results_search: \"We couldn't find any results matching selected criteria.\",\n 'no_results_search.favorites':\n \"We couldn't find any results matching selected criteria in your favorites.\",\n 'no_results_search.2': 'Try to change filters to get some results.',\n 'no_results_search.favorites.2': 'Would you like to search among {url} projects?',\n opens_in_new_window: 'Opens in a new window',\n page_extension_failed: 'Page extension failed.',\n page_not_found: 'The page you were looking for does not exist.',\n please_contact_administrator: 'Please contact the instance administrator.',\n set_as_default: 'Set as Default',\n 'short_number_suffix.g': 'G',\n 'short_number_suffix.k': 'k',\n 'short_number_suffix.m': 'M',\n show_less: 'Show Less',\n show_less_filter_x: 'Show less results for \"{0}\" filter',\n show_more: 'Show More',\n show_more_filter_x: 'Show more results for \"{0}\" filter',\n show_all: 'Show All',\n show_them: 'Show Them',\n should_be_unique: 'Should be unique',\n since_x: 'since {0}',\n since_version: 'since version {0}',\n 'since_version.short': '{0}',\n since_version_detailed: 'since version {0} ({1})',\n 'since_version_detailed.short': '{0} ({1})',\n since_previous_version: 'since previous version',\n 'since_previous_version.short': '\\u0394 version',\n since_previous_version_detailed: 'since previous version ({0} - {1})',\n since_previous_version_with_only_date: 'since previous version ({0})',\n 'since_previous_version_detailed.short': '\\u0394 version ({0})',\n this_name_is_already_taken: 'This name is already taken.',\n tooltip_is_interactive:\n 'This is a tooltip with interactive elements. Use the TAB key to cycle through the interactive elements.',\n update_details: 'Update details',\n update_scm: 'Update SCM details',\n 'work_duration.x_days': '{0}d',\n 'work_duration.x_hours': '{0}h',\n 'work_duration.x_minutes': '{0}min',\n 'work_duration.about': '~ {0}',\n\n //------------------------------------------------------------------------------\n //\n // Open Fix in ide\n //\n //------------------------------------------------------------------------------\n view_fix_in_ide: 'View fix in IDE',\n 'fix_in_ide.report_success': 'Success. Switch to your IDE to see the fix.',\n 'fix_in_ide.report_error': 'Unable to open the fix in the IDE.',\n 'unable_to_find_ide_with_fix.error':\n 'Unable to find IDE with capabilities to show fix suggestions',\n\n //------------------------------------------------------------------------------\n //\n // DAY PICKER\n //\n //------------------------------------------------------------------------------\n\n January: 'January',\n February: 'February',\n March: 'March',\n April: 'April',\n May: 'May',\n June: 'June',\n July: 'July',\n August: 'August',\n September: 'September',\n October: 'October',\n November: 'November',\n December: 'December',\n Jan: 'Jan',\n Feb: 'Feb',\n Mar: 'Mar',\n Apr: 'Apr',\n Jun: 'Jun',\n Jul: 'Jul',\n Aug: 'Aug',\n Sep: 'Sep',\n Oct: 'Oct',\n Nov: 'Nov',\n Dec: 'Dec',\n Sunday: 'Sunday',\n Monday: 'Monday',\n Tuesday: 'Tuesday',\n Wednesday: 'Wednesday',\n Thursday: 'Thursday',\n Friday: 'Friday',\n Saturday: 'Saturday',\n Sun: 'Sun',\n Mon: 'Mon',\n Tue: 'Tue',\n Wed: 'Wed',\n Thu: 'Thu',\n Fri: 'Fri',\n Sat: 'Sat',\n Su: 'Su',\n Mo: 'Mo',\n Tu: 'Tu',\n We: 'We',\n Th: 'Th',\n Fr: 'Fr',\n Sa: 'Sa',\n\n 'clear.start': 'Clear start date',\n 'clear.end': 'Clear end date',\n\n //------------------------------------------------------------------------------\n //\n // ALM\n //\n //------------------------------------------------------------------------------\n\n 'alm.azure': 'Azure DevOps',\n 'alm.azure.short': 'Azure DevOps',\n 'alm.bitbucket': 'Bitbucket',\n 'alm.bitbucket.short': 'Bitbucket',\n 'alm.bitbucket.long': 'Bitbucket Server',\n 'alm.bitbucketcloud': 'Bitbucket',\n 'alm.bitbucketcloud.short': 'Bitbucket',\n 'alm.bitbucketcloud.long': 'Bitbucket Cloud',\n 'alm.github': 'GitHub',\n 'alm.github.short': 'GitHub',\n 'alm.github.organization': 'organization',\n 'alm.gitlab': 'GitLab',\n 'alm.gitlab.short': 'GitLab',\n 'alm.configuration.selector.label': '{0} configuration',\n 'alm.configuration.selector.placeholder': 'Select a configuration',\n\n //------------------------------------------------------------------------------\n //\n // RESOURCE QUALIFIERS\n //\n //------------------------------------------------------------------------------\n\n 'qualifier.TRK': 'Project',\n 'qualifier.DIR': 'Directory',\n 'qualifier.PAC': 'Package',\n 'qualifier.VW': 'Portfolio',\n 'qualifier.SVW': 'Portfolio',\n 'qualifier.APP': 'Application',\n 'qualifier.FIL': 'File',\n 'qualifier.CLA': 'File',\n 'qualifier.UTS': 'Test File',\n\n 'qualifier.configuration.TRK': 'Project Configuration',\n 'qualifier.configuration.VW': 'Portfolio Configuration',\n 'qualifier.configuration.SVW': 'Portfolio Configuration',\n 'qualifier.configuration.APP': 'Application Configuration',\n\n 'qualifiers.TRK': 'Projects',\n 'qualifiers.DIR': 'Directories',\n 'qualifiers.PAC': 'Packages',\n 'qualifiers.VW': 'Portfolios',\n 'qualifiers.SVW': 'Portfolios',\n 'qualifiers.APP': 'Applications',\n 'qualifiers.FIL': 'Files',\n 'qualifiers.CLA': 'Files',\n 'qualifiers.UTS': 'Test Files',\n\n 'qualifiers.all.TRK': 'All Projects',\n 'qualifiers.all.VW': 'All Portfolios',\n 'qualifiers.all.APP': 'All Applications',\n\n 'qualifiers.new.TRK': 'New Project',\n 'qualifiers.new.VW': 'New Portfolio',\n 'qualifiers.new.APP': 'New Application',\n\n 'qualifier.delete.TRK': 'Delete Project',\n 'qualifier.delete.VW': 'Delete Portfolio',\n 'qualifier.delete.APP': 'Delete Application',\n\n 'qualifiers.delete.TRK': 'Delete Projects',\n 'qualifiers.delete.VW': 'Delete Portfolios',\n 'qualifiers.delete.APP': 'Delete Applications',\n\n 'qualifier.delete_confirm.TRK': 'Do you want to delete this project?',\n 'qualifier.delete_confirm.VW': 'Do you want to delete this portfolio?',\n 'qualifier.delete_confirm.APP': 'Do you want to delete this application?',\n\n 'qualifiers.delete_confirm.TRK': 'Do you want to delete these projects?',\n 'qualifiers.delete_confirm.VW': 'Do you want to delete these portfolios?',\n 'qualifiers.delete_confirm.APP': 'Do you want to delete these applications?',\n\n 'qualifiers.create.TRK': 'Create Project',\n 'qualifiers.create.VW': 'Create Portfolio',\n 'qualifiers.create.APP': 'Create Application',\n\n 'qualifiers.update.VW': 'Update Portfolio',\n 'qualifiers.update.APP': 'Update Application',\n\n 'qualifier.description.VW': 'Potentially multi-level, management-oriented overview aggregation.',\n 'qualifier.description.SVW': 'Potentially multi-level, management-oriented overview aggregation.',\n 'qualifier.description.APP':\n 'Single-level aggregation with a technical focus and a project-like homepage.',\n\n //------------------------------------------------------------------------------\n //\n // Admin notification\n //\n //------------------------------------------------------------------------------\n 'admin_notification.update.new_patch':\n 'There’s an update available for your {productName} instance. Please update to make sure you benefit from the latest security and bug fixes.',\n 'admin_notification.update.new_version':\n 'There’s a new version of {productName} available. Upgrade to the latest version to access new updates and features.',\n 'admin_notification.update.current_version_inactive':\n 'You’re running a version of {productName} that is no longer active. Please upgrade to an active version as soon as possible.',\n 'admin_notification.update.new_sqcb_version':\n 'Keep your instance current and get the {link}, available now.',\n 'admin_notification.update.latest': 'latest {productName}',\n 'admin_notification.update.new_sqs_version_when_running_sqcb.banner':\n 'There’s a new version of SonarQube Server available.',\n 'admin_notification.update.new_sqs_version_when_running_sqcb.modal':\n 'New SonarQube Server version available',\n 'admin_notification.update.new_sqs_version_when_running_sqcb.upgrade':\n 'Upgrade to SonarQube Server and get access to enterprise features',\n\n //------------------------------------------------------------------------------\n //\n // PROJECT LINKS\n //\n //------------------------------------------------------------------------------\n\n 'project_links.homepage': \"Project's Website\",\n 'project_links.ci': 'Continuous integration',\n 'project_links.issue': 'Bug Tracker',\n 'project_links.scm': 'Sources',\n 'project_links.scm_ro': 'Read-only connection',\n 'project_links.scm_dev': 'Developer connection',\n\n 'project_links.create_new_project_link': 'Create New Project Link',\n 'project_links.delete_project_link': 'Delete Project Link',\n 'project_links.are_you_sure_to_delete_x_link': 'Are you sure you want to delete the \"{0}\" link?',\n 'project_links.delete_x_link': 'Delete \"{0}\" link',\n 'project_links.name': 'Name',\n 'project_links.url': 'URL',\n 'project_links.no_results': 'No links yet. Click \"Create\" to add one.',\n\n //------------------------------------------------------------------------------\n //\n // EVENT CATEGORIES\n //\n //------------------------------------------------------------------------------\n\n 'event.category.All': 'All',\n 'event.category.VERSION': 'Version',\n 'event.category.QUALITY_GATE': 'Quality Gate',\n 'event.category.QUALITY_PROFILE': 'Quality Profile',\n 'event.category.SQ_UPGRADE': '{productName} upgrade',\n 'event.category.DEFINITION_CHANGE': 'Definition Change',\n 'event.category.ISSUE_DETECTION': 'Issue Detection',\n 'event.category.OTHER': 'Other',\n 'event.quality_gate.still_x': 'Still {status}',\n 'event.quality_gate.ERROR': 'Failed',\n 'event.quality_gate.OK': 'Passed',\n 'event.definition_change.added': '{project} added',\n 'event.definition_change.removed': '{project} removed',\n 'event.definition_change.branch_added': '{project} {branch} added',\n 'event.definition_change.branch_removed': '{project} {branch} removed',\n 'event.definition_change.branch_replaced': '{project} {oldBranch} replaced with {newBranch}',\n 'event.failed_conditions': 'Failed Conditions:',\n 'event.sqUpgrade': 'First analysis since upgrading to {productName} {sqVersion}',\n\n //------------------------------------------------------------------------------\n //\n // GLOBAL NAVIGATION\n //\n //------------------------------------------------------------------------------\n\n 'global_nav.account.tooltip': 'Account',\n\n //------------------------------------------------------------------------------\n //\n // LAYOUT\n //\n //------------------------------------------------------------------------------\n\n 'layout.home': 'Home',\n 'layout.login': 'Log in',\n 'layout.logout': 'Log out',\n 'layout.measures': 'Measures',\n 'layout.settings': 'Administration',\n 'layout.security_hotspots': 'Security Hotspots',\n 'layout.dependencies': 'Dependencies',\n 'layout.settings.TRK': 'Project Settings',\n 'layout.settings.APP': 'Application Settings',\n 'layout.settings.VW': 'Portfolio Settings',\n 'layout.settings.SVW': 'Portfolio Settings',\n 'layout.security_reports': 'Security Reports',\n 'layout.nav.home_logo_alt': 'Logo, link to homepage',\n 'layout.nav.home_sonarqube_logo_alt': '{productName} logo, link to homepage',\n 'layout.must_be_configured':\n 'This will be available once your project is configured and analyzed.',\n 'layout.all_project_must_be_accessible':\n 'You need access to all projects within this {0} to access it.',\n\n 'sidebar.projects': 'Projects',\n 'sidebar.project_settings': 'Configuration',\n 'sidebar.security': 'Security',\n 'sidebar.system': 'System',\n 'sidebar.tools': 'Tools',\n\n //------------------------------------------------------------------------------\n //\n // VISIBILITY\n //\n //------------------------------------------------------------------------------\n\n 'visibility.both': 'Public, Private',\n 'visibility.public': 'Public',\n 'visibility.public.description.TRK':\n 'This project is public. Anyone can browse and see the source code.',\n 'visibility.public.description.VW': 'This portfolio is public. Anyone can browse it.',\n 'visibility.public.description.APP': 'This application is public. Anyone can browse it.',\n 'visibility.public.description.short': 'Anyone can browse and see the source code.',\n 'visibility.public.description.long':\n 'Anyone will be able to browse your source code and see the result of your analysis.',\n 'visibility.private': 'Private',\n 'visibility.private.description.TRK':\n 'This project is private. Only authorized users can browse and see the source code.',\n 'visibility.private.description.VW':\n 'This portfolio is private. Only authorized users can browse it.',\n 'visibility.private.description.APP':\n 'This application is private. Only authorized users can browse it.',\n 'visibility.private.description.short':\n 'Only authorized users can browse and see the source code.',\n 'visibility.private.description.long':\n 'Only members of the organization will be able to browse your source code and see the result of your analysis.',\n\n //------------------------------------------------------------------------------\n //\n // ADMIN PAGE TITLES and descriptions\n //\n //------------------------------------------------------------------------------\n\n 'coding_rules.page': 'Rules',\n 'coding_rule.page': '{0} rule: {1}',\n 'global_permissions.page': 'Global Permissions',\n 'global_permissions.page.description':\n 'Grant and revoke permissions to make changes at the global level. These permissions include editing Quality Profiles, executing analysis, and performing global system administration.',\n 'roles.page': 'Project Permissions',\n 'roles.page.description2':\n 'Grant and revoke project-level permissions. Permissions can be granted to groups or individual users.',\n 'roles.page.description_portfolio':\n 'Grant and revoke portfolio-level permissions. Permissions can be granted to groups or individual users.',\n 'roles.page.description_application':\n 'Grant and revoke application-level permissions. Permissions can be granted to groups or individual users.',\n 'roles.page.description.github':\n 'Project permissions are read-only for users provisioned from GitHub. For non-GitHub users, permissions can only be removed.',\n 'roles.page.description.gitlab':\n 'Project permissions are read-only for users provisioned from GitLab. For non-GitLab users, permissions can only be removed.',\n 'roles.page.change_visibility': 'Change project visibility',\n 'project_permission.managed': 'Provisioned from {0}',\n 'project_permission.local_project_with_github_provisioning':\n 'Please note that this project is not linked to GitHub. Bind it to GitHub to benefit from permission provisioning.',\n 'project_permission.local_project_with_gitlab_provisioning':\n 'Please note that this project is not linked to GitLab. Bind it to GitLab to benefit from permission provisioning.',\n 'project_permission.remove_only_confirmation':\n 'Are you sure you want to remove the permission {permission} from {holder}? The permission can not be added back.',\n 'project_permission.remove_only_confirmation_title': 'Remove permission',\n 'project_settings.page': 'General Settings',\n 'project_settings.page.description': 'Edit project settings.',\n 'project_links.page': 'Links',\n 'project_links.page.description': 'Edit some links associated with this project.',\n 'projects_management.page.description':\n 'Use this page to delete multiple projects at once, or to provision projects if you would like to configure them before the first analysis. Note that once a project is provisioned, you have access to perform all project configurations on it.',\n 'settings.page': 'General Settings',\n 'settings.page.description': 'Edit global settings for this {instance} instance.',\n 'system_info.page': 'System Info',\n 'project_quality_profiles.page': 'Quality Profiles',\n 'project_quality_profiles.page.description':\n 'Choose which profile is associated with this project on a language-by-language basis.',\n 'project_quality_gate.page': 'Quality Gate',\n 'project_quality_gate.page.description':\n 'Choose which quality gate is associated with this project.',\n 'update_key.page': 'Update Key',\n 'update_key.page.description':\n 'Edit the key of a project. Key changes must be made here BEFORE analyzing the project with the new keys, otherwise the analysis will simply create another project with the new key, rather than updating the existing project.',\n 'deletion.page': 'Deletion',\n 'project_deletion.page.description': 'Delete this project. The operation cannot be undone.',\n 'portfolio_deletion.page.description':\n 'This portfolio and its sub-portfolios will be deleted. If this portfolio is referenced by other entities, it will be removed from them. Independent entities referenced by this portfolio, such as projects and other top-level portfolios will not be deleted. This operation cannot be undone.',\n 'application_deletion.page.description':\n 'Delete this application. Application projects will not be deleted. Projects referenced by this application will not be deleted. This operation cannot be undone.',\n 'application.branches.help':\n 'Easily create Application branches composed of the branches of projects in your application.',\n 'application.branches.link': 'Create Branch',\n 'project_branch_pull_request.page': 'Branches & Pull Requests',\n 'project_branch_pull_request.lifetime_information':\n 'Branches and Pull Requests are permanently deleted after {days} days without analysis.',\n 'project_branch_pull_request.lifetime_information.admin':\n 'You can adjust this value globally in {settings}.',\n 'project_branch_pull_request.branch.rename': 'Rename branch',\n 'project_branch_pull_request.branch.set_main': 'Set as main branch',\n 'project_branch_pull_request.branch.set_x_as_main': 'Set \"{branch}\" as the main branch',\n 'project_branch_pull_request.branch.delete': 'Delete branch',\n 'project_branch_pull_request.branch.actions_label': 'Update {0}',\n 'project_branch_pull_request.branch.delete.are_you_sure':\n 'Are you sure you want to delete branch \"{name}\"?',\n 'project_branch_pull_request.branch.main_branch.are_you_sure':\n 'Are you sure you want to set branch \"{branch}\" as the main branch of this project?',\n 'project_branch_pull_request.branch.main_branch.requires_reindex':\n 'Changing the main branch of your project will trigger a project re-indexing and may impact the level of information that is available until re-indexing is complete.',\n 'project_branch_pull_request.branch.main_branch.learn_more':\n 'Please refer to the {documentation} to understand the impacts of changing the main branch.',\n 'project_branch_pull_request.branch.auto_deletion.keep_when_inactive': 'Keep when inactive',\n 'project_branch_pull_request.branch.auto_deletion.keep_when_inactive.tooltip':\n 'When turned on, the branch will not be automatically deleted when inactive.',\n 'project_branch_pull_request.branch.auto_deletion.main_branch_tooltip':\n 'The main branch is always excluded from automatic deletion.',\n 'project_branch_pull_request.pull_request.delete': 'Delete Pull Request',\n 'project_branch_pull_request.pull_request.delete.are_you_sure':\n 'Are you sure you want to delete Pull Request \"{name}\"?',\n 'project_branch_pull_request.tabs.branches': 'Branches',\n 'project_branch_pull_request.tabs.pull_requests': 'Pull Requests',\n 'project_branch_pull_request.table.branch': 'Branch',\n 'project_branch_pull_request.table.pull_request': 'Pull Request',\n 'project_branch_pull_request.last_analysis_date': 'Last Analysis Date',\n\n 'project_baseline.page': 'New Code',\n 'project_baseline.page.description':\n 'The new code definition sets which part of your code will be considered new code.',\n 'project_baseline.page.description2': 'You can adjust this setting globally in {link}.',\n 'project_baseline.page.description2.link': 'General Settings',\n 'project_baseline.page.question': 'Choose the baseline for new code for this project',\n 'project_baseline.global_setting': 'Use the global setting',\n 'project_baseline.specific_setting': 'Define a specific setting for this project',\n 'project_baseline.configure_branches': 'Set a specific setting for a branch',\n\n 'project_baseline.compliance.warning.title.project':\n 'Your project new code definition is not compliant with the Clean as You Code methodology',\n\n 'baseline.specific_analysis': 'Specific analysis',\n 'baseline.specific_analysis.description': 'Choose an analysis as the baseline for the new code.',\n 'baseline.specific_analysis.compliance_warning.title':\n 'Choosing the \"Specific analysis\" option from the {productName} UI is not compliant with the Clean as You Code methodology',\n 'baseline.specific_analysis.compliance_warning.explanation':\n 'It has been deprecated. The option remains available through the Web API.',\n 'baseline.specific_analysis.compliance_warning.link': 'Defining New Code',\n 'baseline.reference_branch': 'Reference branch',\n\n 'baseline.reference_branch.description': 'Choose a branch as the baseline for the new code.',\n 'baseline.reference_branch.usecase': 'Recommended for projects using feature branches.',\n 'baseline.reference_branch.description2':\n 'The branch you select as the reference branch will need its own new code definition to prevent it from using itself as a reference.',\n\n 'baseline.last_analysis_before': 'Last analysis before',\n 'baseline.next_analysis_notice': 'Changes will take effect after the next analysis',\n\n 'baseline.reference_branch.choose': 'Choose a branch',\n 'baseline.reference_branch.does_not_exist':\n 'Branch {branch} could not be found in {productName}.',\n 'baseline.reference_branch.cannot_be_itself':\n 'A branch cannot be used as its own reference branch',\n 'baseline.reference_branch.invalid_branch_setting':\n 'Branch {0} cannot use itself as a reference. Define a specific setting instead of using the project-level setting.',\n 'baseline.edit_branch_setting': \"Edit the branch's setting\",\n\n 'branch_list.branch': 'Branch',\n 'branch_list.current_setting': 'Setting',\n 'branch_list.current_baseline': 'Current Baseline',\n 'branch_list.actions': 'Actions',\n 'branch_list.show_actions_for_x': 'Show actions for branch {0}',\n 'branch_list.edit_for_x': 'Edit {0}',\n 'branch_list.default_setting': 'Project setting',\n\n 'baseline.new_code_period_for_branch_x': 'New Code for {0}',\n 'baseline.new_code_period_for_branch_x.question':\n 'Choose the baseline for new code for this branch',\n\n 'regulatory_report.page': 'Regulatory Report',\n 'regulatory_report.description1':\n 'The regulatory report is a zip file containing a snapshot of the selected branch. It contains:',\n 'regulatory_report.bullet_point1': 'An overview of the selected branch of the project.',\n 'regulatory_report.bullet_point2':\n \"The configuration items relevant to the project's quality (quality profile, quality gate, and analysis exclusions).\",\n 'regulatory_report.bullet_point3':\n 'Lists of findings for both new and overall code on the selected branch.',\n 'regulatory_report.description2':\n 'The generation and download of the report may take a few minutes.',\n 'regulatory_page.download_start.sentence':\n 'Your download should start shortly. This may take some time.',\n 'regulatory_page.select_branch': 'Select Branch',\n 'regulatory_page.no_available_branch':\n 'No branch has been analyzed yet, no report can be generated.',\n 'regulatory_page.available_branches_info.only_keep_when_inactive':\n 'Only branches marked as \"Keep when inactive\" are available.',\n 'regulatory_page.available_branches_info.more_info':\n 'For further details, please check the {doc_link}.',\n 'regulatory_page.available_branches_info.more_info.doc_link': 'related documentation',\n\n //------------------------------------------------------------------------------\n //\n // OTHER PAGE TITLES\n //\n //------------------------------------------------------------------------------\n\n 'page_title.template.default': '%s - {productName}',\n 'page_title.template.with_category': '%s - {page} - {productName}',\n 'page_title.template.with_instance': '{project} - %s - {productName}',\n 'overview.page': 'Overview',\n 'code.page': 'Code',\n 'permissions.page': 'Permissions',\n 'quality_profiles.page': 'Quality Profiles',\n 'quality_gates.page': 'Quality Gates',\n 'issues.page': 'Issues',\n 'issues.skip_to_filters': 'Skip to issue filters',\n 'issues.skip_to_list': 'Skip to issues list',\n 'dependencies.page': 'Dependencies',\n 'view_projects.page': 'Projects',\n 'portfolios.page': 'Portfolios',\n 'portfolio_breakdown.page': 'Portfolio Breakdown',\n 'project_activity.page': 'Activity',\n\n //------------------------------------------------------------------------------\n //\n // ASYNC PROCESS\n //\n //------------------------------------------------------------------------------\n\n 'process.still_working': 'Still Working...',\n 'process.fail': 'Failed',\n\n //------------------------------------------------------------------------------\n //\n // SESSION\n //\n //------------------------------------------------------------------------------\n\n 'sessions.log_in': 'Log in',\n //------------------------------------------------------------------------------\n //\n // Audit Logs\n //\n //------------------------------------------------------------------------------\n\n 'audit_logs.page': 'Audit Logs',\n 'audit_logs.page.description.1':\n 'Audit Logs help Administrators keep control and traceability of security related changes performed on the platform.',\n 'audit_logs.page.description.2':\n 'Your instance is set to keep audit logs for {housekeeping}. You can change the number of days by updating your {link}.',\n 'audit_logs.page.description.link': 'housekeeping policy',\n\n 'audit_logs.housekeeping_policy.Weekly': '7 days',\n 'audit_logs.housekeeping_policy.Monthly': '30 days',\n 'audit_logs.housekeeping_policy.Trimestrial': '90 days',\n 'audit_logs.housekeeping_policy.Yearly': 'one year',\n\n 'audit_logs.download': 'Download Audit Logs',\n 'audit_logs.download_start.try_again': 'Try Again',\n 'audit_logs.download_start.sentence.1':\n 'Your download should start shortly. For longer periods this might take some time.',\n 'audit_logs.download_start.sentence.2':\n 'If the download doesn’t start after a few seconds, try to reduce the period for which you are fetching audit logs.',\n 'audit_logs.download_start.sentence.3':\n 'Change your selection above to download additional audit logs.',\n\n 'audit_logs.range_option.today': 'Today',\n 'audit_logs.range_option.7days': '7 days',\n 'audit_logs.range_option.30days': '30 days',\n 'audit_logs.range_option.90days': '90 days',\n 'audit_logs.range_option.custom': 'Custom',\n\n //------------------------------------------------------------------------------\n //\n // HOTSPOTS\n //\n //------------------------------------------------------------------------------\n\n 'risk_exposure.HIGH': 'High',\n 'risk_exposure.MEDIUM': 'Medium',\n 'risk_exposure.LOW': 'Low',\n\n 'hotspots.page': 'Security Hotspots',\n 'hotspots.no_hotspots.title': 'There are no Security Hotspots to review.',\n 'hotspots.no_hotspots.description':\n 'Next time you analyze a piece of code that contains a potential security risk, it will show up here.',\n 'hotspots.no_hotspots_for_file.title': 'The selected file contains no hotspots.',\n 'hotspots.no_hotspots_for_file.description':\n 'Go back and select another file, or click \"Show all hotspots\".',\n 'hotspots.no_hotspots_for_filters.title':\n \"We couldn't find any results matching the selected criteria.\",\n 'hotspots.no_hotspots_for_filters.description': 'Try changing the filters to get some results.',\n 'hotspots.no_hotspots_for_keys.title': 'The requested hotspots no longer exist.',\n 'hotspots.no_hotspots_for_keys.description':\n 'They have been closed because the code involved has been changed or removed.',\n 'hotspots.learn_more': 'Learn more about Security Hotspots',\n 'hotspots.list': 'List of Security Hotspots',\n 'hotspots.list_title': '{0} Security Hotspots',\n 'hotspots.list_title.TO_REVIEW': '{0} Security Hotspots to review',\n 'hotspots.list_title.ACKNOWLEDGED': '{0} Security Hotspots reviewed as acknowledged',\n 'hotspots.list_title.FIXED': '{0} Security Hotspots reviewed as fixed',\n 'hotspots.list_title.SAFE': '{0} Security Hotspots reviewed as safe',\n 'hotspots.risk_exposure': 'Review priority',\n\n 'hotspots.tabs.code': 'Where is the risk?',\n 'hotspots.tabs.risk_description': \"What's the risk?\",\n 'hotspots.tabs.vulnerability_description': 'Assess the risk',\n 'hotspots.tabs.fix_recommendations': 'How can I fix it?',\n 'hotspots.tabs.activity': 'Activity',\n 'hotspots.tabs.code.short': 'Where',\n 'hotspots.tabs.risk_description.short': 'What',\n 'hotspots.tabs.vulnerability_description.short': 'Assess',\n 'hotspots.tabs.fix_recommendations.short': 'How',\n 'hotspots.tabs.activity.short': 'Activity',\n 'hotspots.review_history.created': 'created Security Hotspot',\n 'hotspots.review_history.comment_added': 'added a comment',\n 'hotspots.comment.field': 'Comment:',\n 'hotspots.comment.open': 'Comment',\n 'hotspots.comment.submit': 'Comment',\n 'hotspots.open_in_ide.success': 'Success. Switch to your IDE to see the security hotspot.',\n 'hotspots.open_in_ide.failure':\n \"Unable to connect to your IDE to open the Security Hotspot. Please make sure you're running the latest version of SonarQube for IDE.\",\n\n 'hotspots.assignee.select_user': 'Select a user...',\n 'hotspots.assignee.change_user': 'Click to change assignee',\n 'hotspots.status.cannot_change_status': \"Changing a hotspot's status requires permission.\",\n 'hotspots.status.review': 'Review',\n 'hotspots.status.review_title': 'Review Security Hotspot',\n 'hotspots.status.select': 'Select a status',\n 'hotspots.status.add_comment': 'Add a comment',\n 'hotspots.status.add_comment_optional': 'Add a comment (Optional)',\n 'hotspots.status.change_status': 'Change status',\n\n 'hotspots.status_option.TO_REVIEW': 'To review',\n 'hotspots.status_option.TO_REVIEW.description':\n 'This security hotspot needs to be reviewed to assess whether the code poses a risk.',\n 'hotspots.status_option.ACKNOWLEDGED': 'Acknowledged',\n 'hotspots.status_option.ACKNOWLEDGED.description':\n 'The code has been reviewed and does pose a risk. A fix is required.',\n 'hotspots.status_option.FIXED': 'Fixed',\n 'hotspots.status_option.FIXED.description':\n 'The code has been reviewed and modified to follow the recommended secure coding practices.',\n 'hotspots.status_option.SAFE': 'Safe',\n 'hotspots.status_option.SAFE.description':\n 'The code has been reviewed and does not pose a risk. It does not need to be modified.',\n 'hotspots.get_permalink': 'Get Permalink',\n 'hotspots.no_associated_lines':\n 'This Security Hotspot is not associated with any specific lines of code.',\n 'hotspots.congratulations': 'Congratulations!',\n 'hotspots.find_in_status_filter_x':\n ' You can find it again by setting the status filter to {status_label}.',\n 'hotspots.successful_status_change_to_x': 'The Security Hotspot was successfully changed to {0}.',\n 'hotspots.x_done_keep_going': '{percentage} of the Security Hotspots have been reviewed.',\n 'hotspots.see_x_hotspots': 'See \"{0}\" Security Hotspots',\n 'hotspots.continue_to_next_hotspot': 'Continue Reviewing',\n\n 'hotspot.filters.title': 'Filters',\n 'hotspot.filters.assignee.assigned_to_me': 'Assigned to me',\n 'hotspot.filters.assignee.all': 'All',\n 'hotspot.filters.clear': 'Clear filters',\n 'hotspot.filters.status': 'Status filter',\n 'hotspot.filters.status.to_review': 'To review',\n 'hotspot.filters.status.acknowledged': 'Acknowledged',\n 'hotspot.filters.status.fixed': 'Fixed',\n 'hotspot.filters.period': 'Period filter',\n 'hotspot.filters.period.since_leak_period': 'New Code',\n 'hotspot.filters.period.overall': 'Overall code',\n 'hotspot.filters.status.safe': 'Safe',\n 'hotspot.filters.by_file_or_list_x': 'Your hotspots are currently filtered, {show_all_link}',\n 'hotspot.filters.show_all': 'show all hotspots',\n 'hotspot.section.activity': 'Activity',\n 'hotspot.location.count': '{0} extra location',\n 'hotspot.location.count.plural': '{0} extra locations',\n\n 'hotspots.reviewed.tooltip':\n 'Percentage of open Security Hotspots that have been reviewed (Acknowledged, Fixed or Safe)',\n 'hotspots.review_hotspot': 'Review Hotspot',\n\n 'hotspots.assign.success': 'Security Hotspot was successfully assigned to {0}',\n 'hotspots.assign.unassign.success': 'Security Hotspot was successfully unassigned',\n 'hotspots.update.success': 'Update successful',\n 'hotspots.success_dialog.do_not_show': \"Don't show this dialog next time\",\n\n //------------------------------------------------------------------------------\n //\n // ISSUES\n //\n //------------------------------------------------------------------------------\n\n 'issues.on_file_x': 'Issues on file {0}',\n 'issue.add_tags': 'Add Tags',\n 'issue.remove_tags': 'Remove Tags',\n 'issue.no_tag': 'No tags',\n 'issue.create_tag': 'Create Tag',\n 'issue.create_tag_x': \"Create Tag '{0}'\",\n 'issue.tags': 'Tags',\n 'issue.assign.assigned_to_x_click_to_change': 'Assigned to {0}, click to change',\n 'issue.assign.unassigned_click_to_assign': 'Unassigned, click to assign issue',\n 'issue.assign.formlink': 'Assign',\n 'issue.assign.to_me': 'to me',\n 'issue.quick_fix': 'Quick fix',\n 'issue.quick_fix_available_with_sonarlint': 'Quick fix available in {link}',\n 'issue.quick_fix_available_with_sonarlint_no_link': 'Quick fix available in SonarQube for IDE',\n 'issue.comment.add_comment': 'Add Comment',\n 'issue.comment.add_comment.cancel': 'Cancel adding comment',\n 'issue.comment.enter_comment': 'Enter Comment',\n 'issue.comment.formlink': 'Comment',\n 'issue.comment.formlink.total': 'comment',\n 'issue.comment.formlink.total.plural': 'comments',\n 'issue.comment.explain_why': 'Consider explaining why',\n 'issue.comment.posted_on': 'Comment posted on',\n 'issue.comment.edit': 'Edit comment',\n 'issue.comment.edit.cancel': 'Cancel editing comment',\n 'issue.comment.delete': 'Delete comment',\n 'issue.comment.delete_confirm_message': 'Do you want to delete this comment?',\n 'issue.comment.empty.list': 'There are no comments yet on this issue.',\n 'issue.rule_details': 'Rule Details',\n 'issue.send_notifications': 'Send Notifications',\n 'issue.why_this_issue': 'Why is this an issue?',\n 'issue.why_this_issue.long':\n \"Why is this an issue? Open the rule's details at the bottom of the page.\",\n 'issue.severity.updated_notification.link.standard': \"This {type}'s\",\n 'issue.severity.updated_notification.link.mqr': \"This issue's\",\n 'issue.severity.updated_notification':\n '{issueLink, select, other { {issueLink} }} {quality, select, other { {quality} }} severity was changed from {before} to {after}',\n 'issue.change_status': 'Change Status',\n 'issue.transition.community_plug_link': 'SonarSource Community',\n 'issue.transition.status_x_click_to_change': 'Issue status: {0}, click to change',\n 'issue.transition': 'Transition',\n 'issue.transition.accept': 'Accept',\n 'issue.transition.accept.description':\n \"Valid issue but won't be fixed now, it's acceptable for a while.\",\n 'issue.transition.confirm': 'Confirm',\n 'issue.transition.confirm.description': 'Deprecated',\n 'issue.transition.confirm.deprecated_tooltip.1': 'The Confirm action is deprecated.',\n 'issue.transition.confirm.deprecated_tooltip.2':\n 'If you were using Confirm to communicate with team members, consider assigning the issue or using comments and tags instead.',\n 'issue.transition.confirm.deprecated_tooltip.3':\n 'If you have reviewed this issue but cannot fix it now, consider marking it as Accepted.',\n 'issue.transition.unconfirm': 'Open',\n 'issue.transition.unconfirm.description': 'Reopen issue',\n 'issue.transition.resolve': 'Fixed',\n 'issue.transition.resolve.description': 'Deprecated',\n 'issue.transition.resolve.deprecated_tooltip.1': 'The Resolve as Fixed action is deprecated.',\n 'issue.transition.resolve.deprecated_tooltip.2':\n 'The next analysis result will show if the issue has been fixed, otherwise it will reopen it automatically.',\n 'issue.transition.resolve.deprecated_tooltip.3':\n 'If you were using Resolve as Fixed to communicate with team members that an issue is being fixed, consider assigning it or using comments and tags instead.',\n 'issue.transition.falsepositive': 'False Positive',\n 'issue.transition.falsepositive.description': 'Analysis is mistaken',\n 'issue.transition.reopen': 'Open',\n 'issue.transition.reopen.description': 'Reopen issue',\n 'issue.transition.comment': 'Status change comment',\n 'issue.transition.comment.placeholder.accept': 'Share why (optional)',\n 'issue.transition.comment.placeholder.confirm': 'Share why this is confirmed (optional)',\n 'issue.transition.comment.placeholder.resolve': 'Share why this is fixed (optional)',\n 'issue.transition.comment.placeholder.falsepositive':\n 'Share why this is a false positive (optional)',\n 'issue.transition.close': 'Close',\n 'issue.transition.close.description': '',\n 'issue.transition.wontfix': \"Won't Fix\",\n 'issue.transition.wontfix.description': 'Deprecated',\n 'issue.transition.openasvulnerability': 'Open as Vulnerability',\n 'issue.transition.openasvulnerability.description':\n \"There's a Vulnerability in the code that must be fixed\",\n 'issue.transition.resolveasreviewed': 'Resolve as Reviewed',\n 'issue.transition.resolveasreviewed.description': 'There is no Vulnerability in the code',\n 'issue.transition.resetastoreview': 'Reset as To Review',\n 'issue.transition.resetastoreview.description': 'The Security Hotspot should be analyzed again',\n 'issue.transition.status_change': 'Status change',\n 'issue.transition.go_back_change_status': 'Go back to status change',\n 'issue.transition.change_status': 'Change status',\n 'issue.tabs.code': 'Where is the issue?',\n 'issue.location_x': 'Location {0}',\n 'issue.closed.file_level':\n 'This issue is {status}. It was detected in the file below and is no longer being detected.',\n 'issue.closed.project_level':\n 'This issue is {status}. It was detected in the project below and is no longer being detected.',\n 'issues.assignee.change_user': 'Click to change assignee',\n 'issue.prioritized_rule.description':\n 'The associated rule has been designated as a priority in the Quality Profile, indicating that all corresponding issues in Overall Code should be fixed.',\n\n 'issues.action_select': 'Select issue',\n 'issues.action_select.label': 'Select issue {0}',\n 'issue.set_severity': 'Change Severity',\n 'issue.set_type': 'Change Type',\n\n 'issue.type.CODE_SMELL': 'Code Smell',\n 'issue.type.BUG': 'Bug',\n 'issue.type.VULNERABILITY': 'Vulnerability',\n 'issue.type.SECURITY_HOTSPOT': 'Security Hotspot',\n 'issue.type.SECURITY_HOTSPOT.plural': 'Security Hotspots',\n 'issue.type.CODE_SMELL.plural': 'Code Smells',\n 'issue.type.BUG.plural': 'Bugs',\n 'issue.type.VULNERABILITY.plural': 'Vulnerabilities',\n 'issue.type.tooltip': '{severity} severity.',\n 'issue.type.tooltip_with_change': '{severity} severity. Click to change.',\n 'issue.type.deprecation.title': 'Issue types are deprecated and can no longer be modified.',\n 'issue.type.deprecation.filter_by': 'You can now filter issues by:',\n 'issue.type.deprecation.documentation': 'Documentation',\n\n 'issue.severity.deprecation.title':\n 'Severities are now directly tied to the software quality impacted. This old severity is deprecated and can no longer be modified.',\n 'issue.severity.deprecation.filter_by': 'You can now filter issues by:',\n 'issue.severity.deprecation.documentation': 'Documentation',\n 'issue.severity.new': 'The new severities',\n\n 'issue.cct_attribute.label': 'Clean code attribute',\n 'issue.software_qualities.label': 'Software qualities impacted',\n 'issue.impact.severity.tooltip':\n 'This issue has a {severity} impact on the {quality} of your software.',\n\n 'issue.clean_code_attribute_category.CONSISTENT': 'Consistency',\n 'issue.clean_code_attribute_category.CONSISTENT.title': 'This is a consistency issue.',\n 'issue.clean_code_attribute_category.CONSISTENT.advice':\n 'To be consistent, the code needs to be written in a uniform and conventional way.',\n 'issue.clean_code_attribute_category.INTENTIONAL': 'Intentionality',\n 'issue.clean_code_attribute_category.INTENTIONAL.title': 'This is an intentionality issue.',\n 'issue.clean_code_attribute_category.INTENTIONAL.advice':\n 'To be intentional, the code content needs to be precise and purposeful.',\n 'issue.clean_code_attribute_category.ADAPTABLE': 'Adaptability',\n 'issue.clean_code_attribute_category.ADAPTABLE.title': 'This is an adaptability issue.',\n 'issue.clean_code_attribute_category.ADAPTABLE.advice':\n 'To be adaptable, the code needs to be structured to be easy to evolve and develop with confidence.',\n 'issue.clean_code_attribute_category.RESPONSIBLE': 'Responsibility',\n 'issue.clean_code_attribute_category.RESPONSIBLE.title': 'This is a responsibility issue.',\n 'issue.clean_code_attribute_category.RESPONSIBLE.advice':\n 'To be responsible, the code must take into account its ethical obligations on data and potential impact of societal norms.',\n\n 'issue.clean_code_attribute': 'Clean Code Attribute',\n 'issue.clean_code_attribute.CLEAR': 'Not clear',\n 'issue.clean_code_attribute.CLEAR.title':\n 'This is an intentionality issue, the code is not clear enough.',\n 'issue.clean_code_attribute.CLEAR.advice':\n 'To be clear, the code needs to be self-explanatory and transparently communicate its functionality.',\n 'issue.clean_code_attribute.COMPLETE': 'Not complete',\n 'issue.clean_code_attribute.COMPLETE.title':\n 'This is an intentionality issue, the code is not complete enough.',\n 'issue.clean_code_attribute.COMPLETE.advice':\n 'To be complete, the code must be functional and achieve its implied goals through comprehensive, adequate, and thorough code constructs.',\n 'issue.clean_code_attribute.CONVENTIONAL': 'Not conventional',\n 'issue.clean_code_attribute.CONVENTIONAL.title':\n 'This is a consistency issue, the code is not conventional enough.',\n 'issue.clean_code_attribute.CONVENTIONAL.advice':\n 'To be conventional, the code needs to perform tasks with expected instructions, and adhere to a single choice across all instances when faced with equally good options.',\n 'issue.clean_code_attribute.DISTINCT': 'Not distinct',\n 'issue.clean_code_attribute.DISTINCT.title':\n 'This is an adaptability issue, the code is not distinct enough.',\n 'issue.clean_code_attribute.DISTINCT.advice':\n 'To be distinct, the code needs to have procedures and data that are unique and distinctive, without unnecessary duplication.',\n 'issue.clean_code_attribute.EFFICIENT': 'Not efficient',\n 'issue.clean_code_attribute.EFFICIENT.title':\n 'This is an intentionality issue, the code is not efficient enough.',\n 'issue.clean_code_attribute.EFFICIENT.advice':\n 'To be efficient, the code needs to use resources without needless waste, and prioritize economical options when available.',\n 'issue.clean_code_attribute.FOCUSED': 'Not focused',\n 'issue.clean_code_attribute.FOCUSED.title':\n 'This is an adaptability issue, the code is not focused enough.',\n 'issue.clean_code_attribute.FOCUSED.advice':\n 'To be focused, the code needs to have a single, narrow, and specific scope. Each of its units should have only one concise purpose.',\n 'issue.clean_code_attribute.FORMATTED': 'Not formatted',\n 'issue.clean_code_attribute.FORMATTED.title':\n 'This is a consistency issue, the code is not formatted enough.',\n 'issue.clean_code_attribute.FORMATTED.advice':\n 'To be formatted, the code needs to be presented in a systematic and regular way, with the same non-semantic choices used over all the codebase.',\n 'issue.clean_code_attribute.IDENTIFIABLE': 'Not identifiable',\n 'issue.clean_code_attribute.IDENTIFIABLE.title':\n 'This is a consistency issue, the code is not identifiable enough.',\n 'issue.clean_code_attribute.IDENTIFIABLE.advice':\n 'To be identifiable, the code needs to include names and identifiers with a regular structure based on language conventions.',\n 'issue.clean_code_attribute.LAWFUL': 'Not lawful',\n 'issue.clean_code_attribute.LAWFUL.title':\n 'This is a responsibility issue, the code is not lawful enough.',\n 'issue.clean_code_attribute.LAWFUL.advice':\n 'To be lawful, the code needs to respect licensing and copyright regulation.',\n 'issue.clean_code_attribute.LOGICAL': 'Not logical',\n 'issue.clean_code_attribute.LOGICAL.title':\n 'This is an intentionality issue, the code is not logical enough.',\n 'issue.clean_code_attribute.LOGICAL.advice':\n 'To be logical, the code needs to have well-formed and sound instructions that work together, and be free of explicit errors.',\n 'issue.clean_code_attribute.MODULAR': 'Not modular',\n 'issue.clean_code_attribute.MODULAR.title':\n 'This is an adaptability issue, the code is not modular enough.',\n 'issue.clean_code_attribute.MODULAR.advice':\n 'To be modular, the code needs to be organized and distributed to emphasize the separation between its parts.',\n 'issue.clean_code_attribute.RESPECTFUL': 'Not respectful',\n 'issue.clean_code_attribute.RESPECTFUL.title':\n 'This is a responsibility issue, the code is not respectful enough.',\n 'issue.clean_code_attribute.RESPECTFUL.advice':\n 'To be respectful, the code needs to refrain from using discriminatory and offensive language.',\n 'issue.clean_code_attribute.TESTED': 'Not tested',\n 'issue.clean_code_attribute.TESTED.title':\n 'This is an adaptability issue, the code is not tested enough.',\n 'issue.clean_code_attribute.TESTED.advice':\n 'To be tested, the code needs to have automated functional tests that provide confidence in the functionality.',\n 'issue.clean_code_attribute.TRUSTWORTHY': 'Not trustworthy',\n 'issue.clean_code_attribute.TRUSTWORTHY.title':\n 'This is a responsibility issue, the code is not trustworthy enough.',\n 'issue.clean_code_attribute.TRUSTWORTHY.advice':\n 'To be trustworthy, the code needs to abstain from revealing or hard-coding private information.',\n 'clean_code_attribute.learn_more': 'Learn more about Clean Code',\n\n 'issue.issue_status.OPEN': 'Open',\n 'issue.issue_status.ACCEPTED': 'Accepted',\n 'issue.issue_status.CONFIRMED': 'Confirmed',\n 'issue.issue_status.FIXED': 'Fixed',\n 'issue.issue_status.FALSE_POSITIVE': 'False Positive',\n\n 'issue.status.ACCEPTED': 'Accepted',\n 'issue.status.REOPENED': 'Reopened',\n 'issue.status.RESOLVED': 'Resolved',\n 'issue.status.OPEN': 'Open',\n 'issue.status.CONFIRMED': 'Confirmed',\n 'issue.status.CLOSED': 'Closed',\n 'issue.status.TO_REVIEW': 'To Review',\n 'issue.status.IN_REVIEW': 'In Review',\n 'issue.status.REVIEWED': 'Reviewed',\n\n 'issue.scope.MAIN': 'Main code',\n 'issue.scope.TEST': 'Test code',\n\n 'issue.resolution.FALSE-POSITIVE': 'False Positive',\n 'issue.resolution.FALSE-POSITIVE.description':\n 'Issues that manual review determined were False Positives. Effort from these issues is ignored.',\n 'issue.resolution.FIXED': 'Fixed',\n 'issue.resolution.FIXED.description': 'Issues that were corrected in code and reanalyzed.',\n 'issue.resolution.WONTFIX': \"Won't Fix\",\n 'issue.resolution.WONTFIX.description':\n 'Issues that are accepted in this context. They and their effort will be ignored.',\n 'issue.resolution.REMOVED': 'Removed',\n 'issue.resolution.REMOVED.description':\n 'Either the rule or the resource was changed (removed, relocated, parameters changed, etc.) so that analysis no longer finds these issues.',\n 'issue.unresolved.description': 'Unresolved issues have not been addressed in any way.',\n\n 'issue.preview.jupyter_notebook.error':\n 'Error while loading the Jupyter notebook. Use the Code tab to see issue details.',\n\n 'issue.action.permalink': 'Get permalink',\n 'issue.line_affected': 'Line affected:',\n 'issue.introduced': 'Introduced:',\n 'issue.code_variants': 'Variants:',\n 'issue.rule_status': 'Rule status',\n 'issue.effort': 'Effort:',\n 'issue.x_effort': '{0} effort',\n 'issue.ncloc_x.short': 'L{0}',\n 'issue.1_code_variant': '1 variant',\n 'issue.x_code_variants': '{0} variants',\n 'issue.filter_similar_issues': 'Filter Similar Issues',\n 'issue.this_issue_involves_x_code_locations': 'This issue involves {0} code location(s)',\n 'issue.this_flow_involves_x_code_locations': 'This flow involves {0} code location(s)',\n 'issue.from_external_rule_engine': 'Issue detected by an external rule engine: {0}',\n 'issue.external_issue_description': 'This is external rule {0}. No details are available.',\n 'issues.loading_issues': 'Loading issues',\n 'issues.return_to_list': 'Return to List',\n 'issues.bulk_change_X_issues': 'Bulk Change {0} Issue(s)',\n 'issues.select_all_issues': 'Select all Issues',\n 'issues.issues': 'issues',\n 'issues.to_select_issues': 'Select issues',\n 'issues.to_navigate': 'Navigate to issue',\n 'issues.to_navigate_back': 'to navigate back',\n 'issues.to_navigate_issue_locations': 'to navigate issue locations',\n 'issues.to_switch_flows': 'to switch flows',\n 'issues.new_code': 'Issues in new code',\n 'issues.new_code_period': 'New Code Period',\n 'issues.max_new_code_period': 'Max New Code Period',\n 'issues.my_issues': 'My Issues',\n 'issues.no_my_issues': 'There are no issues assigned to you.',\n 'issues.no_issues': 'No Issues. Hooray!',\n 'issues.fixed_issues': 'Fixed issues',\n 'issues.fixed_issues.description': 'List of issues that will be fixed by {pullRequest}',\n 'issues.x_more_locations': '+ {0} more locations',\n 'issues.not_all_issue_show': 'Not all issues are included',\n 'issues.not_all_issue_show_why': 'You do not have access to all projects in this portfolio',\n 'issues.qg_mismatch.title': 'Mode metrics mismatch',\n 'issues.qg_mismatch.description':\n 'Your project contains metrics from {isStandardMode, select, true {Multi-Quality Rule (MQR) Mode} other {Standard Experience}}. While your instance remains in the {isStandardMode, select, true {Standard Experience} other {Multi-Quality Rule mode}}, some additional filters will be visible for these {isStandardMode, select, true {MQR} other {Standard Experience}} metrics.',\n 'issues.qg_mismatch.link': 'Learn more about both modes in documentation',\n 'issues.open_in_ide.success': 'Success. Switch to your IDE to see the issue.',\n 'issues.open_in_ide.failure': 'Unable to open the issue in the IDE. Please check the {link}.',\n\n 'issue.activity.review_history.created': 'Created Issue',\n 'issue.activity.review_history.comment_added': 'added a comment',\n 'issue.activity.add_comment': 'Add a comment',\n\n // ISSUES SUBNAVIGATION\n 'issue.hint.navigate': 'Navigate locations',\n 'issues.execution_flows': 'execution flows',\n 'issues.execution_flow': 'execution flow',\n 'issues.data_flow': 'data flow',\n 'issues.data_flows': 'data flows',\n 'issues.locations': 'locations',\n 'issues.location': 'location',\n 'issues.show_x_more_locations': 'Show {0} more location(s)',\n 'issue.flow.1_step': '1 step',\n 'issue.flow.x_steps': '{0} steps',\n 'issue.unnamed_location': 'Other location',\n 'issue.show_full_execution_flow': 'See the whole {0} step execution flow',\n\n // Issues code fix\n 'issues.code_fix.get_fix_suggestion': ' Generate AI Fix',\n 'issues.code_fix.see_fix_suggestion': ' See AI Fix',\n 'issues.code_fix.get_a_fix_suggestion': ' Generate Fix',\n 'issues.code_fix.let_us_suggest_fix': ' Let us suggest a fix for this issue',\n 'issues.code_fix.fix_is_being_generated': ' A fix is being generated...',\n 'issues.code_fix.something_went_wrong': ' Something went wrong.',\n 'issues.code_fix.not_able_to_generate_fix': ' We are not able to generate a fix for this issue.',\n 'issues.code_fix.check_how_to_fix':\n ' Try again later, or visit the other sections above to learn how to fix this issue.',\n\n //------------------------------------------------------------------------------\n //\n // ISSUE CHANGELOG\n //\n //------------------------------------------------------------------------------\n 'issue.changelog.found_on_x_show_more': 'Found on {0}; click to see changelog',\n 'issue.changelog.changed_to': '{0} changed to {1}',\n 'issue.changelog.was': 'was {0}',\n 'issue.changelog.webhook_source': ' (change triggered by a {0} webhook)',\n 'issue.change.file_move': 'The file has been moved from {0} to {1}',\n 'issue.change.from_branch': \"The issue has been copied from branch '{0}' to branch '{1}'\",\n 'issue.change.from_non_branch': \"The issue has been merged from '{0}' into '{1}'\",\n 'issue.changelog.removed': '{0} removed',\n 'issue.changelog.line_removed_X': 'Line number removed from issue (was {0})',\n 'issue.changelog.field.severity': 'Severity',\n 'issue.changelog.field.actionPlan': 'Action Plan',\n 'issue.changelog.field.assignee': 'Assignee',\n 'issue.changelog.field.author': 'Author',\n 'issue.changelog.field.resolution': 'Resolution',\n 'issue.changelog.field.effort': 'Effort',\n 'issue.changelog.field.status': 'Status',\n 'issue.changelog.field.issueStatus': 'Status',\n 'issue.changelog.field.tags': 'Tags',\n 'issue.changelog.field.code_variants': 'Code Variants',\n 'issue.changelog.field.type': 'Type',\n 'issue.changelog.field.file': 'File',\n 'issue.changelog.field.cleanCodeAttribute': 'Clean Code Attribute',\n 'issue.changelog.impactSeverity': '{0} severity changed to {1} (was {2})',\n\n //------------------------------------------------------------------------------\n //\n // ISSUES FACETS\n //\n //------------------------------------------------------------------------------\n 'issues.facet.period': 'Period',\n 'issues.facet.types': 'Type',\n 'issues.facet.severities': 'Severity',\n 'issues.facet.scopes': 'Scope',\n 'issues.facet.projects': 'Project',\n 'issues.facet.issueStatuses': 'Status',\n 'issues.facet.issueStatuses.help.title': 'Simplified issue lifecycle',\n 'issues.facet.issueStatuses.help.description':\n \"<p1>Issue Resolution and Issue Status were merged and there are now five possible statuses in the issue lifecycle.</p1><p>Won't Fix was replaced with Accept. Marking issues as Confirmed and Fixed was deprecated.</p>\",\n 'issues.facet.issueStatuses.help.link': 'Learn more about new issue lifecycle',\n 'issues.facet.hotspotStatuses': 'Hotspot Status',\n 'issues.facet.assignees': 'Assignee',\n 'issues.facet.files': 'File',\n 'issues.facet.modules': 'Module',\n 'issues.facet.directories': 'Directory',\n 'issues.facet.tags': 'Tag',\n 'issues.facet.rules': 'Rule',\n 'issues.facet.languages': 'Language',\n 'issues.facet.cleanCodeAttributeCategories': 'Clean Code Attribute',\n 'issues.facet.cleanCodeAttributeCategories.help.title':\n 'Attributes group together conceptually similar issues.',\n 'issues.facet.cleanCodeAttributeCategories.help.link': 'Learn more about clean code attributes',\n 'issues.facet.impactSoftwareQualities': 'Software Quality',\n 'issues.facet.impactSoftwareQualities.help.title': 'What are software qualities?',\n 'issues.facet.impactSoftwareQualities.help.description':\n '<p1>Security is the protection of your software from unauthorized access, use, or destruction.</p1><p>Reliability is a measure of how your software is capable of maintaining its level of performance under stated conditions for a stated period of time.</p><p>Maintainability refers to the ease with which you can repair, improve and understand software code.</p>',\n 'issues.facet.impactSoftwareQualities.help.link': 'Learn more about software qualities',\n 'issues.facet.codeVariants': 'Code Variant',\n 'issues.facet.createdAt': 'Creation Date',\n 'issues.facet.createdAt.all': 'All',\n 'issues.facet.createdAt.last_week': 'Last week',\n 'issues.facet.createdAt.last_month': 'Last month',\n 'issues.facet.createdAt.last_year': 'Last year',\n 'issues.facet.createdAt.bar_description': '{0} issues from {1} to {2}',\n 'issues.facet.authors': 'Author',\n 'issues.facet.impactSeverities': 'Severity',\n 'issues.facet.issues': 'Issue Key',\n 'issues.facet.mode': 'Display Mode',\n 'issues.facet.mode.count': 'Issues',\n 'issues.facet.mode.effort': 'Effort',\n 'issues.facet.standards': 'Security Category',\n 'issues.facet.owaspTop10': 'OWASP Top 10 2017',\n 'issues.facet.owaspTop10_2021': 'OWASP Top 10 2021',\n 'issues.facet.sonarsourceSecurity': 'SonarSource',\n 'issues.facet.cwe': 'CWE',\n 'issues.facet.sonarsource.show_more': 'Show more SonarSource categories',\n 'issues.facet.prioritized_rule.category': 'Prioritized rules',\n 'issues.facet.prioritized_rule': 'Issues from prioritized rules',\n 'issues.facet.second_line.mode.standard': 'Standard Experience',\n 'issues.facet.second_line.mode.mqr': 'MQR mode',\n\n //------------------------------------------------------------------------------\n //\n // ISSUE BULK CHANGE\n //\n //------------------------------------------------------------------------------\n\n 'issue_bulk_change.form.title': 'Change {0} issues',\n 'issue_bulk_change.max_issues_reached':\n 'There are more issues available than can be treated by a single bulk action. Your changes will only be applied to the first {max} issues.',\n 'issue_bulk_change.x_issues': '{0} issues',\n 'issue_bulk_change.no_match': 'There is no issue matching your filter selection',\n 'issue_bulk_change.assignee.change': 'Assign the selected issues to a user',\n 'issue_bulk_change.select_tags': 'Select tags',\n 'issue_bulk_change.selected_tags': 'Selected tags',\n 'issue_bulk_change.resolution_comment': 'Resolution comment',\n\n //------------------------------------------------------------------------------\n //\n // DEPENDENCIES PAGE\n //\n //------------------------------------------------------------------------------\n\n 'dependencies.list.title': '{count} {count, plural, one {dependency} other {dependencies}}',\n 'dependencies.list.name_search.title':\n '{count} matching {count, plural, one {dependency} other {dependencies}}',\n 'dependencies.empty_state.title': 'There are no dependencies on this project',\n 'dependencies.empty_state.body':\n 'When you analyze 3rd party code dependencies you will see them be displayed here along with any vulnerabilities they may raise',\n 'dependencies.empty_state.link_text': 'Learn more about dependency analysis',\n 'dependencies.transitive.label': 'Transitive',\n 'dependencies.direct.label': 'Direct',\n 'dependencies.dependency.findings.label': '{0} findings',\n 'dependencies.dependency.exploitable_findings.label':\n '{count} exploitable {count, plural, one {finding} other {findings}}',\n 'dependencies.dependency.no_findings.label': 'No findings',\n 'dependencies.dependency.version.label': 'version',\n 'dependencies.dependency.fix_version.label': 'fix with',\n\n //------------------------------------------------------------------------------\n //\n // PROJECTS PAGE\n //\n //------------------------------------------------------------------------------\n\n 'projects.page': 'Projects',\n 'projects.add': 'Create Project',\n 'projects.create_application': 'Create Application',\n 'projects.no_projects.empty_instance': 'There are no visible projects yet.',\n 'projects.no_projects.empty_instance.new_project':\n 'Once you analyze some projects, they will show up here.',\n 'projects.no_projects.empty_instance.how_to_add_projects':\n 'Here is how you can analyze new projects',\n 'projects.no_favorite_projects': \"You don't have any favorite projects yet.\",\n 'projects.no_favorite_projects.engagement':\n 'Discover and mark as favorites projects you are interested in to have a quick access to them.',\n 'projects.explore_projects': 'Explore Projects',\n 'projects.not_analyzed.TRK': \"Project's Main Branch is not analyzed yet.\",\n 'projects.not_analyzed.APP': \"None of the Application's projects have been analyzed.\",\n 'projects.no_new_code_period.TRK': 'Project has no new code data yet.',\n 'projects.no_new_code_period.APP': 'Application has no new code data yet.',\n 'projects.new_code_period_x': 'New code: last {0}',\n 'projects.configure_analysis': 'Configure analysis',\n 'projects.configure_analysis_for_x': 'Configure analysis for project {project}',\n 'projects.last_analysis_on_x': 'Last analysis: {date}',\n 'projects.search': 'Search by project name or key',\n 'projects.perspective': 'Perspective',\n 'projects.skip_to_filters': 'Skip to project filters',\n 'projects.x_projects_found': '{count} projects found',\n 'projects.sort_by': 'Sort by',\n 'projects.sort_ascending': 'Result sorted in ascending order',\n 'projects.sort_descending': 'Result sorted in descending order',\n 'projects.sorting.default': 'default',\n 'projects.sorting.name': 'Name',\n 'projects.sorting.analysis_date': 'Last analysis date',\n 'projects.sorting.creation_date': 'Creation date',\n 'projects.sorting.reliability': 'Reliability',\n 'projects.sorting.security': 'Security',\n 'projects.sorting.security_review': 'Security Review',\n 'projects.sorting.maintainability': 'Maintainability',\n 'projects.sorting.coverage': 'Coverage',\n 'projects.sorting.duplications': 'Duplications',\n 'projects.sorting.size': 'Size',\n 'projects.sorting.new_reliability': 'Reliability',\n 'projects.sorting.new_security': 'Security',\n 'projects.sorting.new_security_review': 'Security Review',\n 'projects.sorting.new_maintainability': 'Maintainability',\n 'projects.sorting.new_coverage': 'Coverage',\n 'projects.sorting.new_duplications': 'Duplications',\n 'projects.sorting.new_lines': 'New Lines',\n 'projects.view.overall': 'Overall Status',\n 'projects.view.overall_code': 'Overall Code',\n 'projects.view.new_code': 'New Code',\n 'projects.worse_of_reliablity_and_security': 'Worse of Reliability and Security',\n 'projects.limited_set_of_projects':\n 'Displayed project set limited to the top {0} projects based on current sort: {1}.',\n 'projects.facets.quality_gate': 'Quality Gate',\n 'projects.facets.quality_gate.warning_help':\n 'Warning status is deprecated. This filter will disappear when no Warning Quality Gate remains.',\n 'projects.facets.rating_x': '{0} rating',\n 'projects.facets.rating_option.reliability.legacy.1': '≥ 0 info issues',\n 'projects.facets.rating_option.reliability.legacy.2': '≥ 1 minor issue',\n 'projects.facets.rating_option.reliability.legacy.3': '≥ 1 major issue',\n 'projects.facets.rating_option.reliability.legacy.4': '≥ 1 critical issue',\n 'projects.facets.rating_option.reliability.legacy.5': '≥ 1 blocker issue',\n 'projects.facets.rating_option.reliability.1': '≥ 0 info issues',\n 'projects.facets.rating_option.reliability.2': '≥ 1 low issue',\n 'projects.facets.rating_option.reliability.3': '≥ 1 medium issue',\n 'projects.facets.rating_option.reliability.4': '≥ 1 high issue',\n 'projects.facets.rating_option.reliability.5': '≥ 1 blocker issue',\n 'projects.facets.rating_option.security.legacy.1': '≥ 0 info issues',\n 'projects.facets.rating_option.security.legacy.2': '≥ 1 minor issue',\n 'projects.facets.rating_option.security.legacy.3': '≥ 1 major issue',\n 'projects.facets.rating_option.security.legacy.4': '≥ 1 critical issue',\n 'projects.facets.rating_option.security.legacy.5': '≥ 1 blocker issue',\n 'projects.facets.rating_option.security.1': '≥ 0 info issues',\n 'projects.facets.rating_option.security.2': '≥ 1 low issue',\n 'projects.facets.rating_option.security.3': '≥ 1 medium issue',\n 'projects.facets.rating_option.security.4': '≥ 1 high issue',\n 'projects.facets.rating_option.security.5': '≥ 1 blocker issue',\n 'projects.facets.rating_option.maintainability.1': '≤ 5% to 0%',\n 'projects.facets.rating_option.maintainability.2': '≥ 5% to <10%',\n 'projects.facets.rating_option.maintainability.3': '≥ 10% to <20%',\n 'projects.facets.rating_option.maintainability.4': '≥ 20% to <50%',\n 'projects.facets.rating_option.maintainability.5': '≥ 50%',\n 'projects.facets.rating_option.security_review.1': '≥ 80%',\n 'projects.facets.rating_option.security_review.2': '≥ 70% to <80%',\n 'projects.facets.rating_option.security_review.3': '≥ 50% to <70%',\n 'projects.facets.rating_option.security_review.4': '≥ 30% to <50%',\n 'projects.facets.rating_option.security_review.5': '< 30%',\n 'projects.facets.security_review.description':\n 'The percentage of reviewed (fixed or safe) security hotspots',\n 'projects.facets.maintainability.description':\n 'Ratio of the estimated time needed to fix all outstanding maintainability issues to the size of the project',\n 'projects.facets.security.description': 'Vulnerability count',\n 'projects.facets.reliability.description': 'Bug count',\n 'projects.facets.languages': 'Languages',\n 'projects.facets.search.languages': 'Search for languages',\n 'projects.facets.new_lines': 'New Lines',\n 'projects.facets.tags': 'Tags',\n 'projects.facets.search.tags': 'Search for tags',\n 'projects.facets.qualifier': 'Type',\n 'projects.facets.qualitygate_label_x': 'Click to filter projects with a {0} quality gate.',\n 'projects.facets.rating_label_single_x': 'Click to filter projects with a {0} rating of {1}.',\n 'projects.facets.rating_label_multi_x':\n 'Click to filter projects with a {0} rating of {1} or worse.',\n 'projects.facets.label_no_data_x': 'Click to filter projects with no {0} data.',\n 'projects.facets.label_text_x': 'Click to filter projects by {0}: {1}',\n 'projects.facets.size.label.1': 'Click to filter projects with fewer than 1k lines of code',\n 'projects.facets.size.label.2': 'Click to filter projects with 1k lines of code or more',\n 'projects.facets.size.label.3': 'Click to filter projects with 10k lines of code or more',\n 'projects.facets.size.label.4': 'Click to filter projects with 100k lines of code or more',\n 'projects.facets.size.label.5': 'Click to filter projects with more than 500k lines of code',\n 'projects.facets.new_lines.label.1': 'Click to filter projects with fewer than 1k new lines',\n 'projects.facets.new_lines.label.2': 'Click to filter projects with 1k new lines or more',\n 'projects.facets.new_lines.label.3': 'Click to filter projects with 10k new lines or more',\n 'projects.facets.new_lines.label.4': 'Click to filter projects with 100k new lines or more',\n 'projects.facets.new_lines.label.5': 'Click to filter projects with more than 500k new lines',\n 'projects.facets.coverage.label.1': 'Click to filter projects with more than 80% coverage',\n 'projects.facets.coverage.label.2': 'Click to filter projects with less than 80% coverage',\n 'projects.facets.coverage.label.3': 'Click to filter projects with less than 70% coverage',\n 'projects.facets.coverage.label.4': 'Click to filter projects with less than 50% coverage',\n 'projects.facets.coverage.label.5': 'Click to filter projects with less than 30% coverage',\n 'projects.facets.duplication.label.1': 'Click to filter projects with less than 3% duplication',\n 'projects.facets.duplication.label.2': 'Click to filter projects with more than 3% duplication',\n 'projects.facets.duplication.label.3': 'Click to filter projects with more than 5% duplication',\n 'projects.facets.duplication.label.4': 'Click to filter projects with more than 10% duplication',\n 'projects.facets.duplication.label.5': 'Click to filter projects with more than 20% duplication',\n 'projects.facets.no_available_filters_clear_others':\n 'No available filters. Clear other filters to see options.',\n 'projects.sort.disabled':\n 'Disabled because sorting cannot affect the displayed result with the current project selection.',\n 'projects.sort.analysis_date': 'by last analysis date (oldest first)',\n 'projects.sort.-analysis_date': 'by last analysis date (latest first)',\n 'projects.sort.name': 'by name',\n 'projects.sort.-name': 'by name',\n 'projects.sort.reliability': 'by reliability (best first)',\n 'projects.sort.-reliability': 'by reliability (worst first)',\n 'projects.sort.security': 'by security (best first)',\n 'projects.sort.-security': 'by security (worst first)',\n 'projects.sort.maintainability': 'by maintainability (best first)',\n 'projects.sort.-maintainability': 'by maintainability (worst first)',\n 'projects.sort.coverage': 'by coverage (best first)',\n 'projects.sort.-coverage': 'by coverage (worst first)',\n 'projects.sort.duplications': 'by duplications (best first)',\n 'projects.sort.-duplications': 'by duplications (worst first)',\n 'projects.sort.size': 'by size (smallest first)',\n 'projects.sort.-size': 'by size (biggest first)',\n 'projects.show_more': 'Show more projects',\n 'projects.security_hotspots_reviewed': 'Hotspots Reviewed',\n 'projects.awaiting_scan': 'Change in Calculation',\n 'projects.awaiting_scan.title': 'Values might change after the next analysis',\n 'projects.awaiting_scan.description.TRK':\n 'The calculation methodology for security, reliability, and maintainability ratings has changed, and the values displayed may be updated after the next analysis.',\n 'projects.awaiting_scan.description.APP':\n 'The calculation methodology for security, reliability, and maintainability ratings has changed, and the values displayed may be updated after analyzing all projects in this application.',\n 'projects.awaiting_scan.description.VW':\n 'The calculation methodology for security, reliability, and maintainability ratings has changed, and the values displayed may be updated after analyzing all projects in this portfolio.',\n 'projects.awaiting_scan.learn_more': 'Lear more in SonarQube documentation',\n 'projects.ai_code_assurance_on.description': 'AI Code Assurance is on',\n 'projects.ai_code_assurance_off.description': 'AI Code Assurance is off',\n 'projects.ai_code_assurance_fail.description': 'AI Code Assurance failed',\n 'projects.ai_code_assurance_pass.description': 'AI Code Assurance passed',\n 'projects.ai_code_assurance_on.content':\n 'This project contains AI-generated code and benefits from Sonar’s AI Code Assurance.',\n 'projects.ai_code_assurance.edit_quality_gate': 'Change Quality Gate',\n 'projects.ai_code.tooltip.content': 'This project contains AI-generated code.',\n 'projects.ai_code_assurance.tooltip.content':\n 'This project contains AI-generated code and benefits from Sonar’s AI Code Assurance.',\n 'projects.ai_code_detected.title': 'AI code detected',\n 'projects.ai_code_detected.description': 'This project may contain AI-generated code.',\n 'projects.ai_code_detected.link': 'Review AI-Generated Code setting',\n 'projects.ai_code_detected.tooltip.content':\n 'Some contributors in this project used GitHub Copilot recently.',\n 'projects.branch.info.AI_CODE_ASSURANCE_ON.content':\n 'This project benefits from Sonar’s AI Code Assurance.',\n 'projects.branch.info.AI_CODE_ASSURANCE_PASS.content':\n 'This branch meets your quality standard for AI Code.',\n 'projects.branch.info.AI_CODE_ASSURANCE_FAIL.content':\n 'This branch does not meet your quality standard for AI Code.',\n 'projects.branches.AI_CODE_ASSURANCE_OFF.admin.content':\n 'To benefit from AI Code Assurance, select an AI-qualified quality gate. <link>Change quality gate</link>',\n 'projects.branches.AI_CODE_ASSURANCE_OFF.content':\n 'This project could benefit from AI Code Assurance by using an <link>AI-qualified quality gate</link>.',\n\n //------------------------------------------------------------------------------\n //\n // DASHBOARD\n //\n //------------------------------------------------------------------------------\n\n 'dashboard.project.not_found': 'The requested project could not be found.',\n 'dashboard.project.not_found.2':\n 'Either it has never been analyzed successfully or it has been deleted.',\n 'dashboard.portfolio.not_found': 'The requested portfolio could not be found.',\n 'dashboard.portfolio.not_found.2':\n 'Either its parent has not been recomputed or it has been deleted.',\n\n //------------------------------------------------------------------------------\n //\n // SETTINGS\n //\n //------------------------------------------------------------------------------\n 'settings.key_x': 'Key: {0}',\n 'settings.default_x': 'Default: {0}',\n 'settings.not_set': '(not set)',\n 'settings.state.saving': 'Saving...',\n 'settings.state.saved': 'Saved!',\n 'settings.state.confirmation.title':\n '{value, select, true {Activate} false {Deactivate} other {Save}} \"{name}\"?',\n 'settings.state.validation_failed': 'Validation failed. {0}',\n 'settings.state.value_cant_be_empty':\n 'Provide a value or use \"Reset\" to set the value to the default one.',\n 'settings.state.value_cant_be_empty_no_default': 'Provide a value.',\n 'settings.state.url_not_valid': '{0} is not a valid URL',\n 'settings._default': '(default)',\n 'settings.boolean.true': 'True',\n 'settings.boolean.false': 'False',\n 'settings.default.no_value': \"'<no value>'\",\n 'settings.default.complex_value': \"'<complex value>'\",\n 'settings.default.password': \"'<password>'\",\n 'settings.reset_confirm.title': 'Reset Setting',\n 'settings.reset_confirm.description': 'Are you sure that you want to reset this setting?',\n 'settings.definition.reset': 'Reset \"{0}\" to default values',\n 'settings.definition.delete_value': 'Delete value \"{1}\" for setting \"{0}\"',\n 'settings.definitions.delete_fields': 'Delete row {1} for setting \"{0}\"',\n\n 'settings.search.placeholder': 'Find in Settings',\n 'settings.search.results': 'Search results list',\n\n 'settings.json.format': 'Format JSON',\n 'settings.json.format_error': 'Formatting requires valid JSON. Please fix it and retry.',\n\n 'settings.analysis_scope.introduction':\n 'Narrow the focus by configure what will be analyzed and how. Learn more about <link>analysis scope</link>.',\n 'settings.analysis_scope.wildcards.introduction':\n 'You can set analysis parameters by using the following <link>wild card patterns</link>:',\n 'settings.analysis_scope.wildcards.link': 'wild card patterns',\n 'settings.analysis_scope.wildcards.zero_more_char': 'Match zero or more characters',\n 'settings.analysis_scope.wildcards.zero_more_dir': 'Match zero or more directories',\n 'settings.analysis_scope.wildcards.single_char': 'Match a single character',\n 'settings.analysis_scope.learn_more': 'Read more about analysis scope',\n\n 'settings.new_code_period.category': 'New Code',\n 'settings.new_code_period.title': 'New Code',\n 'settings.new_code_period.description0':\n 'The new code definition sets which part of your code will be considered new code.',\n 'settings.new_code_period.description1':\n 'This helps you focus attention on the most recent changes to your project, enabling you to follow the Clean as You Code methodology.',\n 'settings.new_code_period.description2':\n 'A specific new code definition can be configured at project level.',\n 'settings.new_code_period.description3': 'Learn more: {link}',\n 'settings.new_code_period.description3.link': 'Defining New Code',\n 'settings.new_code_period.question':\n 'Choose the baseline for new code for all projects by default',\n\n 'settings.languages.select_a_language_placeholder': 'Select a language',\n\n 'settings.projects.default_visibility_of_new_projects': 'Default visibility of new projects:',\n 'settings.projects.change_visibility_form.label': 'Change default visibility of new projects',\n 'settings.projects.change_visibility_form.header': 'Set Default Visibility of New Projects',\n 'settings.projects.change_visibility_form.warning':\n 'This will not change the visibility of already existing projects.',\n 'settings.projects.change_visibility_form.warning.github':\n 'This will not change the visibility of already existing projects. Additionally, projects bound to GitHub will not be affected by this option and will be ignored.',\n 'settings.projects.change_visibility_form.warning.gitlab':\n 'This will not change the visibility of already existing projects. Additionally, projects bound to GitLab will not be affected by this option and will be ignored.',\n 'settings.projects.change_visibility_form.submit': 'Change Default Visibility',\n\n 'settings.almintegration.title': 'DevOps Platform Integrations',\n 'settings.almintegration.description':\n \"DevOps Platform integrations allow {productName} to interact with your DevOps Platform. This enables things like authentication, or providing analysis details and a Quality Gate to your Pull Requests directly in your DevOps Platform's interface.\",\n 'settings.almintegration.empty.server_base_url':\n 'You need to set the Server Base URL in General > {serverBaseUrl} to have correct links from the DevOps Platform to your {productName} instance.',\n 'settings.almintegration.empty.server_base_url.setting_link': 'Server Base URL',\n 'settings.almintegration.tab.github': 'GitHub',\n 'settings.almintegration.tab.bitbucket': 'Bitbucket',\n 'settings.almintegration.tab.azure': 'Azure DevOps',\n 'settings.almintegration.tab.gitlab': 'GitLab',\n 'settings.almintegration.github.info':\n 'You need to install a GitHub App with specific settings and permissions to enable Pull Request Decoration on your Organization or Repository. {link}',\n 'settings.almintegration.github.additional_permission':\n 'If Quality Gate status reporting fails on private projects, you might need to add an additional permission to the GitHub App. {link}',\n 'settings.almintegration.bitbucketcloud.info':\n '{productName} needs you to create an {oauth} in your Bitbucket Cloud workspace settings to report the Quality Gate status on Pull Requests. It needs to be a private consumer with {permission} permission. An OAuth callback URL is required by Bitbucket Cloud but not used by {productName} so any URL works. {doc_link}',\n 'settings.almintegration.bitbucketcloud.oauth': 'OAuth consumer',\n 'settings.almintegration.empty.azure':\n 'Create your first Azure DevOps configuration to start analyzing your repositories on {productName}.',\n 'settings.almintegration.empty.bitbucket':\n 'Create your first Bitbucket configuration to start analyzing your repositories on {productName}.',\n 'settings.almintegration.empty.bitbucketcloud':\n 'Create your first Bitbucket Cloud configuration to start analyzing your repositories on {productName}.',\n 'settings.almintegration.empty.github':\n 'Create your first GitHub configuration to start analyzing your repositories on {productName}.',\n 'settings.almintegration.empty.gitlab':\n 'Create your first GitLab configuration to start analyzing your repositories on {productName}.',\n 'settings.almintegration.create': 'Create configuration',\n 'settings.almintegration.create.tooltip':\n 'Upgrade to {link} to integrate with multiple {alm} instances.',\n 'settings.almintegration.create.tooltip.link': 'Enterprise Edition',\n 'settings.almintegration.check_configuration': 'Check configuration',\n 'settings.almintegration.check_configuration_x': \"Check configuration '{0}'\",\n 'settings.almintegration.edit_configuration': \"Edit configuration '{0}'\",\n 'settings.almintegration.delete_configuration': \"Delete configuration '{0}'\",\n 'settings.almintegration.checking_configuration': 'Checking configuration',\n 'settings.almintegration.configuration_valid': 'Configuration valid',\n 'settings.almintegration.configuration_invalid':\n 'You have the following errors in your configuration:',\n 'settings.almintegration.could_not_validate': 'Could not validate this configuration.',\n 'settings.almintegration.delete.header': 'Delete configuration',\n 'settings.almintegration.delete.message':\n 'Are you sure you want to delete the {id} configuration?',\n 'settings.almintegration.delete.info':\n '{0} projects will no longer get Pull Request Decorations.',\n 'settings.almintegration.delete.no_info':\n 'An unknown number of projects will no longer get Pull Request Decorations.',\n 'settings.almintegration.form.app_id.github.help':\n \"The App ID is found on your GitHub App's page on GitHub at Settings > Developer Settings > GitHub Apps\",\n 'settings.almintegration.form.header.create': 'Create a configuration',\n 'settings.almintegration.form.header.edit': 'Edit the configuration',\n 'settings.almintegration.form.name.azure': 'Configuration name',\n 'settings.almintegration.form.name.azure.help':\n 'Give your configuration a clear and succinct name. This name will be used at project level to identify the correct configured Azure instance for a project.',\n 'settings.almintegration.form.choose_bitbucket_variant':\n 'Select which variant you want to configure',\n 'settings.almintegration.form.name.bitbucket': 'Configuration name',\n 'settings.almintegration.form.name.bitbucket.help':\n 'Give your configuration a clear and succinct name. This name will be used at project level to identify the correct configured Bitbucket instance for a project.',\n 'settings.almintegration.form.name.bitbucketcloud': 'Configuration name',\n 'settings.almintegration.form.name.bitbucketcloud.help':\n 'Give your configuration a clear and succinct name. This name will be used at project level to identify the correct configured Bitbucket Cloud instance for a project.',\n 'settings.almintegration.form.name.github': 'Configuration name',\n 'settings.almintegration.form.name.github.help':\n 'Give your configuration a clear and succinct name. This name will be used at project level to identify the correct configured GitHub App for a project.',\n 'settings.almintegration.form.name.gitlab': 'Configuration name',\n 'settings.almintegration.form.name.gitlab.help':\n 'Give your configuration a clear and succinct name. This name will be used at project level to identify the correct configured GitLab instance for a project.',\n 'settings.almintegration.form.workspace.bitbucketcloud': 'Workspace ID',\n 'settings.almintegration.form.workspace.bitbucketcloud.error':\n \"Workspace ID's can only contain lowercase letters, numbers, dashes, and underscores.\",\n 'settings.almintegration.form.workspace.bitbucketcloud.help':\n 'The workspace ID is part of your bitbucket cloud URL {example}',\n 'settings.almintegration.form.oauth_key.bitbucketcloud.help':\n 'Bitbucket automatically creates an OAuth key when you create your OAuth consumer. You can find it in your Bitbucket Cloud workspace settings under OAuth consumers.',\n 'settings.almintegration.form.oauth_secret.bitbucketcloud.help':\n 'Bitbucket automatically creates an OAuth secret when you create your OAuth consumer. You can find it in your Bitbucket Cloud workspace settings under OAuth consumers.',\n 'settings.almintegration.form.url.azure': 'Azure DevOps URL',\n 'settings.almintegration.form.url.azure.help1':\n 'For Azure DevOps Server, provide the full collection URL:',\n 'settings.almintegration.form.url.azure.help2':\n 'For Azure DevOps Services, provide the full organization URL:',\n 'settings.almintegration.form.url.bitbucket': 'Bitbucket Server URL',\n 'settings.almintegration.form.url.bitbucket.help':\n 'Example: https://bitbucket-server.your-company.com',\n 'settings.almintegration.form.url.github': 'GitHub API URL',\n 'settings.almintegration.form.url.github.help1': 'Example for GitHub Enterprise:',\n 'settings.almintegration.form.url.github.help2': 'If using GitHub.com:',\n 'settings.almintegration.form.url.github.private_key_warning':\n 'For security reasons, please make sure to provide the GitHub App private key to update the URL.',\n 'settings.almintegration.form.url.gitlab': 'GitLab API URL',\n 'settings.almintegration.form.url.gitlab.help': 'Provide the GitLab API URL. For example:',\n 'settings.almintegration.form.url.pat_warning':\n 'For security reasons, please make sure to provide the Personal Access Token to update the URL.',\n 'settings.almintegration.form.app_id': 'GitHub App ID',\n 'settings.almintegration.form.client_id.github': 'Client ID',\n 'settings.almintegration.form.client_id.github.help':\n \"The Client ID is found on your GitHub App's page.\",\n 'settings.almintegration.form.client_secret.github': 'Client Secret',\n 'settings.almintegration.form.client_secret.github.help':\n \"The Client secret is found on your GitHub App's page.\",\n 'settings.almintegration.form.client_id.bitbucketcloud': 'OAuth Key',\n 'settings.almintegration.form.client_secret.bitbucketcloud': 'OAuth Secret',\n 'settings.almintegration.form.private_key': 'Private Key',\n 'settings.almintegration.form.private_key.github.help':\n \"Your GitHub App's private key. You can generate a .pem file from your GitHub App's page under Private keys. Copy and paste the whole contents of the file here.\",\n 'settings.almintegration.form.webhook_secret.github': 'Webhook Secret',\n 'settings.almintegration.form.webhook_secret.github.help':\n 'Leave this field empty unless you are using GitHub Code Scanning Alert feature. See documentation for more details.',\n 'settings.almintegration.form.personal_access_token': 'Personal Access Token',\n 'settings.almintegration.form.personal_access_token.azure.help':\n '{productName} needs a {pat} to report the Quality Gate status on Pull Requests in Azure DevOps. To create this token, we recommend using a dedicated Azure DevOps account with administration permissions. The token itself needs {permission} permission. {doc_link}',\n 'settings.almintegration.form.personal_access_token.azure.help.url': 'Personal Access Token',\n 'settings.almintegration.form.personal_access_token.gitlab.help':\n '{productName} needs a {pat} to report the Quality Gate status on Merge Requests in GitLab. To create this token, we recommend using a dedicated GitLab account with {permission} permission to all target projects. The token itself needs the {scope} scope. {doc_link}',\n 'settings.almintegration.form.personal_access_token.gitlab.help.url': 'Personal Access Token',\n 'settings.almintegration.form.personal_access_token.bitbucket.help':\n '{productName} needs a {pat} to report the Quality Gate status on Pull Requests in Bitbucket Server. To create this token, we recommend using a dedicated Bitbucket Server account with administration permissions. The token itself needs {permission} permission. {doc_link}',\n 'settings.almintegration.form.personal_access_token.bitbucket.help.url': 'Personal Access Token',\n 'settings.almintegration.form.save': 'Save configuration',\n 'settings.almintegration.form.cancel': 'Cancel',\n 'settings.almintegration.form.secret.field': 'This field is hidden for security reasons.',\n 'settings.almintegration.form.secret.update_field': 'Update field value',\n 'settings.almintegration.form.secret.update_field_x': 'Update {0} value',\n 'settings.almintegration.form.secret.can_encrypt': 'You can encrypt this value. {learn_more}',\n 'settings.almintegration.feature.status_reporting.title': 'Quality Gate status reporting',\n 'settings.almintegration.feature.status_reporting.description_pr':\n \"Add analysis and a Quality Gate to your Pull Requests directly in your DevOps Platform's interface.\",\n 'settings.almintegration.feature.status_reporting.description_pr_and_commits':\n \"Add the Quality Gate status to your Pull Requests and on analyzed commits directly in your DevOps Platform's interface.\",\n 'settings.almintegration.feature.status_reporting.description_mr':\n \"Add analysis and a Quality Gate to your Merge Requests directly in your DevOps Platform's interface.\",\n 'settings.almintegration.feature.pr_decoration.disabled': 'Disabled',\n 'settings.almintegration.feature.pr_decoration.disabled.no_branches':\n 'Upgrade to {link} to enable this feature.',\n 'settings.almintegration.feature.pr_decoration.disabled.no_branches.link': 'Developer Edition',\n 'settings.almintegration.feature.alm_repo_import.title':\n 'Import repositories from your DevOps Platform',\n 'settings.almintegration.feature.alm_repo_import.description':\n 'Select repositories from your DevOps Platform, and import them into {productName}.',\n 'settings.almintegration.feature.alm_repo_import.disabled': 'Disabled',\n 'settings.almintegration.feature.alm_repo_import.disabled.no_url':\n 'This feature is disabled because your configured instance has no URL.',\n 'settings.almintegration.tabs.authentication_moved':\n 'You can delegate authentication to this DevOps Platform. The relevant settings are under the {link} section.',\n\n // Authentication Common\n 'settings.authentication.title': 'Authentication',\n 'settings.authentication.custom_message_information':\n 'You can define a custom log-in message to appear on the log-in page to help your users authenticate. The relevant settings are available under the {link} section.',\n 'settings.authentication.custom_message_information.link': 'General',\n 'settings.authentication.description':\n 'The following settings allow you to delegate authentication via SAML, or any of the following DevOps Platforms: GitHub, GitLab, and Bitbucket.',\n 'settings.authentication.help':\n 'For details on how to set up authentication, check out the {link}.',\n 'settings.authentication.legacy_help.github':\n 'Compatibility with GitHub OAuth App is deprecated and will be removed in a future release. Please check out the {link} for information on how to update your configuration.',\n 'settings.authentication.help.link': 'documentation',\n 'settings.authentication.form.create': 'Create configuration',\n 'settings.authentication.form.edit': 'Edit',\n 'settings.authentication.form.delete': 'Delete',\n 'settings.authentication.form.delete.tooltip':\n 'You can only delete a configuration if it is disabled.',\n 'settings.authentication.form.loading': 'Loading configuration',\n 'settings.authentication.form.enable': 'Enable configuration',\n 'settings.authentication.form.disable': 'Disable configuration',\n 'settings.authentication.form.disable.tooltip':\n 'You can not disable this configuration while using Automatic Provisioning. You must be in Just-in-Time Provisioning mode to disable this configuration.',\n 'settings.authentication.form.provisioning': 'Provisioning',\n 'settings.authentication.form.provisioning_at_login':\n 'Just-in-Time user and group provisioning (default)',\n 'settings.authentication.form.other_provisioning_enabled':\n 'Already enabled for another provider. Only one identity provider can have automatic users and groups provisioning enabled.',\n 'settings.authentication.form.settings.save_success': 'Settings saved successfully.',\n 'settings.authentication.confirm_auto_provisioning.header':\n 'Automatic provisioning has been enhanced',\n 'settings.authentication.confirm_auto_provisioning.description1':\n 'Your current version of automatic provisioning has been suspended and you must confirm a provisioning method.',\n 'settings.authentication.confirm_auto_provisioning.description2':\n 'Automatic provisioning has now been enhanced with the 10.7 release. For more details, read our {documentation}.',\n 'settings.authentication.confirm_auto_provisioning.question': 'Select your provisioning method',\n 'settings.authentication.confirm_auto_provisioning.confirm_choice': 'Confirm choice',\n 'settings.authentication.confirm_auto_provisioning.auto.label':\n 'Enhanced automatic provisioning (recommended)',\n 'settings.authentication.confirm_auto_provisioning.auto.help':\n 'Now synchronizes users, groups, permissions and project visibility',\n 'settings.authentication.confirm_auto_provisioning.jit.label': 'Just-in-Time provisioning',\n 'settings.authentication.confirm_auto_provisioning.jit.help':\n 'Synchronises users and groups only',\n\n // GITHUB\n 'settings.authentication.github.form.create': 'New GitHub Configuration',\n 'settings.authentication.github.form.edit': 'Edit GitHub Configuration',\n 'settings.authentication.github.appid_x': 'App ID: {applicationId}',\n 'settings.authentication.github.confirm.AUTO_PROVISIONING': 'Switch to automatic provisioning',\n 'settings.authentication.github.confirm.JIT': 'Switch to Just-in-Time provisioning',\n 'settings.authentication.github.confirm.insecure': 'Potentially insecure configuration',\n 'settings.authentication.github.confirm.AUTO_PROVISIONING.description':\n 'Once you transition to automatic provisioning, groups, users, group memberships, and permissions on GitHub projects will be inherited from GitHub. You will no longer have the ability to edit them within {productName}. Do you want to proceed with this change?',\n 'settings.authentication.github.confirm.JIT.description':\n 'Switching to Just-in-Time provisioning removes the automatic synchronization of users, groups, and group memberships. Users are provisioned and group memberships are updated only at user login. Are you sure?',\n 'settings.authentication.github.provisioning_change.confirm_changes': 'Confirm change',\n 'settings.authentication.github.provisioning_change.insecure_config':\n \"Please be aware that your configuration is potentially insecure because you didn't add any organization to the allowlist. If your GitHub App is public, anyone can install it and gain access to your instance.\",\n 'settings.authentication.github.configuration': 'GitHub Configuration',\n 'settings.authentication.github.form.not_configured': 'GitHub App is not configured',\n 'settings.authentication.github.form.legacy_configured':\n 'Compatibility with GitHub OAuth Apps is deprecated and will be removed in a future release. As such, your current configuration will continue to work but some features will no longer be available. We recommend that you create a new GitHub App configuration. This will automatically replace your current GitHub OAuth App configuration. {documentation}',\n 'settings.authentication.github.form.legacy_configured.link':\n 'Learn more about how to create a GitHub App configuration',\n 'settings.authentication.github.enable_first':\n 'Enable your GitHub configuration for more provisioning options.',\n 'settings.authentication.github.form.allowedOrganizations.name': 'Organizations',\n 'settings.authentication.github.form.allowedOrganizations.description':\n 'Only members of these organizations will be able to authenticate to the server. ⚠ if not set, users from any organization where the GitHub App is installed will be able to login to this {productName} instance.',\n 'settings.authentication.github.form.apiUrl.name': 'The API url for a GitHub instance.',\n 'settings.authentication.github.form.apiUrl.description':\n 'The API url for a GitHub instance. https://api.github.com/ for GitHub.com, https://github.company.com/api/v3/ when using GitHub Enterprise',\n 'settings.authentication.github.form.applicationId.name': 'App ID',\n 'settings.authentication.github.form.applicationId.description':\n \"The App ID is found on your GitHub App's page on GitHub at Settings > Developer Settings > GitHub Apps.\",\n 'settings.authentication.github.form.clientId.name': 'Client ID',\n 'settings.authentication.github.form.clientId.description':\n 'Client ID provided by GitHub when registering the application.',\n 'settings.authentication.github.form.clientSecret.name': 'Client Secret',\n 'settings.authentication.github.form.clientSecret.description':\n 'Client password provided by GitHub when registering the application.',\n 'settings.authentication.github.form.privateKey.name': 'Private Key',\n 'settings.authentication.github.form.privateKey.description':\n \"Your GitHub App's private key. You can generate a .pem file from your GitHub App's page under Private keys. Copy and paste the whole contents of the file here.\",\n 'settings.authentication.github.form.synchronizeGroups.name': 'Synchronize teams as groups',\n 'settings.authentication.github.form.synchronizeGroups.description':\n 'Synchronize GitHub team with {productName} group memberships when users log in to {productName}. For each GitHub team they belong to, users will be associated to a group of the same name if it exists in {productName}.',\n 'settings.authentication.github.form.webUrl.name': 'The WEB url for a GitHub instance.',\n 'settings.authentication.github.form.webUrl.description':\n 'The WEB url for a GitHub instance. https://github.com/ for GitHub.com, https://github.company.com/ when using GitHub Enterprise.',\n 'settings.authentication.github.form.private_key.required_for_url_change':\n 'Please provide your private key again to update the API URL or the Web URL.',\n 'settings.authentication.github.form.provisioning_with_github':\n 'Automatic user, group, and permission provisioning',\n 'settings.authentication.github.form.provisioning_with_github_short.autoProvisioning':\n 'Automatic provisioning',\n 'settings.authentication.github.form.provisioning_with_github_short.jit':\n 'Just-in-Time provisioning',\n 'settings.authentication.github.form.provisioning_with_github.description':\n 'Users, groups and permissions are automatically provisioned from your GitHub organizations. Once activated, users and groups can only be created and modified from your GitHub organizations/teams. Existing local users will be kept and can only be deactivated. {documentation}',\n 'settings.authentication.github.form.description.doc': 'For more details, see {documentation}.',\n 'settings.authentication.github.form.provisioning_at_login.description':\n 'Users and groups are synchronized only when users log in to {productName}. {documentation}',\n 'settings.authentication.github.form.provisioning.disabled':\n 'Your current edition does not support provisioning with GitHub. See the {documentation} for more information.',\n 'settings.authentication.github.form.allowUsersToSignUp.name': 'Allow users to sign up',\n 'settings.authentication.github.form.allowUsersToSignUp.description':\n 'Allow new users to authenticate. When set to disabled, only existing users will be able to authenticate to the server.',\n 'settings.authentication.github.form.projectVisibility.name': 'Provision project visibility',\n 'settings.authentication.github.form.projectVisibility.description':\n 'Change project visibility based on GitHub repository visibility. If disabled, every provisioned project will be private in {productName} and visible only to users with explicit GitHub permissions for the corresponding repository. Changes take effect at the next synchronization.',\n 'settings.authentication.github.synchronize_now': 'Synchronize now',\n 'settings.authentication.github.synchronization_finish': 'Synchronization is done.',\n 'settings.authentication.github.configuration.validation.details': 'View details',\n 'settings.authentication.github.configuration.validation.valid.short': 'Configuration is valid.',\n 'settings.authentication.github.configuration.validation.valid':\n 'Configuration is valid for {0}. {1} organizations will be synced.',\n 'settings.authentication.github.configuration.validation.valid_one':\n \"Configuration is valid for {0}. Organization '{1}' will be synced.\",\n 'settings.authentication.github.configuration.validation.invalid':\n 'Configuration is invalid. {0}',\n 'settings.authentication.github.configuration.validation.invalid_org':\n 'Organization \"{0}\" has the following error: {1}',\n 'settings.authentication.github.configuration.validation.details.title': 'Configuration validity',\n 'settings.authentication.github.configuration.validation.details.valid_label': 'Valid',\n 'settings.authentication.github.configuration.validation.details.invalid_label': 'Invalid',\n 'settings.authentication.github.configuration.validation.details.org_not_found':\n '{0} (not found or app not installed)',\n 'settings.authentication.github.configuration.roles_mapping.description':\n 'When synchronizing users and groups, {productName} assigns permissions based on GitHub user and team roles. You can customize the mapping of permissions. The new mapping will take effect at the next synchronization.',\n 'settings.authentication.github.configuration.roles_mapping.save_success':\n 'GitHub roles mapping saved successfully.',\n 'settings.authentication.github.configuration.roles_mapping.dialog.custom_roles_description':\n 'When a custom role name added here matches an existing GitHub custom role in any of your organizations, the mapping applies to all users with this custom role. If an existing GitHub custom role has no exact match in this list, the permissions of its inherited base role are mapped.',\n 'settings.authentication.github.configuration.unsaved_changes': 'You have unsaved changes.',\n\n // GITLAB\n 'settings.authentication.gitlab.configuration': 'GitLab Configuration',\n 'settings.authentication.gitlab.form.not_configured': 'GitLab App is not configured',\n 'settings.authentication.gitlab.form.create': 'New GitLab Configuration',\n 'settings.authentication.gitlab.form.edit': 'Edit GitLab Configuration',\n 'settings.authentication.gitlab.form.applicationId.name': 'Application ID',\n 'settings.authentication.gitlab.form.applicationId.description':\n 'Application ID provided by GitLab when registering the application.',\n 'settings.authentication.gitlab.form.url.name': 'GitLab URL',\n 'settings.authentication.gitlab.form.url.description': 'URL to access GitLab.',\n 'settings.authentication.gitlab.form.secret.name': 'Secret',\n 'settings.authentication.gitlab.form.secret.description':\n 'Secret provided by GitLab when registering the application.',\n 'settings.authentication.gitlab.form.secret.required_for_url_change':\n 'Please provide your secret again to update the URL.',\n 'settings.authentication.gitlab.form.synchronizeGroups.name': 'Synchronize user groups',\n 'settings.authentication.gitlab.form.synchronizeGroups.description':\n 'For each GitLab group they belong to, the user will be associated to a group with the same name (if it exists) in {productName}. If enabled, the GitLab OAuth 2 application will need to provide the api scope.',\n 'settings.authentication.gitlab.form.allowedGroups.name': 'Allowed groups',\n 'settings.authentication.gitlab.form.allowedGroups.description.JIT':\n 'Only members of these groups (and sub-groups) will be allowed to authenticate. Enter the group slug as it appears in the GitLab URL, for instance `my-gitlab-group`. ⚠︎ When you turn on `Allow users to sign up`, make sure to also turn on group synchronization and provide a list of allowed groups. Otherwise, any GitLab user will be able to log in to this {productName} instance.',\n 'settings.authentication.gitlab.form.allowedGroups.description.AUTO_PROVISIONING':\n 'Only members of these groups (and sub-groups) will be provisioned. Please enter the group slug as it appears in the GitLab URL, for instance `my-gitlab-group`.',\n 'settings.authentication.gitlab.form.allowUsersToSignUp.name': 'Allow users to sign up',\n 'settings.authentication.gitlab.form.allowUsersToSignUp.description':\n 'Allow new users to authenticate. When set to disabled, only existing users will be able to authenticate to the server.',\n 'settings.authentication.gitlab.form.provisioningToken.name': 'Provisioning token',\n 'settings.authentication.gitlab.form.provisioningToken.description':\n 'Token used for user provisioning. You can either use a group or a personal access token, as long as it has visibility on the groups that need to be imported.',\n 'settings.authentication.gitlab.applicationId.name': 'App ID: {0}',\n 'settings.authentication.gitlab.enable_first':\n 'Enable your GitLab configuration for more provisioning options.',\n 'settings.authentication.gitlab.provisioning_at_login':\n 'Just-in-Time user provisioning (default)',\n 'settings.authentication.gitlab.provisioning_at_login.description':\n 'Users are synchronized only when users log in to {productName}. {documentation}',\n 'settings.authentication.gitlab.description.JIT.learn_more':\n 'Learn more about Just-in-Time provisioning with GitLab',\n 'settings.authentication.gitlab.description.AUTO_PROVISIONING.learn_more':\n 'Learn more about automatic provisioning with GitLab',\n 'settings.authentication.gitlab.confirm.AUTO_PROVISIONING': 'Switch to automatic provisioning',\n 'settings.authentication.gitlab.confirm.JIT': 'Switch to Just-in-Time provisioning',\n 'settings.authentication.gitlab.confirm.AUTO_PROVISIONING.description':\n 'Once you transition to automatic provisioning users, groups and permissions on GitLab projects will be inherited from GitLab. You will no longer have the ability to edit them within {productName}. Do you want to proceed with this change?',\n 'settings.authentication.gitlab.confirm.JIT.description':\n 'Switching to Just-in-Time provisioning removes the automatic synchronization of users, groups and permissions. Users are provisioned and updated only at user login. Are you sure?',\n 'settings.authentication.gitlab.confirm.insecure': 'Potentially insecure configuration',\n 'settings.authentication.gitlab.provisioning_change.confirm_changes': 'Confirm change',\n 'settings.authentication.gitlab.provisioning_change.insecure_config':\n \"Please be aware that your configuration is potentially insecure because you didn't add any groups to the allowlist and you allowed users to sign up. Anyone can install it and gain access to your instance.\",\n 'settings.authentication.gitlab.form.provisioning_with_gitlab':\n 'Automatic user, group, and permission provisioning',\n 'settings.authentication.gitlab.form.provisioning_with_gitlab.description':\n 'Users, groups and permissions are automatically provisioned from GitLab. Once activated, users and groups can only be created and modified from GitLab. Existing local users will be kept and can only be deactivated. {documentation}',\n 'settings.authentication.gitlab.form.provisioning.disabled':\n 'Your current edition does not support provisioning with GitLab. See the {documentation} for more information.',\n 'settings.authentication.gitlab.configuration.unsaved_changes': 'You have unsaved changes.',\n 'settings.authentication.gitlab.configuration.valid.JIT':\n 'Configuration is valid for Just-in-Time provisioning.',\n 'settings.authentication.gitlab.configuration.valid.AUTO_PROVISIONING':\n 'Configuration is valid for Automatic provisioning.',\n 'settings.authentication.gitlab.configuration.roles_mapping.description':\n 'When synchronizing users and groups, {productName} assigns permissions based on Gitlab user roles. You can customize the mapping of permissions. The new mapping will take effect at the next synchronization.',\n 'settings.authentication.gitlab.configuration.roles_mapping.save_success':\n 'GitLab roles mapping saved successfully.',\n 'settings.authentication.gitlab.configuration.roles_mapping.dialog.custom_roles_description':\n 'When a custom role name added here matches an existing GitLab custom role in any of your groups or projects, the mapping applies to all users with this custom role. If an existing GitLab custom role has no exact match in this list, the permissions of its inherited base role are mapped.',\n\n // BITBUCKET\n 'settings.authentication.gitlab.configuration.insecure':\n 'BitBucket Authentication allows users to sign up, but no list of allowed workspaces was provided. This is potentially insecure. We recommend entering a list of allowed workspaces. {documentation}',\n\n // COMMON\n 'settings.authentication.configuration.validity_check_loading': 'Checking the configuration',\n 'settings.authentication.configuration.test': 'Test configuration',\n 'settings.authentication.synchronization_pending': 'Synchronization is pending.',\n 'settings.authentication.synchronization_in_progress': 'Synchronization is in progress.',\n 'settings.authentication.synchronization_successful.with_warning':\n 'Last synchronization was done {date} ago with warnings. {details}',\n 'settings.authentication.synchronization_details_link': 'More details',\n 'settings.authentication.synchronization_successful': 'Last synchronization was done {0} ago.',\n 'settings.authentication.synchronization_failed_short': 'Last synchronization failed. {details}',\n 'settings.authentication.synchronization_failed': 'Last synchronization failed {0} ago.',\n 'settings.authentication.configuration.roles_mapping.dialog.title': 'Global {0} role mapping',\n 'settings.authentication.configuration.roles_mapping.title': 'Role permission mapping',\n 'settings.authentication.configuration.roles_mapping.button_label': 'Edit mapping',\n 'settings.authentication.configuration.roles_mapping.dialog.roles_column': 'Roles',\n 'settings.authentication.configuration.roles_mapping.dialog.delete_custom_role':\n 'Delete custom role {0}',\n 'settings.authentication.configuration.roles_mapping.dialog.add_custom_role': 'Add custom role:',\n 'settings.authentication.configuration.roles_mapping.role_exists': 'Role already exists.',\n 'settings.authentication.configuration.roles_mapping.empty_custom_role':\n 'Custom roles should have some permissions.',\n\n // SAML\n 'settings.authentication.form.create.saml': 'New SAML configuration',\n 'settings.authentication.form.edit.saml': 'Edit SAML configuration',\n 'settings.authentication.saml.configuration': 'SAML Configuration',\n 'settings.authentication.saml.confirm.scim': 'Switch to automatic provisioning',\n 'settings.authentication.saml.confirm.jit': 'Switch to Just-in-Time provisioning',\n 'settings.authentication.saml.confirm.scim.description':\n 'Once you transition to automatic provisioning, groups, users and group memberships will be managed by your identity provider. You will no longer have the ability to edit them within {productName}. Do you want to proceed with this change?',\n 'settings.authentication.saml.confirm.jit.description':\n 'Switching to Just-in-Time provisioning removes all information provided while automatic provisioning through SCIM was active. These changes cannot be reverted. Are you sure?',\n 'settings.authentication.saml.form.loading': 'Loading SAML configuration',\n 'settings.authentication.saml.form.not_configured': 'SAML is not configured',\n 'settings.authentication.saml.form.create': 'New SAML configuration',\n 'settings.authentication.saml.form.edit': 'Edit SAML configuration',\n 'settings.authentication.saml.form.save': 'Save configuration',\n 'settings.authentication.saml.form.test': 'Test configuration',\n 'settings.authentication.saml.form.test.help.dirty': 'You must save your changes',\n 'settings.authentication.saml.form.test.help.incomplete': 'Some mandatory fields are empty',\n 'settings.authentication.saml.form.save_success': 'Saved successfully',\n 'settings.authentication.saml.form.save_partial': 'Saved partially',\n 'settings.authentication.saml.form.provisioning_at_login':\n 'Just-in-Time user and group provisioning (default)',\n 'settings.authentication.saml.form.provisioning_at_login.sub':\n 'Use this option if your identity provider does not support the SCIM protocol.',\n 'settings.authentication.saml.form.provisioning_with_scim':\n 'Automatic user and group provisioning with SCIM',\n 'settings.authentication.saml.form.provisioning_with_scim.sub':\n 'Preferred option when using a supported identity provider.',\n 'settings.authentication.saml.form.provisioning_with_scim.description':\n 'Users and groups are automatically provisioned from your identity provider using the SCIM protocol. Once activated, managed users and groups can only be modified from your identity provider. Existing local users and groups will be kept.',\n 'settings.authentication.saml.form.provisioning_with_scim.description.doc':\n 'For a list of supported providers and more details on automatic provisioning, see {documentation}.',\n 'settings.authentication.saml.form.provisioning.disabled':\n 'Your current edition does not support provisioning with SCIM. See the {documentation} for more information.',\n 'settings.authentication.saml.enable_first':\n 'Enable your SAML configuration to benefit from automatic user provisioning options.',\n\n 'settings.pr_decoration.binding.category': 'DevOps Platform Integration',\n 'settings.pr_decoration.binding.no_bindings':\n 'A system administrator needs to enable this feature in the global settings.',\n 'settings.pr_decoration.binding.no_bindings.admin':\n 'Set up a {link} first before you and your team can enable Pull Request Decoration.',\n 'settings.pr_decoration.binding.no_bindings.link': 'global configuration',\n 'settings.pr_decoration.binding.title': 'DevOps Platform Integration',\n 'settings.pr_decoration.binding.description':\n 'Display your Quality Gate status directly in your DevOps Platform.',\n 'settings.pr_decoration.binding.check_configuration': 'Check configuration',\n 'settings.pr_decoration.binding.check_configuration.failure':\n 'You have the following errors in your configuration:',\n 'settings.pr_decoration.binding.check_configuration.failure.check_global_settings':\n 'Please check your {link}.',\n 'settings.pr_decoration.binding.check_configuration.failure.check_global_settings.link':\n 'global settings',\n 'settings.pr_decoration.binding.check_configuration.contact_admin':\n 'Please contact your system administrator.',\n 'settings.pr_decoration.binding.check_configuration.success': 'Configuration valid.',\n 'settings.pr_decoration.binding.form.name': 'Configuration name',\n 'settings.pr_decoration.binding.form.name.help':\n 'Each DevOps Platform instance must be configured globally first, and given a unique name. Pick the instance your project is hosted on.',\n 'settings.pr_decoration.binding.form.monorepo': 'Enable monorepository support',\n 'settings.pr_decoration.binding.form.monorepo.help':\n 'Enable this setting if your project is part of a monorepository. {doc_link}',\n 'settings.pr_decoration.binding.form.monorepo.warning':\n 'This setting must be enabled for all {productName} projects that are part of a monorepository.',\n 'settings.pr_decoration.binding.form.azure.project': 'Project name',\n 'settings.pr_decoration.binding.form.azure.project.help':\n \"The name of the Azure DevOps project containing your repository. You can find this name on your project's Overview page.\",\n 'settings.pr_decoration.binding.form.azure.repository': 'Repository name',\n 'settings.pr_decoration.binding.form.azure.repository.help':\n \"The name of your Azure DevOps repository. You can find this name on your project's Repos page.\",\n 'settings.pr_decoration.binding.form.azure.inline_pr_annotations':\n 'Enable Inline Pull Request Annotations',\n 'settings.pr_decoration.binding.form.azure.inline_pr_annotations.help':\n 'When activated, issues within each file are annotated with relevant issue details.',\n 'settings.pr_decoration.binding.form.github.repository': 'Repository name',\n 'settings.pr_decoration.binding.form.github.repository.help':\n \"The full name of your repository, including the organization. You can find this name in your repository's URL. This name is case-sensitive!\",\n 'settings.pr_decoration.binding.form.github.summary_comment_setting':\n 'Enable analysis summary under the GitHub Conversation tab',\n 'settings.pr_decoration.binding.form.github.summary_comment_setting.help':\n 'When enabled, a summary is displayed under the GitHub Conversation tab. Notifications may be sent by GitHub depending on your settings.',\n 'settings.pr_decoration.binding.form.bitbucket.repository': 'Project key',\n 'settings.pr_decoration.binding.form.bitbucket.repository.help':\n 'The project key is part of your Bitbucket Server repository URL. This is case-sensitive!',\n 'settings.pr_decoration.binding.form.bitbucket.slug': 'Repository slug',\n 'settings.pr_decoration.binding.form.bitbucket.slug.help':\n 'The repository slug is part of your Bitbucket Server repository URL. This slug is case-sensitive!',\n 'settings.pr_decoration.binding.form.bitbucketcloud.repository': 'Repository slug',\n 'settings.pr_decoration.binding.form.bitbucketcloud.repository.help':\n 'The repository slug is part of your Bitbucket Cloud repository URL.',\n\n 'settings.pr_decoration.binding.form.gitlab.repository': 'Project ID',\n 'settings.pr_decoration.binding.form.gitlab.repository.help':\n 'The Project ID is a numerical unique identifier for your project. You can find it on your Project Overview.',\n\n 'settings.email_notification.category': 'Email Notification',\n 'settings.email_notification.header': 'SMTP Configuration',\n\n // Mode\n 'settings.mode.title': 'Mode',\n 'settings.mode.description.line1':\n 'There are two options to reflect the health of all the projects in this instance: {mqrLink} and {standardLink}',\n 'settings.mode.description.line2':\n 'Changing the mode will change how issues are categorized and ranked based on the results of the analysis.',\n 'settings.mode.checking_instance': 'Checking your instance...',\n 'settings.mode.instance_conditions_from_other_mode':\n 'Some of the Quality Gates in this instance are using metrics that belong to the {isStandardMode, select, true {Standard Experience} other {Multi-Quality Rule Mode}}. You will be able to update them once you save the changes.',\n 'settings.mode.standard.name': 'Standard Experience',\n 'settings.mode.mqr.name': 'Multi-Quality Rule (MQR) Mode',\n 'settings.mode.standard.description.line1':\n 'Offers the traditional use of the rule types: bugs, code smells, and vulnerabilities, categorized with a single type and severity for each rule.',\n 'settings.mode.standard.description.line2':\n 'This approach focuses on assigning severity to a rule and its issues based on the single software quality (for example, security, reliability or maintainability) it has the largest impact on. This is the rule categorization used in {productName} 9.9 LTA and earlier.',\n 'settings.mode.mqr.description.line1':\n 'Aims to more accurately represent the impact software has on all software qualities. Very few issues impact only a single software quality. For instance, most vulnerabilities are also bugs. And vice versa. The MQR mode maps each rule to each of the qualities it impacts, with a separate severity rating for each quality.',\n 'settings.mode.mqr.description.line2':\n 'This approach focuses on ensuring the impact of an issue on all software qualities is clear, not just the most severe one.',\n 'settings.mode.save.warning': 'Save changes to see them reflected in your instance',\n 'settings.mode.save':\n 'Save the mode. The current mode will be switched to {isStandardMode, select, true {Standard Experience} other {Multi-Quality Rule Mode}}',\n 'settings.mode.save.success':\n 'This instance is now in {isStandardMode, select, true {Standard Experience} other {Multi-Quality Rule Mode}}.',\n\n 'mode.standard.advertisement':\n 'Looking for Security, Reliability, and Maintainability issues? If your team prefers working with software qualities, change it in the <a>settings</a>',\n 'mode.mqr.advertisement':\n 'Looking for Bugs, Vulnerabilities, or Code Smells? If your team prefers working with these types, change it in the <a>settings</a>',\n 'settings.mode.mqr.advertisement':\n 'If your team prefers working with Vulnerabilities, Bugs, and Code Smells, change it in the <a>Mode section</a> of General Settings',\n 'settings.mode.standard.advertisement':\n 'If your team prefers working with Security, Reliability, and Maintainability issues, change it in the <a>Mode section</a> of General Settings',\n\n 'property.category.announcement': 'Announcement',\n 'property.category.general': 'General',\n 'property.category.general.email': 'Email',\n 'property.category.general.duplications': 'Duplications',\n 'property.category.general.differentialViews': 'New Code',\n 'property.category.general.localization': 'Localization',\n 'property.category.general.databaseCleaner': 'Database Cleaner',\n 'property.category.general.looknfeel': 'Look & Feel',\n 'property.category.general.issues': 'Issues',\n 'property.category.general.qualityGate': 'Quality Gate',\n 'property.category.general.qualityProfile': 'Quality Profile',\n 'property.category.general.subProjects': 'Sub-projects',\n 'property.category.general.subProjectCreation': 'Project Creation',\n 'property.category.almintegration': 'DevOps Platform Integrations',\n 'property.category.authentication': 'Authentication',\n 'property.category.ai_code': 'AI-Generated Code',\n 'property.category.organizations': 'Organizations',\n 'property.category.security': 'Security',\n 'property.category.security.encryption': 'Encryption',\n 'property.category.java': 'Java',\n 'property.category.differentialViews': 'New Code',\n 'property.category.codeCoverage': 'Code Coverage',\n 'property.category.duplications': 'Duplications',\n 'property.category.localization': 'Localization',\n 'property.category.exclusions': 'Analysis Scope',\n 'property.category.webhooks': 'Webhooks',\n 'property.category.languages': 'Languages',\n 'property.category.aicodefix': 'AI CodeFix',\n 'property.sonar.autodetect.ai.code.confirmation':\n '{value, select, true {<p1>“Autodetect AI-generated code” will be turned on for all projects.</p1><p>This setting can be turned off by project administrators at the project level to prevent the autodetection of AI-generated code in specific projects.</p>} other {<p1>“Autodetect AI-generated code” will be turned off for all projects.</p1><p>Project administrators will no longer be able to activate this setting at the project level.</p>}}',\n 'property.sonar.inclusions.name': 'Source File Inclusions',\n 'property.sonar.inclusions.description':\n 'Patterns used to include some source files and only these ones in analysis.',\n 'property.sonar.test.inclusions.name': 'Test File Inclusions',\n 'property.sonar.test.inclusions.description':\n 'Patterns used to include some test files and only these ones in analysis.',\n 'property.sonar.exclusions.name': 'Source File Exclusions',\n 'property.sonar.exclusions.description':\n 'Patterns used to exclude some source files from analysis.',\n 'property.sonar.test.exclusions.name': 'Test File Exclusions',\n 'property.sonar.test.exclusions.description':\n 'Patterns used to exclude some test files from analysis.',\n 'property.sonar.global.exclusions.name': 'Global Source File Exclusions',\n 'property.sonar.global.exclusions.description':\n 'Patterns used to exclude some source files from analysis. They apply to every project and cannot be overridden.',\n 'property.sonar.global.test.exclusions.name': 'Global Test File Exclusions',\n 'property.sonar.global.test.exclusions.description':\n 'Patterns used to exclude some test files from analysis. They apply to every project and cannot be overridden.',\n 'property.category.exclusions.files': 'A. File Exclusions',\n 'property.category.exclusions.files.description':\n 'Configure the files that should be completely ignored by the analysis.',\n 'property.sonar.skippedModules.name': 'Module Exclusions',\n 'property.sonar.skippedModules.description':\n 'This property is deprecated since version 4.3 and should not be used anymore.',\n 'property.sonar.includedModules.name': 'Module Inclusions',\n 'property.sonar.includedModules.description':\n 'This property is deprecated since version 4.3 and should not be used anymore.',\n 'property.category.exclusions.issues': 'D. Issue Exclusions',\n 'property.category.exclusions.issues.description':\n 'Configure the conditions under which issues should not be reported.',\n 'property.category.exclusions.duplications': 'C. Duplication Exclusions',\n 'property.category.exclusions.duplications.description':\n 'Configure the files that should be ignored by duplication detection.',\n 'property.category.exclusions.coverage': 'B. Code Coverage Exclusions',\n 'property.category.exclusions.coverage.description':\n 'Configure the files that should be ignored by code coverage calculations.',\n 'property.sonar.coverage.exclusions.name': 'Coverage Exclusions',\n 'property.sonar.coverage.exclusions.description':\n 'Patterns used to exclude some files from coverage report.',\n 'property.category.technicalDebt': 'Technical Debt',\n 'property.error.notBoolean': 'Valid options are \"true\" and \"false\"',\n 'property.error.notInteger': 'Only digits are allowed',\n 'property.error.notFloat': 'Not a floating point number',\n 'property.error.notRegexp': 'Regular expression must be valid',\n 'property.error.notInOptions': 'Not a valid option',\n 'property.category.scm': 'SCM',\n 'property.category.housekeeping': 'Housekeeping',\n 'property.category.housekeeping.general': 'General',\n 'property.category.housekeeping.branchesAndPullRequests': 'Branches and Pull Requests',\n 'property.category.housekeeping.auditLogs': 'Audit Logs',\n\n 'property.aicodefix.admin.title': 'Enable AI-generated fix suggestions',\n 'property.aicodefix.admin.description':\n 'Activate this option to enable users of all or part of the projects to generate an AI-suggested code fix for an issue using the Sonar AI CodeFix service.',\n 'property.aicodefix.admin.checkbox.label': 'Enable AI CodeFix',\n 'property.aicodefix.admin.disabled':\n 'According to your company policy, access to AI CodeFix is not available for this SonarQube instance',\n 'property.aicodefix.admin.acceptTerm.label':\n 'By activating this option, you agree to the {terms}',\n 'property.aicodefix.admin.acceptTerm.terms': 'AI CodeFix Terms',\n 'property.aicodefix.admin.enable.title': 'Choose which projects should have AI CodeFix enabled',\n 'property.aicodefix.admin.enable.all.projects.label': 'All projects',\n 'property.aicodefix.admin.enable.all.projects.help':\n 'Enable AI CodeFix on all existing and future projects',\n 'property.aicodefix.admin.enable.some.projects.label': 'Only selected projects',\n 'property.aicodefix.admin.enable.some.projects.help':\n 'Enable AI CodeFix on selected projects only',\n 'property.aicodefix.admin.enable.some.projects.note':\n 'AI CodeFix will not be automatically enabled on new projects.',\n 'property.aicodefix.admin.early_access.title': 'Free - early access feature',\n 'property.aicodefix.admin.early_access.content1':\n \"This no-cost trial is offered to you at Sonar's discretion during the early access period.\",\n 'property.aicodefix.admin.early_access.content2':\n 'Sonar may stop the trial at any time. At the end of the trial, the AI CodeFix feature will be deactivated and your organization will not be charged.',\n 'property.aicodefix.admin.serviceInfo.learnMore': 'Read more about enabling AI CodeFix',\n 'property.aicodefix.admin.serviceInfo.spinner.label':\n 'Waiting for AI CodeFix service to respond...',\n 'property.aicodefix.admin.serviceInfo.unexpected.response.label':\n 'The AI CodeFix service returned an unexpected response. You might need to upgrade your instance.',\n 'property.aicodefix.admin.serviceInfo.empty.response.label':\n 'The AI CodeFix service returned an empty response. Please report the issue to the maintainers.',\n 'property.aicodefix.admin.serviceInfo.result.unresponsive.message':\n 'The AI CodeFix service does not respond or is not reachable.',\n 'property.aicodefix.admin.serviceInfo.result.unresponsive.causes.title':\n 'Here are some possible causes of this error:',\n 'property.aicodefix.admin.serviceInfo.result.unresponsive.causes.1':\n 'The network may not be properly configured on this SonarQube instance. Please check the firewall and connectivity settings.',\n 'property.aicodefix.admin.serviceInfo.result.unresponsive.causes.2':\n 'The AI CodeFix service may be down.',\n 'property.aicodefix.admin.serviceInfo.result.requestError':\n 'Error checking the AI CodeFix service:',\n 'property.aicodefix.admin.serviceInfo.result.serviceError':\n 'The AI CodeFix service is reachable but returned an error. Check logs for more details.',\n 'property.aicodefix.admin.serviceInfo.result.unauthorized':\n 'This SonarQube instance is not allowed to use AI CodeFix.',\n 'property.aicodefix.admin.serviceInfo.result.unknown':\n 'The AI CodeFix service returned an unexpected message:',\n 'property.aicodefix.admin.serviceInfo.result.error.title': 'AI CodeFix Error',\n 'property.aicodefix.admin.serviceInfo.result.error.retry.message':\n 'If the issue persists, try again later or { link }',\n 'property.aicodefix.admin.serviceInfo.result.error.retry.get_help': 'get help',\n 'property.aicodefix.admin.serviceInfo.result.error.retry.action': 'Retry',\n 'property.aicodefix.admin.promotion.title': 'This is a paid feature',\n 'property.aicodefix.admin.promotion.subtitle': 'Unlock AI-generated fix suggestions',\n 'property.aicodefix.admin.promotion.content':\n 'Enable users of all or part of the projects to generate an AI-suggested code fix for an issue using the Sonar AI CodeFix service. To get access to AI CodeFix:',\n 'property.aicodefix.admin.promotion.contact': 'Contact us',\n 'property.aicodefix.admin.promotion.checkDocumentation': 'Check documentation',\n 'property.aicodefix.admin.promotion.link': 'Enable AI Codefix',\n 'notification.aicodefix.ea.admin.message':\n 'Try AI CodeFix Free Early Access to receive AI-generated code fix suggestions for issues in this instance. {link}',\n 'notification.aicodefix.ga.paid.inactive.admin.message':\n 'The Sonar AI CodeFix is now available for this instance. Enable it to receive AI-generated code fix suggestions for some or all of your projects. {link}',\n 'notification.aicodefix.ga.unpaid.active.admin.message':\n 'The Free Early Access to AI CodeFix has ended. To continue receiving AI-generated CodeFix suggestions for issues in this instance, please enable the feature. {link}',\n 'notification.aicodefix.ga.unpaid.inactive.admin.message':\n 'Enable users to receive AI-generated code fixes for issues using the Sonar AI CodeFix feature. Available across all or selected projects. {link}',\n 'notification.aicodefix.ga.unpaid.active.user.message':\n 'The Free Early Access to AI CodeFix has ended. To continue receiving AI-generated code fixes, contact your administrator to request access. {link}',\n 'notification.autodetect.ai.message':\n 'SonarQube can autodetect AI-generated code in your projects. <link>Read more</link>',\n\n //------------------------------------------------------------------------------\n //\n // SEARCH ENGINE FOR RESOURCES\n //\n //------------------------------------------------------------------------------\n 'search.shortcut_hint': 'Hint: Press {shortcut} from anywhere to open this search bar.',\n 'search.show_more.hint': 'Press {key} to display',\n 'search.placeholder': 'Search for projects...',\n 'search.search_for_projects': 'Search for projects...',\n 'search.search_for_dependencies': 'Search for dependencies...',\n 'search.search_for_members': 'Search for members...',\n 'search.search_for_users': 'Search for users...',\n 'search.search_for_users_or_groups': 'Search for users or groups...',\n 'search.search_by_login_or_name': 'Search by login or name...',\n 'search.search_by_name': 'Search by name...',\n 'search.search_by_name_or_key': 'Search by name or key...',\n 'search.search_for_tags': 'Search for tags...',\n 'search.search_for_repositories': 'Search for repositories...',\n 'search.search_for_rules': 'Search for rules...',\n 'search.search_for_languages': 'Search for languages...',\n 'search.search_for_cwe': 'Search for CWEs...',\n 'search.search_for_authors': 'Search for authors...',\n 'search.search_for_directories': 'Search for directories...',\n 'search.search_for_files': 'Search for files...',\n 'search.search_for_modules': 'Search for modules...',\n 'search.search_for_metrics': 'Search for metrics...',\n 'search.search_for_profiles': 'Search for Quality Profiles...',\n 'search.tooShort': 'Please enter at least {0} characters',\n\n 'global_search.shortcut_hint': \"Hint: Press 'S' from anywhere to open this search bar.\",\n\n //------------------------------------------------------------------------------\n //\n // GLOBAL HELP\n //\n //------------------------------------------------------------------------------\n 'help.section.links': 'Links',\n 'help.section.shortcuts': 'Shortcuts',\n 'help.section.tutorials': 'Tutorials',\n\n 'shortcuts.section.global': 'Global',\n 'shortcuts.section.global.search': 'quickly open search bar',\n 'shortcuts.section.global.shortcuts': 'open this window',\n 'shortcuts.section.global.facets.multiselection': 'Press Ctrl to add to selection',\n 'shortcuts.section.global.facets.multiselection.mac': 'Press \\u2318 to add to selection',\n 'shortcuts.section.global.facets.multiselection.title': 'Add to selection',\n\n 'shortcuts.section.issues': 'Issues Page',\n 'shortcuts.section.issues.navigate_between_issues': 'navigate between issues',\n 'shortcuts.section.issues.open_details': 'go from the list of issues to the source code',\n 'shortcuts.section.issues.return_to_list': 'return back to the list',\n\n 'shortcuts.section.issue.do_transition': 'do an issue transition',\n 'shortcuts.section.issue.assign': 'assign issue',\n 'shortcuts.section.issue.assign_to_me': 'assign issue to the current user',\n 'shortcuts.section.issue.change_severity': 'change severity of issue',\n 'shortcuts.section.issue.comment': 'comment issue',\n 'shortcuts.section.issue.submit_comment': 'submit comment',\n 'shortcuts.section.issue.change_tags': 'change tags of issue',\n\n 'shortcuts.section.rules': 'Rules Page',\n 'shortcuts.section.rules.navigate_between_rules': 'navigate between rules',\n 'shortcuts.section.rules.open_details': 'go from the list of rules to the rule details',\n 'shortcuts.section.rules.return_to_list': 'return back to the list',\n 'shortcuts.section.rules.activate': 'activate selected rule',\n 'shortcuts.section.rules.deactivate': 'deactivate selected rule',\n\n 'shortcuts.on_page.intro': 'This page allows you to use the following keyboard shortcuts:',\n 'shortcuts.on_page.left_x': 'Left arrow key: {0}',\n 'shortcuts.on_page.left_right_x': 'Left and right arrow keys: {0}',\n 'shortcuts.on_page.up_down_x': 'Up and down arrow keys: {0}',\n 'shortcuts.on_page.meta_x': 'Alt key + arrow keys: {0}',\n\n 'tutorials.onboarding': 'Analyze a new project',\n 'tutorials.skip': 'Skip this tutorial',\n 'tutorials.finish': 'Finish this tutorial',\n 'tutorials.find_tutorial_back_in_help': 'Find this tutorial back anytime in the Help section',\n 'tutorials.find_tutorial_back_in_plus': 'Find this tutorial back anytime in the \"+\" menu',\n\n //------------------------------------------------------------------------------\n //\n // SELECT2.js\n //\n //------------------------------------------------------------------------------\n 'select2.noMatches': 'No matches',\n 'select2.searching': 'Searching...',\n 'select2.tooShort': 'Please enter at least {0} characters',\n\n //------------------------------------------------------------------------------\n //\n // Echoes Selects\n //\n //------------------------------------------------------------------------------\n 'select.search.tooShort': 'To search, please enter at least {0} characters',\n 'select.search.noMatches': 'No matches',\n\n //------------------------------------------------------------------------------\n //\n // DUPLICATION VIEWER\n //\n //------------------------------------------------------------------------------\n 'duplications.dups_found_on_deleted_resource':\n 'This file contains duplicated blocks with some deleted resources. This project should be reanalyzed to remove these obsolete duplicated blocks.',\n\n //------------------------------------------------------------------------------\n //\n // GENERIC CODE VIEWER\n //\n //------------------------------------------------------------------------------\n 'code_viewer.no_source_code_displayed_due_to_empty_analysis.TRK':\n 'No code files were found for analysis.',\n 'code_viewer.no_source_code_displayed_due_to_empty_analysis.APP':\n 'No projects in this application.',\n 'code_viewer.no_source_code_displayed_due_to_empty_analysis.VW':\n 'No projects, applications, or portfolios in this portfolio.',\n 'code_viewer.no_source_code_displayed_due_to_empty_analysis.SVW':\n 'No projects, applications, or portfolios in this portfolio.',\n 'code_viewer.no_source_code_displayed_due_to_security':\n 'Due to security settings, no source code can be displayed.',\n 'code_viewer.no_source_code_displayed_due_to_source_removed':\n 'The file was removed, no source code can be displayed.',\n 'code_viewer.not_all_measures_are_shown': 'Not all projects and applications are included',\n 'code_viewer.not_all_measures_are_shown.help':\n 'You do not have access to all projects and/or applications.',\n 'code_viewer.portfolio_code_toggle_disabled.help':\n 'New Code and Overall Code measures are not available when searching for projects or applications.',\n 'code_viewer.loading': 'Source code is loading',\n\n //------------------------------------------------------------------------------\n //\n // CUSTOM MEASURES\n //\n //------------------------------------------------------------------------------\n 'custom_measures.page': 'Custom Measures',\n 'custom_measures.page.description':\n \"Update the values of custom metrics for this project. Changes will take effect at the project's next analysis. Custom metrics must be created at the global level.\",\n 'custom_measures.deprecated': 'Custom measures are deprecated and will be removed soon.',\n 'custom_measures.pending': 'Pending',\n 'custom_measures.pending_tooltip':\n 'The value will be integrated to project during next analysis.',\n 'custom_measures.all_metrics_taken':\n 'There are already measures on all available custom metrics.',\n 'custom_measures.delete_custom_measure': 'Delete Custom Measure',\n 'custom_measures.delete_custom_measure.confirmation':\n 'Are you sure you want to delete custom measure \"{0}\"?',\n 'custom_measures.create_custom_measure': 'Create Custom Measure',\n 'custom_measures.update_custom_measure': 'Update Custom Measure',\n 'custom_measures.metric': 'Metric',\n\n //------------------------------------------------------------------------------\n //\n // PROJECT NAVIGATION\n //\n //------------------------------------------------------------------------------\n\n 'project_navigation.analysis_status.failed': 'The last analysis has failed.',\n 'project_navigation.analysis_status.warnings': 'The last analysis has warnings.',\n 'project_navigation.analysis_status.pending': 'New analysis pending',\n 'project_navigation.analysis_status.in_progress': 'New analysis in progress',\n 'project_navigation.analysis_status.details_link': 'See details',\n 'project_navigation.analysis_status.details_link.label': 'See details about the last analysis',\n\n //------------------------------------------------------------------------------\n //\n // PROJECT ACTIVITY/HISTORY SERVICE\n //\n //------------------------------------------------------------------------------\n\n 'project_activity.analysis': 'Analysis',\n 'project_activity.analysis_build_string_X': 'Build string: {0}',\n 'project_activity.add_version': 'Create Version',\n 'project_activity.analysis_X_actions': 'Show actions for analysis {0}',\n 'project_activity.show_analysis_X_on_graph':\n 'Show details on interactive graph for analysis {0}. Note: this data is also available as a table. Click on the button below the graph.',\n 'project_activity.remove_version': 'Remove Version',\n 'project_activity.remove_version.question': 'Are you sure you want to delete this version?',\n 'project_activity.change_version': 'Change Version',\n 'project_activity.add_custom_event': 'Create Custom Event',\n 'project_activity.change_custom_event': 'Change Event',\n 'project_activity.remove_custom_event': 'Delete Event',\n 'project_activity.remove_custom_event.question': 'Are you sure you want to delete this event?',\n 'project_activity.reset_dates': 'Reset dates',\n 'project_activity.delete_analysis': 'Delete Analysis',\n 'project_activity.delete_analysis.question':\n 'Are you sure you want to delete this analysis from the history?',\n 'project_activity.filter_events': 'Events filter',\n 'project_activity.filter_events.placeholder': 'Select an event',\n 'project_activity.filter_date_range': 'Date range filter',\n 'project_activity.events.tooltip.edit': 'Edit this event: {event}',\n 'project_activity.events.tooltip.delete': 'Delete this event: {event}',\n 'project_activity.new_code_period_start': 'Everything above this line is New Code',\n 'project_activity.new_code_period_start.help':\n 'The analysis below this mark is the baseline for New Code comparison',\n\n 'project_activity.graphs.choose_type': 'Graph type',\n 'project_activity.graphs.explanation_x':\n 'This interactive graph shows data for the following project measures over time: {0}',\n 'project_activity.graphs.issues': 'Issues',\n 'project_activity.graphs.coverage': 'Coverage',\n 'project_activity.graphs.duplications': 'Duplications',\n 'project_activity.graphs.custom': 'Custom',\n 'project_activity.graphs.custom.add': 'Add metric',\n 'project_activity.graphs.custom.add_metric': 'Add a metric',\n 'project_activity.graphs.custom.select_metric': 'Select metric to display',\n 'project_activity.graphs.custom.add_metric_info':\n 'Only 3 metrics of the same type can be displayed on one graph. You can have a maximum of two graphs.',\n 'project_activity.graphs.custom.remove_metric': 'Remove the {0} metric from the graph',\n 'project_activity.graphs.custom.no_history':\n \"There isn't enough data to generate an activity graph, please select more metrics.\",\n 'project_activity.graphs.custom.metric_no_history':\n 'This metric has no historical data to display.',\n 'project_activity.graphs.custom.search': 'Search for a metric by name',\n 'project_activity.graphs.custom.type_x_message':\n 'Only \"{0}\" metrics are available with your current selection.',\n 'project_activity.graphs.graph_shown_x': 'Graph shown for {0}.',\n 'project_activity.graphs.open_in_table': \"Press 'Enter' to show the graph data in a table.\",\n 'project_activity.graphs.data_table.title': 'Graph data in table format',\n 'project_activity.graphs.data_table.max_lines_warning':\n 'Only the {0} most recent data entries are shown. If you want to see different data, change the date filters on the main page.',\n 'project_activity.graphs.data_table.no_data_warning': 'There is no data for the selected series.',\n 'project_activity.graphs.data_table.no_data_warning_check_dates_x':\n 'There is no data for the selected date range (everything after {start}). Try modifying the date filters on the main page.',\n 'project_activity.graphs.data_table.no_data_warning_check_dates_y':\n 'There is no data for the selected date range (everything before {end}). Try modifying the date filters on the main page.',\n 'project_activity.graphs.data_table.no_data_warning_check_dates_x_y':\n 'There is no data for the selected date range ({start} to {end}). Try modifying the date filters on the main page.',\n 'project_activity.graphs.data_table.data_gap':\n 'The chart history for issues related to software qualities may contain gaps while information is not available for one or more projects. {learn_more}',\n\n 'project_activity.graphs.rating_split.title': 'Metrics calculation changed',\n 'project_activity.graphs.rating_split.description':\n \"The way we calculate metrics has changed and it might have affected this metric's values.\",\n 'project_activity.graphs.rating_split.info_icon': 'Metrics calculation change information',\n\n 'project_activity.custom_metric.covered_lines': 'Covered Lines',\n\n 'project_activity.custom_metric.deprecated.severity':\n 'Old severities and the corresponding filters are deprecated.',\n 'project_activity.custom_metric.deprecated.quality':\n 'Issue types and the corresponding filters are deprecated. You can use filters by Software Quality.',\n 'project_activity.custom_metric.deprecated.confirmed':\n 'Confirmed issues and the corresponding filter is deprecated.',\n\n //------------------------------------------------------------------------------\n //\n // PROJECT \"UPDATE KEY\" PAGE\n //\n //------------------------------------------------------------------------------\n 'update_key.old_key': 'Old Key',\n 'update_key.new_key': 'New Key',\n 'update_key.are_you_sure_to_change_key': 'Are you sure you want to change key of \"{0}\"?',\n\n //------------------------------------------------------------------------------\n //\n // PROJECT QUALITY PROFILE PAGE\n //\n //------------------------------------------------------------------------------\n 'project_quality_profile.instance_default': 'Instance default',\n 'project_quality_profile.successfully_updated':\n '{0} Quality Profile has been successfully updated.',\n 'project_quality_profile.subtitle': 'Manage project Quality Profiles',\n 'project_quality_profile.always_use_default': 'Always use the instance default Quality Profile',\n 'project_quality_profile.current': 'Current Quality Profile',\n 'project_quality_profile.always_use_specific': 'Always use a specific Quality Profile',\n 'project_quality_profile.change_lang_X_profile': 'Change {0} Quality Profile',\n 'project_quality_profile.requires_new_analysis':\n 'Changes will be applied after the next analysis.',\n 'project_quality_profile.add_language.title': 'Add a new language',\n 'project_quality_profile.add_language.description':\n 'Manually configure a specific profile for a new language before the next analysis.',\n 'project_quality_profile.add_language.action': 'Add language',\n 'project_quality_profile.add_language_modal.title': 'Add a language',\n 'project_quality_profile.add_language_modal.choose_language': 'Choose a language',\n 'project_quality_profile.add_language_modal.choose_profile': 'Choose a profile',\n 'project_quality_profile.add_language_modal.no_active_rules': 'this profile has no active rules',\n 'project_quality_profile.add_language_modal.profile_unavailable_no_active_rules':\n 'This profile has no active rules, and cannot be used. Please enable at least 1 rule before using this profile.',\n 'project_quality_profile.add_language_modal.go_to_profile': 'Go to Quality Profile',\n 'project_quality_profile.change_profile_x': 'Change {x} profile',\n\n //------------------------------------------------------------------------------\n //\n // PROJECT QUALITY GATE PAGE\n //\n //------------------------------------------------------------------------------\n 'project_quality_gate.default_qgate': 'Default',\n 'project_quality_gate.successfully_updated': 'Quality Gate has been successfully updated.',\n 'project_quality_gate.always_use_default': 'Always use the instance default Quality Gate',\n 'project_quality_gate.always_use_specific': 'Always use a specific Quality Gate',\n 'project_quality_gate.select_specific_qg': 'Select Quality Gate',\n 'project_quality_gate.requires_new_analysis': 'Changes will be applied after the next analysis.',\n 'project_quality_gate.no_condition':\n 'This Quality Gate is empty. To make it usable, add conditions to the {link}.',\n 'project_quality_gate.no_condition_on_new_code':\n 'This Quality Gate sets conditions on overall code but not on new code. It will not appear on pull requests. To enable it for pull requests, add conditions to the {link}.',\n 'project_quality_gate.no_condition.link': 'Quality Gate definition',\n 'project_quality_gate.no_condition.reason': 'No conditions',\n 'project_quality_gate.ai_assured_quality_gate':\n 'This quality gate is qualified for AI Code Assurance',\n 'project_quality_gate.not_ai_assured_quality_gate':\n 'This quality gate is not qualified for AI Code Assurance',\n 'project_quality_gate.ai_generated_code_protected.title': 'Your AI-generated code is protected',\n 'project_quality_gate.ai_generated_code_protected.description':\n '<p>This project contains AI-generated code and the selected quality gate is qualified for <link>AI Code Assurance</link>.</p>',\n 'project_quality_gate.ai_generated_code_not_protected.title':\n 'Protect your AI-generated code with ‘AI Code Assurance’',\n 'project_quality_gate.ai_generated_code_not_protected.description':\n '<p>This project contains AI-generated code. We recommend using a qualified quality gate to enable <link>AI Code Assurance</link>.</p><p>You may use <linkSonarWay>Sonar way for AI code</linkSonarWay> or <linkQualifyDoc>qualify your own custom quality gates for AI Code Assurance</linkQualifyDoc>.</p>',\n\n //------------------------------------------------------------------------------\n //\n // PROJECT (RESOURCE) DELETION PAGE\n //\n //------------------------------------------------------------------------------\n\n 'project_deletion.delete_resource_confirmation': 'Are you sure you want to delete \"{0}\"?',\n 'project_deletion.resource_deleted': 'Project \"{0}\" has been successfully deleted.',\n 'projects_management.delete_resource_confirmation': 'Are you sure you want to delete \"{0}\"?',\n 'projects_management.delete_selected_warning': \"You're about to delete {0} selected items.\",\n 'projects_management.delete_all_warning': \"You're about to delete all {0} items.\",\n 'projects_management.project_has_been_successfully_created':\n 'Project {project} has been successfully created.',\n 'projects_management.select_project': 'Select project {0}',\n 'projects_management.show_actions_for_x': 'Show actions for project {0}',\n 'projects_management.filter_by_component': 'Filter by component',\n 'projects_management.filter_by_visibility': 'Filter by visibility',\n\n //------------------------------------------------------------------------------\n //\n // PROJECT INFORMATION DRAWER\n //\n //------------------------------------------------------------------------------\n\n 'project.info.title': 'Project Information',\n 'application.info.title': 'Application Information',\n 'project.about.title': 'About this Project',\n 'application.about.title': 'About this Application',\n 'project.info.description': 'Description',\n 'project.info.empty_description': 'No description added for this project.',\n 'application.info.empty_description': 'No description added for this application.',\n 'project.info.quality_gate': 'Quality Gate used',\n 'project.info.quality_gate.link_label':\n '{gate} - quality gate used for this project. Click to navigate to the quality gate page.',\n 'project.info.to_notifications': 'Set notifications',\n 'project.info.notifications': 'Notifications',\n 'project.info.main_branch': 'Main branch',\n 'project.info.see_more_info_on_x_locs': 'See more information on your {0} lines of code',\n 'project.info.make_home.title': 'Use as homepage',\n 'project.info.make_home.label': 'Make this project my homepage',\n 'application.info.make_home.label': 'Make this application my homepage',\n 'project.info.make_home.tooltip':\n \"This means you'll be redirected to this project whenever you log in to {productName} or click on the top-left {productName} logo.\",\n 'application.info.make_home.tooltip':\n \"This means you'll be redirected to this application whenever you log in to {productName} or click on the top-left {productName} logo.\",\n 'overview.project_key.tooltip.TRK':\n 'Your project key is a unique identifier for your project. If you are using Maven, make sure the key matches the \"groupId:artifactId\" format.',\n 'overview.project_key.tooltip.APP':\n 'Your application key is a unique identifier for your application.',\n 'project.info.contain_ai_code.title': 'AI Code',\n 'project.info.contain_ai_code.description': 'This project contains AI-generated code.',\n 'project.info.detected_ai_code.description': 'This project may contain AI-generated code.',\n 'project.info.ai_code_assurance.title': 'AI Code Assurance',\n 'project.info.ai_code_assurance.on.description':\n 'This project benefits from Sonar’s AI Code Assurance.',\n 'project.info.ai_code_assurance.off.description':\n 'This project could benefit from AI Code Assurance by using an <link>AI-qualified quality gate</link>.',\n 'project.info.ai_code_assurance.off.description_for_admin':\n 'To benefit from AI Code Assurance, select an AI-qualified quality gate.',\n 'project.info.ai_code_fix.title': 'AI CodeFix',\n 'project.info.ai_code_fix.message': 'AI CodeFix is enabled for this project.',\n\n //------------------------------------------------------------------------------\n //\n // QUALITY PROFILES\n //\n //------------------------------------------------------------------------------\n\n 'quality_profiles.page_title_changelog_x': '{0} Changelog',\n 'quality_profiles.page_title_compare_x': '{0} Comparison',\n 'quality_profiles.new_profile': 'New Quality Profile',\n 'quality_profiles.compare_with': 'Compare with',\n 'quality_profiles.filter_by': 'Filter by',\n 'quality_profiles.select_lang': 'Select language',\n 'quality_profiles.restore_profile': 'Restore Profile',\n 'quality_profiles.restore_profile.success':\n '{ruleSuccesses} rule(s) restored in profile \"{profileName}\"',\n 'quality_profiles.restore_profile.warning':\n '{ruleSuccesses} rule(s) restored, {ruleFailures} rule(s) ignored in profile \"{profileName}\"',\n 'quality_profiles.optional_configuration_file': 'Optional configuration file',\n 'quality_profiles.new_name': 'New name',\n 'quality_profiles.no_languages_available':\n 'There are no languages available. You cannot create a new profile.',\n 'quality_profiles.delete_confirm_title': 'Delete Profile',\n 'quality_profiles.are_you_sure_want_delete_profile_x':\n 'Are you sure that you want to delete the profile \"{0}\"?',\n 'quality_profiles.are_you_sure_want_delete_profile_x_and_descendants':\n 'Are you sure that you want to delete the profile \"{0}\" and all its descendants?',\n 'quality_profiles.this_profile_has_descendants': 'This profile has descendants.',\n 'quality_profiles.profile_inheritance': 'Inheritance',\n 'quality_profiles.no_projects_associated_to_profile':\n 'No projects are explicitly associated to the profile.',\n 'quality_profiles.cannot_associate_projects_no_rules':\n 'You must activate at least 1 rule before you can assign projects to this profile.',\n 'quality_profiles.cannot_set_default_no_rules':\n 'You must activate at least 1 rule before you can make this profile the default profile.',\n 'quality_profiles.warning.used_by_projects_no_rules':\n 'The current profile is used on several projects, but it has no active rules. Please activate at least 1 rule for this profile.',\n 'quality_profiles.warning.is_default_no_rules':\n 'The current profile is the default profile, but it has no active rules. Please activate at least 1 rule for this profile.',\n 'quality_profiles.parent': 'Parent',\n 'quality_profiles.parameter_set_to': 'Parameter {0} set to {1}',\n 'quality_profile.summary_additional':\n '{count} additional {count, plural, one {rule} other {rules}}',\n 'quality_profile.summary_fewer': '{count} fewer {count, plural, one {rule} other {rules}}',\n 'quality_profile.summary_differences1':\n '{profile} has {additional} and {fewer} than {comparedProfile}.',\n 'quality_profile.summary_differences2': '{profile} has {difference} than {comparedProfile}',\n 'quality_profiles.x_rules_only_in': '{count} rules in {profile}',\n 'quality_profiles.x_rules_have_different_configuration':\n '{count} rules have a different configuration',\n 'quality_profiles.copy_x_title': 'Copy Profile \"{0}\" - {1}',\n 'quality_profiles.extend_x_title': 'Extend Profile \"{0}\" - {1}',\n 'quality_profiles.rename_x_title': 'Rename Profile {0} - {1}',\n 'quality_profiles.deprecated': 'deprecated',\n 'quality_profiles.severity_set_to': 'Severity set to',\n 'quality_profiles.changelog.ACTIVATED': 'Activated',\n 'quality_profiles.changelog.DEACTIVATED': 'Deactivated',\n 'quality_profiles.changelog.UPDATED': 'Updated',\n 'quality_profiles.changelog.parameter_reset_to_default_value':\n 'Parameter {0} reset to default value',\n 'quality_profiles.changelog.prioritized_rule_changed': 'Prioritized rule set to {flag}',\n 'quality_profiles.changelog.cca_and_category_changed':\n 'Clean Code category set to {newCleanCodeAttributeCategory} and attribute set to {newCleanCodeAttribute}, was {oldCleanCodeAttributeCategory} and {oldCleanCodeAttribute}',\n 'quality_profiles.changelog.cca_only_changed':\n 'Clean Code attribute set to {newCleanCodeAttribute}, was {oldCleanCodeAttribute}',\n 'quality_profiles.changelog.impact_changed':\n 'Software impact set to {newSoftwareQuality} with severity {newSeverity}, was {oldSoftwareQuality} with severity {oldSeverity}',\n 'quality_profiles.changelog.impact_added':\n 'Software impact {newSoftwareQuality} with severity {newSeverity} was added',\n 'quality_profiles.changelog.impact_removed':\n 'Software impact {oldSoftwareQuality} with severity {oldSeverity} was removed',\n 'quality_profiles.changelog.sq_upgrade': 'Instance upgraded to {productName} {sqVersion}',\n 'quality_profiles.deleted_profile': \"The profile {0} doesn't exist anymore\",\n 'quality_profiles.projects_for_default':\n 'Every project not specifically associated with a quality profile will be associated to this one by default.',\n 'quality_profile.x_rules': '{count} rule(s)',\n 'quality_profile.lang_deprecated_x_rules': '{name}, {count} deprecated rule(s)',\n 'quality_profile.x_active_rules': '{0} active rules',\n 'quality_profile.x_inactive_rules': '{0} inactive rules',\n 'quality_profile.rules.breakdown': 'Rule breakdown',\n 'quality_profile.rules.cct_categories_title': 'Clean Code Categories',\n 'quality_profile.rules.software_qualities_title': 'Software Qualities',\n 'quality_profile.rules.see_x_active_x_rules': 'See {0} active {1} rules',\n 'quality_profile.rules.see_x_inactive_x_rules': 'See {0} inactive {1} rules',\n 'quality_profiles.x_overridden_rules': '{0} overridden rules',\n 'quality_profiles.change_parent': 'Change Parent',\n 'quality_profiles.change_parent_warning':\n 'By changing the parent of this profile, any information on inherited rules that were manually disabled will be lost. This means some previously disabled rules might be re-enabled.',\n 'quality_profiles.all_profiles': 'All Profiles',\n 'quality_profiles.x_profiles': '{name}, {count} profile(s)',\n 'quality_profiles.projects.select_hint':\n 'Click to associate this project with the quality profile',\n 'quality_profiles.projects.deselect_hint':\n 'Click to remove association between this project and the quality profile',\n 'quality_profile.empty_comparison': 'The quality profiles are equal.',\n 'quality_profiles.activate_more': 'Activate More',\n 'quality_profiles.activate_more.help.built_in':\n 'This quality profile is built in, and cannot be updated manually. If you want to activate more rules, create a new profile that inherits from this one and add rules there.',\n 'quality_profiles.activate_more_rules': 'Activate More Rules',\n 'quality_profiles.comparison.activate_rule': 'Activate rule for profile \"{profile}\"',\n 'quality_profiles.comparison.deactivate_rule': 'Dectivate rule for profile \"{profile}\"',\n 'quality_profiles.intro':\n 'Quality profiles are collections of rules to apply during an analysis. For each language there is a default profile. All projects not explicitly assigned to some other profile will be analyzed with the default. Ideally, all projects will use the same profile for a language. Learn more about <link>Quality Profiles</link>.',\n 'quality_profiles.list.projects': 'Projects',\n 'quality_profiles.list.projects.help':\n 'Projects assigned to a profile will always be analyzed with it for that language, regardless of which profile is the default. Quality profile administrators may assign projects to a non-default profile, or always make it follow the system default. Project administrators may choose any profile for each language.',\n 'quality_profiles.list.rules': 'Rules',\n 'quality_profiles.list.updated': 'Updated',\n 'quality_profiles.list.used': 'Used',\n 'quality_profiles.list.default.help':\n 'For each language there is a default profile. All projects not explicitly assigned to some other profile will be analyzed with the default.',\n 'quality_profiles.x_updated_on_y': '{name}, updated on {date}',\n 'quality_profiles.change_projects': 'Change Projects',\n 'quality_profiles.not_found': 'The requested quality profile was not found.',\n 'quality_profiles.back_to_list': 'Go back to the list of Quality Profiles',\n 'quality_profiles.latest_new_rules': 'Recently Added Rules',\n 'quality_profiles.latest_new_rules.activated': '{0}, activated on {1} profile(s)',\n 'quality_profiles.latest_new_rules.not_activated': '{0}, not yet activated',\n 'quality_profiles.latest_new_rules.see_all_x': 'See all {count} recently added rules',\n 'quality_profiles.deprecated_rules': 'Deprecated Rules',\n 'quality_profiles.x_deprecated_rules':\n '{linkCount} deprecated {count, plural, one {rule} other {rules}}',\n 'quality_profiles.deprecated_rules_description':\n 'These deprecated rules will eventually disappear. You should proactively investigate replacing them.',\n 'quality_profiles.deprecated_rules_are_still_activated':\n 'Deprecated rules are still activated on {count} quality profile(s):',\n 'quality_profiles.sonarway_missing_rules': 'Sonar way rules not included',\n 'quality_profiles.sonarway_missing_rules_description':\n 'Recommended rules are missing from your profile',\n 'quality_profiles.x_sonarway_missing_rules':\n '{linkCount} Sonar way {count, plural, one {rule} other {rules}} not included',\n 'quality_profiles.sonarway_see_x_missing_rules': 'See {0} missing Sonar way rules',\n 'quality_profiles.stagnant_profiles': 'Stagnant Profiles',\n 'quality_profiles.not_updated_more_than_year':\n \"The following profiles haven't been updated for more than 1 year:\",\n 'quality_profiles.exporters': 'Exporters',\n 'quality_profiles.exporters.deprecated':\n 'Exporters are deprecated, and will be removed in a future version.',\n 'quality_profiles.updated_': 'Updated:',\n 'quality_profiles.used_': 'Used:',\n 'quality_profiles.built_in': 'Built-in',\n 'quality_profiles.built_in.description':\n 'This is a built-in quality profile that might be updated automatically.',\n 'quality_profiles.extends_built_in':\n 'Because this quality profile inherits from a built-in quality profile, it might be updated automatically.',\n 'quality_profiles.no_built_in_updates_warning':\n 'This quality profile does not inherit from a built-in profile. It will not benefit from automatic updates when new rules are introduced.',\n 'quality_profiles.no_built_in_updates_warning_admin':\n 'To benefit from automatic updates, set the corresponding built-in profile as the parent of your quality profile.',\n 'quality_profiles.no_built_in_updates_warning.new_profile':\n \"This new quality profile won't inherit from a built-in profile. It will not benefit from automatic updates when new rules are introduced.\",\n 'quality_profiles.no_built_in_updates_warning.new_profile.2':\n 'If you want to benefit from automatic updates, consider extending a built-in quality profile instead.',\n 'quality_profiles.default_permissions':\n 'Users with the global \"Administer Quality Profiles\" permission and those listed below can manage this quality profile.',\n 'quality_profiles.grant_permissions_to_more_users': 'Grant permissions to more users',\n 'quality_profiles.grant_permissions_to_user_or_group': 'Grant permissions to a user or a group',\n 'quality_profiles.additional_user_groups': 'Additional users / groups:',\n 'quality_profiles.search_description': 'Search users by login or name, and groups by name:',\n 'quality_profiles.permissions.remove.user': 'Remove permission from user',\n 'quality_profiles.permissions.remove.user_x': 'Remove permission from user {0}',\n 'quality_profiles.permissions.remove.user.confirmation':\n 'Are you sure you want to remove permission on this quality profile from user {user}?',\n 'quality_profiles.permissions.remove.group': 'Remove permission from group',\n 'quality_profiles.permissions.remove.group_x': 'Remove permission for {0}',\n 'quality_profiles.permissions.remove.group.confirmation':\n 'Are you sure you want to remove permission on this quality profile from group {user}?',\n 'quality_profiles.copy_help':\n 'Create a new quality profile as a replica of \"{0}\". The two profiles will then evolve independently.',\n 'quality_profiles.extend_help':\n 'Create a child quality profile inheriting all active rules from \"{0}\". Changes to \"{0}\" will impact the child profile.',\n 'quality_profiles.extend_description': 'This profile extends {link}.',\n 'quality_profiles.extend_description_help':\n 'Changes to \"{0}\" or any of its parents may impact this quality profile.',\n 'quality_profiles.chose_creation_type': 'What type of profile do you want to create?',\n 'quality_profiles.creation_from_extend': 'Extend an existing quality profile',\n 'quality_profiles.creation_from_extend_description_1':\n 'Create a child quality profile inheriting its parent’s active rules.',\n 'quality_profiles.creation_from_extend_description_2':\n 'Changes to the parent profile will impact the child profile.',\n 'quality_profiles.creation_from_copy': 'Copy an existing quality profile',\n 'quality_profiles.creation_from_copy_description_1':\n 'Create a new quality profile as a replica of the copied quality profile.',\n 'quality_profiles.creation_from_copy_description_2':\n 'The two profiles will then evolve independently.',\n 'quality_profiles.creation_from_blank': 'Create a blank quality profile',\n 'quality_profiles.creation_from_blank_description':\n 'Create a new quality profile with no active rules by default.',\n 'quality_profiles.creation.choose_parent_quality_profile': 'Profile to extend',\n 'quality_profiles.creation.choose_copy_quality_profile': 'Profile to copy',\n 'quality_profiles.name_invalid': 'Quality profile name should not be empty',\n 'quality_profiles.actions': 'Open {0} {1} quality profile actions',\n\n //------------------------------------------------------------------------------\n //\n // QUALITY GATES\n //\n //------------------------------------------------------------------------------\n\n 'quality_gate.create': 'Create',\n 'quality_gates.create': 'Create Quality Gate',\n 'quality_gates.rename': 'Rename Quality Gate',\n 'quality_gates.delete': 'Delete Quality Gate',\n 'quality_gates.copy': 'Copy Quality Gate',\n 'quality_gates.cannot_set_default_no_cayc':\n 'You must make this quality gate Clean as You Code compliant to make this the default quality gate.',\n 'quality_gates.cannot_copy_no_cayc':\n 'You must make this quality gate Clean as You Code compliant to copy.',\n 'quality_gates.is_default_no_conditions':\n 'This is the default quality gate, but it has no configured conditions. Please configure at least 1 condition for this quality gate.',\n 'quality_gates.is_built_in.description': 'Sonar way is recommended for most projects. {link}',\n 'quality_gates.is_built_in.cayc.description': 'The only quality gate you need to practice {link}',\n 'quality_gates.is_built_in.ai.description': 'This quality gate is configured for {link}',\n 'quality_gates.conditions': 'Conditions',\n 'quality_gates.conditions.help':\n 'Your project will fail the Quality Gate if it crosses any metric thresholds set for New Code or Overall Code.',\n 'quality_gates.conditions.help.link': 'See also: Clean as You Code',\n 'quality_gates.projects': 'Projects',\n 'quality_gates.projects.help':\n 'The Default gate is applied to all projects not explicitly assigned to a gate. Quality Gate administrators can assign projects to a non-default gate, or always make it follow the system default. Project administrators may choose any gate.',\n 'quality_gates.add_condition': 'Add Condition',\n 'quality_gates.add_condition.metric_from_other_mode':\n 'This quality gate already has an equivalent condition based on the same concept (\"{metric}\") that persists from the {isStandardMode, select, true {Standard Experience} other {Multi-Quality Rule Mode}}. Update the metric and you will be able to edit the condition.',\n 'quality_gates.condition.edit': 'Edit condition on {0}',\n 'quality_gates.condition.delete': 'Delete condition on {0}',\n 'quality_gates.condition_added': 'Successfully added condition.',\n 'quality_gates.update_condition': 'Update Condition',\n 'quality_gates.condition_updated': 'Successfully updated condition.',\n 'quality_gates.conditions_updated': 'Successfully updated conditions.',\n 'quality_gates.conditions_updated_to_the_mode':\n 'The metrics of \"{qualityGateName}\" gate were successfully updated',\n 'quality_gates.no_conditions': 'No Conditions',\n 'quality_gates.health_icons': 'Project health icons represent:',\n 'quality_gates.projects_for_default':\n 'Every project not specifically associated to a quality gate will be associated to this one by default.',\n 'quality_gates.projects.with': 'With',\n 'quality_gates.projects.without': 'Without',\n 'quality_gates.projects.all': 'All',\n 'quality_gates.projects.noResults': 'No Projects',\n 'quality_gates.projects.select_hint': 'Click to associate this project with the quality gate',\n 'quality_gates.projects.deselect_hint':\n 'Click to remove association between this project and the quality gate',\n 'quality_gates.projects.cannot_associate_projects_no_conditions':\n 'You must configure at least 1 condition before you can assign projects to this quality gate.',\n 'quality_gates.projects.ai_assured_message': 'This project contains AI-generated code.',\n 'quality_gates.operator.LT': 'is less than',\n 'quality_gates.operator.inverted.LT': 'greater than or equal',\n 'quality_gates.operator.GT': 'is greater than',\n 'quality_gates.operator.inverted.GT': 'less than or equal',\n 'quality_gates.operator.EQ': 'equals',\n 'quality_gates.operator.NE': 'is not',\n 'quality_gates.operator.LT.short': '<',\n 'quality_gates.operator.GT.short': '>',\n 'quality_gates.operator.EQ.short': '=',\n 'quality_gates.operator.NE.short': '\\u2260',\n 'quality_gates.operator.LT.rating': 'is better than',\n 'quality_gates.operator.GT.rating': 'is worse than',\n 'quality_gates.operator.EQ.rating': 'is',\n 'quality_gates.operator.NE.rating': 'is not',\n 'quality_gates.operator.least': 'at least',\n 'quality_gates.delete.confirm.message': 'Are you sure you want to delete the \"{0}\" quality gate?',\n 'quality_gates.delete.confirm.default':\n 'Are you sure you want to delete the \"{0}\" quality gate, which is the default quality gate?',\n 'quality_gates.delete_condition': 'Delete Condition',\n 'quality_gates.condition_deleted': 'Successfully deleted condition',\n 'quality_gates.delete_condition.confirm.message':\n 'Are you sure you want to delete the \"{0}\" condition?',\n 'quality_gates.conditions.fails_when': 'Quality Gate fails when',\n 'quality_gates.conditions.metric': 'Metric',\n 'quality_gates.conditions.builtin_overall.metric': '{metric} is {operator} {value}',\n 'quality_gates.conditions.cayc': 'Your new code will be clean if:',\n 'quality_gates.conditions.cayc.description':\n 'These conditions apply to the new code of all branches and to pull requests.',\n 'quality_gates.conditions.builtin_new_code.metric': '{metric} is {operator} to {value}',\n 'quality_gates.conditions.cayc.hint':\n 'The conditions below must be true for your project to pass the Quality Gate.',\n 'quality_gates.conditions.cayc.threshold.hint':\n 'Sonar recommends this threshold. Create a new Quality Gate to set a different value.',\n 'quality_gates.conditions.new_code': 'On New Code',\n 'quality_gates.conditions.new_code.long': 'Conditions on New Code',\n 'quality_gates.conditions.new_code.description':\n 'Conditions on new code apply to all branches and to pull requests.',\n 'quality_gates.conditions.new_code_1': '1 condition failed on new code',\n 'quality_gates.conditions.new_code_x': '{0} conditions failed on new code',\n 'quality_gates.conditions.overall_code': 'On Overall Code',\n 'quality_gates.conditions.overall_code.long': 'Conditions on Overall Code',\n 'quality_gates.conditions.overall_code.description':\n 'Conditions on overall code apply to branches only.',\n 'quality_gates.conditions.overall_code_1': '1 condition failed on overall code',\n 'quality_gates.conditions.overall_code_x': '{0} conditions failed on overall code',\n 'quality_gates.conditions.x_conditions_failed':\n '{conditions} {conditions, plural, one {condition} other {conditions}} failed',\n 'quality_gates.conditions.operator': 'Operator',\n 'quality_gates.conditions.value': 'Value',\n 'quality_gates.conditions.where': 'Where?',\n 'quality_gates.duplicated_conditions': 'This quality gate has duplicated conditions:',\n 'quality_gates.intro.1':\n 'Quality Gate is the set of conditions the project must meet before it can be released into production.',\n 'quality_gates.intro.2':\n 'It is possible to set a default Quality Gate, which will be applied to all projects not explicitly assigned to some other gate.',\n 'quality_gates.built_in': 'Built-in',\n 'quality_gates.built_in.help': 'Built-in, immutable Quality Gate reflecting best practices.',\n 'quality_gates.built_in.description.1': 'This quality gate is provided by default.',\n 'quality_gates.built_in.description.2':\n 'It will automatically be updated with the latest recommendations.',\n 'quality_gates.status': 'Quality Gate status',\n 'quality_gates.help.title': 'What is a quality gate?',\n 'quality_gates.help.desc':\n \"It`s a set of measure-based, Boolean conditions. It helps you know immediately whether your projects are production-ready. Ideally, all projects will use the same quality gate. Each project's Quality Gate status is displayed prominently on its homepage.\",\n 'quality_gates.help.link': 'Learn more about quality gates',\n 'quality_gates.permissions': 'Permissions',\n 'quality_gates.permissions.help':\n 'Users with the global \"Administer quality gates\" permission and those listed below can manage this quality gate.',\n 'quality_gates.permissions.grant': 'Grant permissions to a user or a group',\n 'quality_gates.permissions.search': 'Search users by login or name, and groups by name:',\n 'quality_gates.permissions.remove.user': 'Remove permission from user',\n 'quality_gates.permissions.remove.user.confirmation':\n 'Are you sure you want to remove permission on this quality gate from user {user}?',\n 'quality_gates.permissions.remove.group': 'Remove permission from group',\n 'quality_gates.permissions.remove.group.confirmation':\n 'Are you sure you want to remove permission on this quality gate from group {user}?',\n 'quality_gates.cayc': 'Clean as You Code',\n 'quality_gates.cayc_missing.banner.title':\n 'This quality gate does not comply with Clean as You Code',\n 'quality_gates.cayc_missing.banner.description':\n '{cayc_link} is the most efficient approach to delivering Clean Code. This quality gate does not comply with this methodology. We highly recommend that you update this quality gate.',\n 'quality_gates.cayc_condition.review_update': 'Review and Update Quality Gate',\n 'quality_gates.cayc.review_update_modal.header': 'Update \"{0}\" to comply with Clean as You Code',\n 'quality_gates.cayc.review_update_modal.confirm_text': 'Update Quality Gate',\n 'quality_gates.cayc.review_update_modal.description1':\n 'This quality gate will be updated to comply with {cayc_link}. Please review the changes below.',\n 'quality_gates.cayc.review_update_modal.description2': 'All other conditions will be preserved',\n 'quality_gates.cayc_optimize.banner.title':\n 'This quality gate can be further optimized for Clean as You Code',\n 'quality_gates.cayc_optimize.banner.description':\n 'This quality gate complies with the {cayc_link} methodology, but it can be further optimized to ensure that new code has 0 issues.',\n 'quality_gates.cayc_condition.review_optimize': 'Review and Optimize Quality Gate',\n 'quality_gates.cayc.review_optimize_modal.header': 'Optimize \"{0}\" for Clean as You Code',\n 'quality_gates.cayc.review_optimize_modal.confirm_text': 'Optimize Quality Gate',\n 'quality_gates.cayc.review_optimize_modal.description1':\n 'This quality gate will be optimized for {cayc_link}. Please review the changes below.',\n 'quality_gates.cayc.condition_simplification_list':\n 'List of conditions to ensure that any code added or changed is clean.',\n 'quality_gates.cayc.condition_simplification_tour.page_1.title': \"'Clean as You Code' ready!\",\n 'quality_gates.cayc.condition_simplification_tour.page_1.content1':\n 'The conditions in this quality gate have been updated to ensure that any code added or changed is clean.',\n 'quality_gates.cayc.condition_simplification_tour.page_2.title': 'One condition, zero issues',\n 'quality_gates.cayc.condition_simplification_tour.page_2.content':\n '<p>One single condition ensures that new code has no issues.</p> <p>This condition replaced the three conditions on Security rating, Reliability rating and Maintainability rating.</p>',\n 'quality_gates.cayc.condition_simplification_tour.page_3.title': 'Resolve pending issues',\n 'quality_gates.cayc.condition_simplification_tour.page_3.content1':\n 'Every issue in new code must be resolved for a project to pass this quality gate.',\n 'quality_gates.cayc.condition_simplification_tour.page_3.content2':\n 'Learn more: Issue life cycle',\n 'quality_gates.cayc.new_maintainability_rating.A': 'Technical debt ratio is less than {0}',\n 'quality_gates.cayc.new_maintainability_rating': 'Technical debt ratio is greater than {1}',\n 'quality_gates.cayc.new_reliability_rating.A': 'No bugs',\n 'quality_gates.cayc.new_security_rating.A': 'No vulnerabilities',\n 'quality_gates.cayc.unlock_edit': 'Unlock editing',\n 'quality_gates.cayc.tooltip.message': 'This quality gate is configured for Clean as You Code.',\n 'quality_gates.cayc.badge.tooltip.learn_more': 'Learn more: Clean as You Code',\n 'quality_gates.cayc.banner.title': 'This quality gate complies with Clean as You Code',\n 'quality_gates.cayc.banner.description':\n 'This quality gate is <link>configured for Clean as You Code</link>. It ensures that:',\n 'quality_gates.cayc_unfollow.description':\n 'You may click unlock to edit this quality gate. Adding extra conditions to a compliant quality gate can result in drawbacks. Are you reconsidering {cayc_link}? We strongly recommend this methodology to achieve a Clean Code status.',\n 'quality_gates.cayc.review_update_modal.add_condition.header':\n ' {0} condition(s) on new code will be added',\n 'quality_gates.cayc.review_update_modal.modify_condition.header':\n ' {0} condition(s) on new code will be modified',\n 'quality_gates.ai_generated.tooltip.message':\n 'This quality gate is qualified for AI Code Assurance',\n 'quality_gates.ai_generated.description': 'This quality gate is qualified for {link}',\n 'quality_gates.ai_generated.description.clean_ai_generated_code': 'AI Code Assurance',\n 'quality_gates.mqr_mode_update.tooltip.message': 'Update the metrics of this quality gate',\n 'quality_gates.mqr_mode_update.single_metric.tooltip.message': 'Update {metric} metric to {mode}',\n 'quality_gates.update_conditions.update_metrics': 'Update metrics',\n 'quality_gates.update_conditions.header': 'Update all metrics of “{qualityGate}” gate',\n 'quality_gates.update_conditions.header.single_metric': 'Update this metric',\n 'quality_gates.update_conditions.description.line1':\n 'The <b>condition(s)</b> listed below will be updated to align with the mode of this instance ({mode}).',\n 'quality_gates.update_conditions.description.line2':\n 'In some cases, you will see that the name of the conditions does not change between modes. In these cases, the underlying calculation will be changing to something similar but not identical. Your settings for <b>Operator</b> and <b>value</b> will remain unchanged.',\n 'quality_gates.update_conditions.description.line3':\n 'Note that the update to {mode} might cause your quality gate to fail. {link}',\n 'quality_gates.update_conditions.description.link':\n 'For more information, refer to the documentation.',\n 'quality_gates.update_conditions.standard_mode_header': 'Standard Experience Metric',\n 'quality_gates.metric.standard_mode_short': 'Standard Experience',\n 'quality_gates.metric.standard_mode_long': 'Standard Experience Metric',\n 'quality_gates.metric.mqr_mode_short': 'MQR Mode',\n 'quality_gates.metric.mqr_mode_long': 'MQR Mode Metric',\n 'quality_gates.update_conditions.operator_and_value_header': 'Operator and Value',\n 'quality_gates.update_conditions.removed': 'Condition will be removed',\n 'quality_gates.update_conditions.error': 'Failed to update some conditions',\n 'quality_gates.mode_banner.title':\n 'This quality gate is using conditions with metrics that belong to the {mode}',\n 'quality_gates.mode_banner.description':\n 'This instance is currently in the {link}. We recommend you update the metrics of your quality gate conditions to ensure accurate categorization and ranking of your issues in this mode. Conditions that use {otherMode} metrics can’t be edited until they are updated.',\n 'quality_gates.mode_banner.button': 'Review and update metrics',\n 'quality_gates.actions.disqualify_for_ai_code_assurance': 'Disqualify for AI Code Assurance',\n 'quality_gates.actions.qualify_for_ai_code_assurance': 'Qualify for AI Code Assurance',\n 'quality_gates.disqualify_ai_modal.title':\n 'Disqualify this quality gate and disable AI Code Assurance on {count} {count, plural, one {project} other {projects}}?',\n 'quality_gates.disqualify_ai_modal_default.title':\n 'Some projects may lose their AI Code Assurance',\n 'quality_gates.disqualify_ai_modal.content.line1':\n '{count} {count, plural, one {project uses} other {projects use}} this quality gate to benefit from AI Code Assurance. If you disqualify it, {count, plural, one {this project} other {these projects}} will lose {count, plural, one {its} other {their}} AI Code Assurance.',\n 'quality_gates.disqualify_ai_modal_default.content.line1':\n 'Some projects may rely on the default quality gate to benefit from AI Code Assurance. If you disqualify it, these projects will lose their AI Code Assurance.',\n 'quality_gates.disqualify_ai_modal.content.line2': 'Do you want to continue?',\n 'quality_gates.disqualify_ai_modal.confirm': 'Disqualify for AI Code Assurance',\n\n //------------------------------------------------------------------------------\n //\n // RULES DOCUMENTATION PAGE\n //\n //------------------------------------------------------------------------------\n 'rules.parameters': 'Parameters',\n 'rules.status.beta': 'Beta',\n 'rules.status.BETA': 'Beta',\n 'rules.status.deprecated': 'Deprecated',\n 'rules.status.DEPRECATED': 'Deprecated',\n 'rules.status.DEPRECATED.help':\n 'The rule that generated this issue has been deprecated and will be removed. Once the rule is removed, this issue will no longer appear.',\n 'rules.status.ready': 'Ready',\n 'rules.status.READY': 'Ready',\n 'rules.status.REMOVED': 'Removed',\n 'rules.status.REMOVED.help':\n 'The rule that generated this issue has been removed. Starting on the next analysis, this issue will no longer appear.',\n\n //------------------------------------------------------------------------------\n //\n // CODING RULES\n //\n //------------------------------------------------------------------------------\n 'coding_rules.active_in_all_profiles':\n 'The rule is already activated on all available Quality Profiles.',\n 'coding_rules.severity_deprecated':\n 'Changing rule severities is deprecated and will not be possible in the future.',\n 'coding_rules.custom_severity.title': 'Rule severity in this quality profile',\n 'coding_rules.custom_severity.description.standard':\n 'Changing rule severity in a quality profile {link}',\n 'coding_rules.custom_severity.description.standard.link':\n 'does not change its recommended severity',\n 'coding_rules.custom_severity.description.mqr':\n 'In the multi-quality mode, severities are directly tied to the software quality impacted. This means that {link}',\n 'coding_rules.custom_severity.description.mqr.link':\n 'each software quality has its own severity per rule.',\n 'coding_rules.custom_severity.not_recommended':\n 'This is a custom rule severity, the recommended one is {recommended}',\n 'coding_rules.custom_severity.choose_severity': 'Choose severity',\n 'coding_rules.custom_severity.severity_with_recommended': '{severity} (recommended)',\n 'coding_rules.activate': 'Activate',\n 'coding_rules.activate_in': 'Activate In',\n 'coding_rules.activate_in_quality_profile': 'Activate In Quality Profile',\n 'coding_rules.activation_severity': 'Activation Severity',\n 'coding_rules.activation_custom_severity':\n 'Custom {count, plural, one {severity} other {severities}}:',\n 'coding_rules.available_since': 'Available Since',\n 'coding_rules.bulk_change': 'Bulk Change',\n 'coding_rules.bulk_change.success': '{2} rule(s) changed in profile {0} - {1}',\n 'coding_rules.bulk_change.warning':\n '{2} rule(s) changed, {3} rule(s) ignored in profile {0} - {1}',\n 'coding_rules.bulk_change.no_quality_profile': 'No quality profile.',\n 'coding_rules.can_not_bulk_change':\n 'Bulk change is only available when you have a custom Quality Profile to target. You can create a customizable Quality Profile based on a built-in one by Copying or Extending it in the Quality Profiles list.',\n 'coding_rules.can_not_deactivate': 'This rule is inherited and cannot be deactivated.',\n 'coding_rules.change_details': 'Change Details of Quality Profile',\n 'coding_rules.change_details_x': 'Change Details of Quality Profile {0}',\n 'coding_rules.context.others.title': 'How can I fix it in another component or framework?',\n 'coding_rules.context.others.description.first':\n 'Although the main framework or component you use in your project is not listed above, you may find helpful content in the instructions we provide.',\n 'coding_rules.context.others.description.second':\n 'Caution: The libraries mentioned in these instructions may not be appropriate for your code.',\n 'coding_rules.context.others.description.do':\n 'Do use libraries that are compatible with the frameworks you are using.',\n 'coding_rules.context.others.description.dont':\n 'Don’t blindly copy and paste the fixups into your code.',\n 'coding_rules.context.others.title_feedback': 'Help us improve',\n 'coding_rules.context.others.feedback_description_1':\n 'Let us know if the instructions we provide do not work for you. Tell us which framework you use and why our solution does not work by submitting an idea on the {productName} productboard.',\n 'coding_rules.context.others.feedback_description_2':\n 'We will do our best to provide you with more relevant instructions in the future.',\n 'coding_rules.context.others.feedback_description.link': 'Submit an idea',\n 'coding_rules.create': 'Create',\n 'coding_rules.create_custom_rule': 'Create Custom Rule',\n 'coding_rules.custom_rule': 'Custom Rule',\n 'coding_rules.custom_rule.help':\n 'Custom rules are created by administrators from templates, and are the only fully-editable rules.',\n 'coding_rules.custom_rule.activation_notice':\n 'Note: parameters of a custom rule are not customizable on rule activation, only during creation/edit.',\n 'coding_rules.custom_rule.software_quality_x': '{quality} software quality',\n 'coding_rules.custom_rule.select_software_quality':\n 'Please select at least one software quality.',\n 'coding_rules.custom_rule.removal':\n 'Only custom rules may be deleted. When a custom rule is deleted, it is not removed from the {productName} instance. Instead its status is set to \"REMOVED\", allowing relevant issues to continue to be displayed properly.',\n 'coding_rules.custom_rules': 'Custom Rules',\n 'coding_rules.deactivate_in_quality_profile': 'Deactivate In Quality Profile',\n 'coding_rules.deactivate_in_quality_profile_x': 'Deactivate In Quality Profile {0}',\n 'coding_rules.delete_rule': 'Delete Rule',\n 'coding_rules.delete_rule_x': 'Delete Rule {name}',\n 'coding_rules.delete.custom.confirm': 'Are you sure you want to delete custom rule \"{name}\"?',\n 'coding_rules.extend_description': 'Extend Description',\n 'coding_rules.deactivate_in': 'Deactivate In',\n 'coding_rules.deactivate': 'Deactivate',\n 'coding_rules.deactivate.confirm':\n 'Are you sure you want to deactivate this rule in the profile?',\n 'coding_rules.deactivate_in_all_quality_profiles': 'Deactivate In All {0} Profiles',\n 'coding_rules.inherits': '\"{0}\" inherits from \"{1}\"',\n 'coding_rules.issues': 'Issues',\n 'coding_rules.issues.only_main_branches':\n 'Only issues from the main project branches are included.',\n 'coding_rules.most_violating_projects': 'Most Violating Projects',\n 'coding_rules.most_violating_projects.more_x':\n '{count} more projects contain issues raised from this rule. {link}',\n 'coding_rules.most_violating_projects.link': 'See full list of issues',\n 'coding_rules.need_extend_or_copy':\n \"Rules in built-in Quality Profiles can't be changed. You can create a customizable Quality Profile based on a built-in one by Copying or Extending it in the Quality Profiles list.\",\n 'coding_rules.no_results': 'No Coding Rules',\n 'coding_rules.no_issue_detected_for_projects':\n 'No issues were detected for this rule in the main project branches.',\n 'coding_rules.no_tags': 'No tags',\n 'coding_rules.original': 'Original:',\n 'coding_rules.overrides': '\"{0}\" overrides \"{1}\"',\n 'coding_rules.parameter.empty': '(empty)',\n 'coding_rules.parameters': 'Parameters',\n 'coding_rules.parameters.default_value': 'Default Value:',\n 'coding_rules.quality_profiles': 'Quality Profiles',\n 'coding_rules.quality_profiles.description':\n \"List of all Quality Profiles where this rule is activated. Built-in profiles can't be changed.\",\n 'coding_rules.quality_profiles.template_caption':\n 'This rule template was activated on the following profiles in previous versions of {instance}. It is not possible anymore to do so. Instead, please create a custom rule.',\n 'coding_rules.quality_profile': 'Quality Profile',\n 'coding_rules.reactivate': 'Reactivate',\n 'coding_rules.reactivate.help':\n 'A rule with the same key has been previously deleted. Please reactivate the existing rule or modify the key to create a new rule.',\n 'coding_rules.return_to_list': 'Return to list',\n 'coding_rules.see_all': 'See all rules',\n 'coding_rules.remove_extended_description': 'Remove Extended Description',\n 'coding_rules.remove_extended_description.confirm':\n 'Are you sure you want to remove the extended description?',\n 'coding_rules.repository': 'Rule repo:',\n 'coding_rules.revert_to_parent_definition': 'Revert to Parent Definition',\n 'coding_rules.revert_to_parent_definition.confirm':\n 'This rule will be reverted to the parameters defined in profile {0}. Are you sure?',\n 'coding_rules.rule_template': 'Rule Template',\n 'coding_rules.rule_template.help':\n 'Rule Templates allow users to easily define their own rules. They are like cookie cutters from which you can stamp out new, \"custom rules\". The rules created from a template are listed on its rule detail page.',\n 'coding_rules.rule_template.title':\n 'This rule can be used as a template to create custom rules, it cannot be activated on a profile',\n 'coding_rules._rules': 'rules',\n 'coding_rules.show_template': 'Show Template',\n 'coding_rules.skip_to_filters': 'Skip to rules filters',\n 'coding_rules.software_qualities.label': 'Software qualities impacted',\n 'coding_rules.cct_attribute.label': 'Clean Code attribute',\n 'coding_rules.to_select_rules': 'Select rules',\n 'coding_rules.to_navigate': 'Navigate to rule',\n 'coding_rules.prioritized_rule.title': 'Prioritized rule',\n 'coding_rules.impact_severity.tooltip_customized':\n '{severity} severity. This is a custom severity assosiated with the quality profile selected.',\n 'coding_rules.impact_customized.message': 'Rule severity was customized in this profile',\n 'coding_rules.impact_customized.detail':\n '{softwareQuality} changed from {recommended} to {customized}',\n 'coding_rules.severity_customized.message':\n 'Rule severity was customized from {recommended} to {customized}',\n 'coding_rules.prioritized_rule.switch_label':\n 'All corresponding issues in the overall code should be fixed',\n 'coding_rules.prioritized_rule.note':\n 'For the quality gate to fail, you must add a condition that checks whether any issues have been raised from prioritised rules',\n 'coding_rules.rule_name.title': 'Rule Name: {name}',\n 'coding_rules.quality_profile.title': 'Quality profile: {name}',\n\n 'coding_rules.update_custom_rule': 'Update Custom Rule',\n\n 'coding_rules.filters.activation': 'Activation',\n 'coding_rules.filters.activation.active': 'Active',\n 'coding_rules.filters.activation.active_rules': 'Active Rules',\n 'coding_rules.filters.activation.inactive': 'Inactive',\n 'coding_rules.filters.activation.help':\n 'Activation criterion is available when a Quality Profile is selected',\n 'coding_rules.filters.active_severity': 'Active Severity',\n 'coding_rules.filters.active_severity.inactive':\n 'Active severity criterion is available when a Quality Profile is selected',\n 'coding_rules.filters.availableSince': 'Available Since',\n 'coding_rules.filters.characteristic': 'Characteristic',\n 'coding_rules.filters.description': 'Description',\n 'coding_rules.filters.quality_profile': 'Quality Profile',\n 'coding_rules.filters.inheritance': 'Inheritance',\n 'coding_rules.filters.inheritance.inactive':\n 'Inheritance criterion is available when an inherited Quality Profile is selected',\n 'coding_rules.filters.inheritance.none': 'Not Inherited',\n 'coding_rules.filters.inheritance.inherited': 'Inherited',\n 'coding_rules.filters.inheritance.x_inherited_from_y': '{count} inherited from \"{name}\"',\n 'coding_rules.filters.inheritance.overrides': 'Overridden',\n 'coding_rules.filters.key': 'Key',\n 'coding_rules.filters.language': 'Language',\n 'coding_rules.filters.language.inactive':\n 'Language criterion is only available when no Quality Profile is selected',\n 'coding_rules.filters.name': 'Name',\n 'coding_rules.filters.repository': 'Repository',\n 'coding_rules.filters.severity': 'Severity',\n 'coding_rules.filters.security_hotspots': 'Security Hotspots',\n 'coding_rules.filters.status': 'Status',\n 'coding_rules.filters.tag': 'Tag',\n 'coding_rules.filters.template': 'Templates',\n 'coding_rules.filters.template.is_template': 'Show Templates Only',\n 'coding_rules.filters.template.is_not_template': 'Hide Templates',\n 'coding_rules.filters.prioritizedRule.disabled':\n 'Prioritized Rules criterion is available when Quality Profile is selected',\n 'coding_rules.filters.prioritizedRule.true': 'Show Prioritized Only',\n 'coding_rules.filters.prioritizedRule.false': 'Hide Prioritized',\n 'coding_rules.facet.languages': 'Language',\n 'coding_rules.facet.repositories': 'Repository',\n 'coding_rules.facet.impactSeverities': 'Severity',\n 'coding_rules.facet.active_impactSeverities': 'Severity',\n 'coding_rules.facet.cleanCodeAttributeCategories': 'Clean Code Attribute',\n 'coding_rules.facet.impactSoftwareQualities': 'Software Quality',\n 'coding_rules.facet.tags': 'Tags',\n 'coding_rules.facet.qprofile': 'Quality Profile',\n 'coding_rules.facet.qprofile.help.title': 'Quality Profiles',\n 'coding_rules.facet.qprofile.help.desc':\n 'Quality Profiles are collections of Rules to apply during an analysis.',\n 'coding_rules.facet.qprofile.help.extra':\n 'When filtering active rules by Quality Profile, any customized rule severity assosiated with it will be shown.',\n 'coding_rules.facet.qprofile.help.learn_more': 'Learn more about quality profiles',\n 'coding_rules.facet.qprofile.link': 'See also: Quality Profiles',\n 'coding_rules.facet.debt_characteristics': 'Characteristic',\n 'coding_rules.facet.severities': 'Severity',\n 'coding_rules.facet.active_severities': 'Severity',\n 'coding_rules.facet.statuses': 'Status',\n 'coding_rules.facet.available_since': 'Available Since',\n 'coding_rules.facet.inheritance': 'Inheritance',\n 'coding_rules.facet.template': 'Template',\n 'coding_rules.facet.rule_key': 'Rule',\n 'coding_rules.facet.types': 'Type',\n 'coding_rules.facet.prioritizedRule': 'Prioritized Rules',\n 'coding_rules.facet.security_hotspots.show_only': 'Show Security Hotspots Only',\n 'coding_rules.facets.languages': 'Languages',\n 'coding_rules.facets.tags': 'Tags',\n 'coding_rules.facets.repositories': 'Repositories',\n 'coding_rules.facets.top': 'Top {0}',\n\n 'coding_rules.rule_id': 'Rule ID:',\n\n 'coding_rules.analysis_scope': 'Analysis scope:',\n\n 'coding_rules.scope.MAIN': 'main sources',\n 'coding_rules.scope.TEST': 'test sources',\n 'coding_rules.scope.ALL': 'all sources',\n\n 'coding_rules.remediation_effort': 'Effort:',\n 'coding_rules.remediation_function': 'Remediation function',\n 'coding_rules.remediation_function.LINEAR': 'Linear',\n 'coding_rules.remediation_function.LINEAR_OFFSET': 'Linear with offset',\n 'coding_rules.remediation_function.CONSTANT_ISSUE': 'Constant/issue',\n 'coding_rules.remediation_function.coeff': 'Coeff',\n 'coding_rules.remediation_function.offset': 'Offset',\n 'coding_rules.remediation_function.constant': 'Constant',\n\n 'coding_rules.external_rule.engine_tooltip': 'Rule provided by an external rule engine: {0}',\n 'coding_rules.external_rule.engine': 'Engine:',\n\n 'coding_rules.description_section.title.introduction': 'Introduction',\n 'coding_rules.description_section.title.root_cause': 'Why is this an issue?',\n 'coding_rules.description_section.title.root_cause.SECURITY_HOTSPOT': 'What is the risk?',\n 'coding_rules.description_section.title.assess_the_problem': 'Assess the risk',\n 'coding_rules.description_section.title.how_to_fix': 'How can I fix it?',\n 'coding_rules.description_section.title.code_fix': 'AI CodeFix',\n 'coding_rules.description_section.title.more_info': 'More info',\n 'coding_rules.description_section.title.activity': 'Activity',\n\n 'coding_rules.description_context.title': 'Which component or framework contains the issue?',\n 'coding_rules.description_context.subtitle': 'How can I fix it in {0}?',\n 'coding_rules.description_context.default_information':\n '{0} was detected as the most relevant component or framework for this issue.',\n 'coding_rules.description_context.other': 'Other',\n\n 'coding_rules.more_info.education_principles.title': 'Clean Code principles',\n 'coding_rules.more_info.resources.title': 'Resources',\n\n 'coding_rules.more_info.notification_message':\n \"We've added new information about Clean Code principles below to help you improve your code quality and security. Take a moment to read through them.\",\n 'coding_rules.more_info.scroll_message': 'Scroll down to Code Quality principles',\n\n 'coding_rules.detail.extend_description.form': \"Extend this rule's description\",\n 'coding_rules.create_tag': 'Create Tag',\n\n 'coding_rules.select_profile': 'Select Profile',\n 'coding_rules.selected_profiles': 'Selected Profiles',\n\n 'coding_rules.custom.type.label': 'Type',\n 'coding_rules.custom.type.option.ISSUE': 'Issue',\n 'coding_rules.custom.type.option.SECURITY_HOTSPOT': 'Security Hotspot',\n\n 'coding_rules.system_tags_tooltip':\n \"This tag can't be removed because it has been predefined by our system\",\n\n 'rule.impact.severity.tooltip':\n 'Issues found for this rule will have a {severity} impact on the {quality} of your software.',\n\n 'rule.clean_code_attribute_category.CONSISTENT': 'Consistency',\n 'rule.clean_code_attribute_category.CONSISTENT.title': 'This is a consistency rule.',\n 'rule.clean_code_attribute_category.INTENTIONAL': 'Intentionality',\n 'rule.clean_code_attribute_category.INTENTIONAL.title': 'This is an intentionality rule.',\n 'rule.clean_code_attribute_category.ADAPTABLE': 'Adaptability',\n 'rule.clean_code_attribute_category.ADAPTABLE.title': 'This is an adaptability rule.',\n 'rule.clean_code_attribute_category.RESPONSIBLE': 'Responsibility',\n 'rule.clean_code_attribute_category.RESPONSIBLE.title': 'This is a responsibility rule.',\n\n 'rule.clean_code_attribute.CLEAR': 'Clear',\n 'rule.clean_code_attribute.CLEAR.title':\n 'This is an intentionality rule, the code should be clear.',\n 'rule.clean_code_attribute.COMPLETE': 'Complete',\n 'rule.clean_code_attribute.COMPLETE.title':\n 'This is a intentionality rule, the code should be complete.',\n 'rule.clean_code_attribute.CONVENTIONAL': 'Conventional',\n 'rule.clean_code_attribute.CONVENTIONAL.title':\n 'This is a consistency rule, the code should be conventional.',\n 'rule.clean_code_attribute.DISTINCT': 'Distinct',\n 'rule.clean_code_attribute.DISTINCT.title':\n 'This is an adaptability rule, the code should be distinct.',\n 'rule.clean_code_attribute.EFFICIENT': 'Efficient',\n 'rule.clean_code_attribute.EFFICIENT.title':\n 'This is an intentionality rule, the code should be efficient.',\n 'rule.clean_code_attribute.FOCUSED': 'Focused',\n 'rule.clean_code_attribute.FOCUSED.title':\n 'This is an adaptability rule, the code should be focused.',\n 'rule.clean_code_attribute.FORMATTED': 'Formatted',\n 'rule.clean_code_attribute.FORMATTED.title':\n 'This is a consistency rule, the code should be formatted.',\n 'rule.clean_code_attribute.IDENTIFIABLE': 'Identifiable',\n 'rule.clean_code_attribute.IDENTIFIABLE.title':\n 'This is a consistency rule, the code should be identifiable.',\n 'rule.clean_code_attribute.LAWFUL': 'Lawful',\n 'rule.clean_code_attribute.LAWFUL.title':\n 'This is a responsibility rule, the code should be lawful.',\n 'rule.clean_code_attribute.LOGICAL': 'Logical',\n 'rule.clean_code_attribute.LOGICAL.title':\n 'This is an intentionality rule, the code should be logical.',\n 'rule.clean_code_attribute.MODULAR': 'Modular',\n 'rule.clean_code_attribute.MODULAR.title':\n 'This is an adaptability rule, the code should be modular.',\n 'rule.clean_code_attribute.RESPECTFUL': 'Respectful',\n 'rule.clean_code_attribute.RESPECTFUL.title':\n 'This is a responsibility rule, the code should be respectful.',\n 'rule.clean_code_attribute.TESTED': 'Tested',\n 'rule.clean_code_attribute.TESTED.title':\n 'This is an adaptability rule, the code should be tested.',\n 'rule.clean_code_attribute.TRUSTWORTHY': 'Trustworthy',\n 'rule.clean_code_attribute.TRUSTWORTHY.title':\n 'This is a responsibility rule, the code should be trustworthy.',\n\n 'rule.cve_details': 'CVE details',\n 'rule.cve_details.cwes': 'CWEs',\n 'rule.cve_details.epss_score': 'EPSS Score',\n 'rule.cve_details.epss_score.value': '{0}% ({1}th)',\n 'rule.cve_details.cvss_score': 'CVSS Score',\n 'rule.cve_details.published_date': 'Published Date',\n\n //------------------------------------------------------------------------------\n //\n // EMAIL NOTIFICATION CONFIGURATION\n //\n //------------------------------------------------------------------------------\n 'email_notification.category': 'Email Notification',\n 'email_notification.header': 'SMTP Configuration',\n 'email_notification.description':\n 'Follow the steps below to configure and test your authentication.',\n 'email_notification.subheading.1':\n 'Select your authentication type and complete the fields below',\n 'email_notification.subheading.2': 'Complete the SMTP fields below',\n 'email_notification.subheading.3':\n 'Input the ‘sender’ information below to identify your email notification',\n 'email_notification.form.basic_auth.title': 'Basic Authentication',\n 'email_notification.form.basic_auth.description': 'Authenticate with a username and password',\n 'email_notification.form.username': 'SMTP username',\n 'email_notification.form.username.description':\n 'Username used to authenticate to the SMTP server.',\n 'email_notification.form.basic_password': 'SMTP password',\n 'email_notification.form.basic_password.description':\n 'Password used to authenticate to the SMTP server.',\n 'email_notification.form.oauth_auth.title': 'Modern Authentication',\n 'email_notification.form.oauth_auth.description': 'Authenticate with OAuth',\n 'email_notification.form.oauth_auth.supported': 'Supported providers: Microsoft',\n 'email_notification.form.oauth_auth.recommended_reason': 'for stronger security compliance',\n 'email_notification.form.oauth_authentication_host': 'Authentication host',\n 'email_notification.form.oauth_authentication_host.description':\n 'Host of the Identity Provider issuing access tokens.',\n 'email_notification.form.oauth_client_id': 'Client ID',\n 'email_notification.form.oauth_client_id.description':\n 'Client ID provided by Microsoft Exchange when registering the application.',\n 'email_notification.form.oauth_client_secret': 'Client Secret',\n 'email_notification.form.oauth_client_secret.description':\n 'Client password provided by Microsoft Exchange when registering the application.',\n 'email_notification.form.oauth_tenant': 'Tenant',\n 'email_notification.form.oauth_tenant.description': 'Microsoft tenant.',\n 'email_notification.form.host': 'SMTP host',\n 'email_notification.form.host.description': 'URL of your SMTP server.',\n 'email_notification.form.port': 'SMTP port',\n 'email_notification.form.port.description': 'Port of your SMTP server (usually 25, 587 or 465).',\n 'email_notification.form.security_protocol': 'Security protocol',\n 'email_notification.form.security_protocol.description':\n 'Security protocol used to connect to your SMTP server (SSLTLS is recommended). Valid values: NONE, SSLTLS, STARTTLS.',\n 'email_notification.form.from_address': 'From address',\n 'email_notification.form.from_address.description': 'Address emails will come from.',\n 'email_notification.form.from_name': 'From name',\n 'email_notification.form.from_name.description':\n 'Name emails will come from (usually \"SonarQube\").',\n 'email_notification.form.subject_prefix': 'Subject prefix',\n 'email_notification.form.subject_prefix.description':\n 'Prefix added to email so they can be easily recognized (usually \"[SonarQube]\").',\n 'email_notification.form.save_configuration': 'Save configuration',\n 'email_notification.form.save_configuration.create_success':\n 'Email configuration saved successfully.',\n 'email_notification.form.save_configuration.update_success':\n 'Email configuration updated successfully.',\n 'email_notification.form.delete_configuration': 'Delete configuration',\n 'email_notification.overview.heading': 'SMTP configuration settings',\n 'email_notification.overview.authentication_type': 'Authentication type',\n 'email_notification.overview.private': 'Hidden for security reasons',\n 'email_notification.form.private': '**************',\n 'email_notification.overview.value': '{0} value',\n 'email_notification.test.title': 'Test configuration',\n 'email_notification.test.modal_title': 'Test email',\n 'email_notification.test.to_address': 'To',\n 'email_notification.test.subject': 'Subject',\n 'email_notification.test.message': 'Message',\n 'email_notification.test.message_text': 'This is a test message from {productName}.',\n 'email_notification.test.create_test_email': 'Create test email',\n 'email_notification.test.submit': 'Send test email',\n 'email_notification.test.success': 'Your email was sent successfully',\n 'email_notification.test.failure':\n 'Your email could not be sent. Ensure your authentication configuration settings and email recipient are valid.',\n 'email_notification.state.value_should_be_valid_email': 'A valid email address is required.',\n\n //------------------------------------------------------------------------------\n //\n // NOTIFICATIONS\n //\n //------------------------------------------------------------------------------\n 'notification.notification': 'Notification',\n 'notification.for': 'Notify me for',\n 'notification.by': 'by {channel}',\n 'notification.channel.EmailNotificationChannel': 'Email',\n 'notification.dispatcher.information': 'A notification is never sent to the author of the event.',\n 'notification.dispatcher.ChangesOnMyIssue': 'Changes in issues/hotspots assigned to me',\n 'notification.dispatcher.NewIssues': 'New issues',\n 'notification.dispatcher.NewAlerts': 'Quality gate status changes on all available projects',\n 'notification.dispatcher.NewAlerts.project': 'Quality gate status changes',\n 'notification.dispatcher.NewFalsePositiveIssue': 'Issues resolved as false positive or accepted',\n 'notification.dispatcher.SQ-MyNewIssues': 'My new issues',\n 'notification.dispatcher.QualityGateConditionsMismatch':\n 'Quality gate metrics mismatch with the mode of the instance',\n 'notification.dispatcher.CeReportTaskFailure':\n 'Background tasks in failure on my administered projects',\n 'notification.dispatcher.CeReportTaskFailure.project': 'Background tasks in failure',\n 'notification.dispatcher.description_x': 'Check to receive notification for {project}',\n 'notification.dispatcher.group.label': 'Notifications for project {project}',\n 'notification.calculation_change.message':\n 'The way in which security, reliability, and maintainability counts and ratings are calculated has changed. <link>Learn more in SonarQube documentation</link>',\n 'notification.non_production_database.warning':\n \"Embedded database should be used for evaluation purposes only. It doesn't support scaling, upgrading to a new SonarQube Server version, or migration to another database engine. {link}\",\n 'notification.non_production_database.learn_more': 'Learn more',\n\n //------------------------------------------------------------------------------\n //\n // ALERTS\n //\n //------------------------------------------------------------------------------\n\n 'alerts.operator.<': 'is less than',\n 'alerts.operator.>': 'is greater than',\n 'alerts.operator.=': 'equals',\n 'alerts.operator.!=': 'is not',\n\n 'alert.tooltip.error': 'This is an error message.',\n 'alert.tooltip.warning': 'This is a warning message.',\n 'alert.tooltip.success': 'This is a success message.',\n 'alert.tooltip.info': 'This is an info message.',\n\n 'alert.dismiss': 'Dismiss this message',\n\n //------------------------------------------------------------------------------\n //\n // USER\n //\n //------------------------------------------------------------------------------\n 'user.password_doesnt_match_confirmation': \"Password doesn't match confirmation.\",\n 'user.password.conditions': 'Your password must include at least:',\n 'user.password.condition.12_characters': '12 characters',\n 'user.password.condition.1_upper_case': '1 upper case letter',\n 'user.password.condition.1_lower_case': '1 lower case letter',\n 'user.password.condition.1_number': '1 number',\n 'user.password.condition.1_special_character': '1 special character',\n 'user.password.invalid': 'Your password must meet all the requirements.',\n 'user.password.do_not_match': 'Passwords do not match.',\n 'user.old_password_incorrect': 'Old password is incorrect',\n 'user.new_password_same_as_old': 'New password must be different from old password',\n 'user.login_or_email_used_as_scm_account':\n 'Login and email are automatically considered as SCM accounts',\n 'user.x_deleted': '{0} (deleted)',\n 'user.confirm_password.no_match': 'Passwords do not match',\n\n 'login.page': 'Log in',\n 'login.login_to_sonarqube': 'Log in to {productName}',\n 'login.login_with_x': 'Log in with {0}',\n 'login.more_options': 'Log in with credentials',\n 'login.unauthorized_access_alert':\n 'You are not authorized to access this page. Please log in with more privileges and try again.',\n 'login.with_x': 'With {0}',\n 'login.authentication_failed': 'Authentication failed',\n 'login.logout_failed': 'Logout failed',\n\n 'unauthorized.page': 'Unauthorized',\n 'unauthorized.message':\n \"You're not authorized to access this page. Please contact the administrator.\",\n 'unauthorized.reason': 'Reason:',\n\n //------------------------------------------------------------------------------\n //\n // MY PROFILE & MY ACCOUNT\n //\n //------------------------------------------------------------------------------\n 'my_profile.login': 'Login',\n 'my_profile.email': 'Email',\n 'my_profile.groups': 'Groups',\n 'my_profile.scm_accounts': 'SCM Accounts',\n 'my_profile.scm_accounts.tooltip':\n 'SCM accounts are used for automatic issue assignment. Login and email are automatically considered as SCM account.',\n 'my_profile.password.title': 'Enter a new password',\n 'my_profile.password.old': 'Old Password',\n 'my_profile.password.changed': 'The password has been changed!',\n 'my_profile.notifications.submit': 'Save changes',\n 'my_profile.overall_notifications.title': 'General notifications',\n 'my_profile.per_project_notifications.title': 'Notifications per project',\n 'my_profile.per_project_notifications.add': 'Add a project',\n 'my_profile.per_project_notifications.edit': 'Set notifications',\n\n 'my_account.page': 'My Account',\n 'my_account.notifications': 'Notifications',\n 'my_account.no_project_notifications': 'You have not set project notifications yet.',\n 'my_account.profile': 'Profile',\n 'my_account.security': 'Security',\n 'my_account.tokens_description':\n \"If you want to enforce security by not providing credentials of a real {instance} user to run your code scan or to invoke web services, you can provide a User Token as a replacement of the user login. This will increase the security of your installation by not letting your analysis user's password going through your network.\",\n 'my_account.token_type': 'Type',\n 'my_account.project_name': 'Project',\n 'my_account.tokens_last_usage': 'Last use',\n 'my_account.tokens.expiration': 'Expiration',\n 'my_account.tokens.expired': 'Token is expired',\n 'my_account.projects': 'Projects',\n 'my_account.projects.description': 'You have admin privileges over the following projects.',\n 'my_account.projects.no_results': 'You have no project admin privileges.',\n 'my_account.projects.analyzed_x': 'Analyzed {0}',\n 'my_account.projects.never_analyzed': 'Never analyzed',\n 'my_account.search_project': 'Search Project',\n 'my_account.set_notifications_for': 'Search a project by name',\n 'my_account.set_notifications_for.title': 'Add a project',\n 'my_account.create_new.TRK': 'Add a project',\n 'my_account.add_project': 'Add Project',\n 'my_account.add_project.manual': 'Local project',\n 'my_account.add_project.azure': 'From Azure DevOps',\n 'my_account.add_project.bitbucket': 'From Bitbucket Server',\n 'my_account.add_project.bitbucketcloud': 'From Bitbucket Cloud',\n 'my_account.add_project.github': 'From GitHub',\n 'my_account.add_project.gitlab': 'From GitLab',\n 'my_account.add_project.more_others': 'Import from other DevOps Platforms',\n 'my_account.add_project.more': 'Import from DevOps Platforms',\n 'my_account.reset_password.page': 'Update password',\n 'my_account.reset_password': 'Update your password',\n 'my_account.reset_password.explain': 'This account should not use the default password.',\n\n 'my_account.create_new_project_portfolio_or_application':\n 'Analyze new project / Create new portfolio or application',\n\n 'my_account.preferences': 'Preferences',\n 'my_account.preferences.keyboard_shortcuts': 'Enable Keyboard Shortcuts',\n 'my_account.preferences.keyboard_shortcuts.description':\n \"Some actions can be performed using keyboard shortcuts. If you do not want to use these shortcuts, you can disable them here (this won't disable navigation shortcuts, which include the arrows, escape, and enter keys). For a list of available keyboard shortcuts, use the question mark shortcut (hit {questionMark} on your keyboard).\",\n\n //------------------------------------------------------------------------------\n //\n // PROJECT PROVISIONING\n //\n //------------------------------------------------------------------------------\n 'provisioning.no_analysis':\n 'No analysis has been performed since creation. The only available section is the configuration.',\n 'provisioning.no_analysis.delete': 'Either you should retry analysis or simply {link}.',\n 'provisioning.no_analysis.delete_project': 'delete the project',\n 'provisioning.no_analysis_on_main_branch': '\"{0}\" branch has not been analyzed yet.',\n 'provisioning.no_analysis_on_main_branch.bad_configuration':\n '\"{0}\" branch has not been analyzed yet and you have multiple branches already. It looks like it is not your {1}, check your configuration.',\n 'provisioning.only_provisioned': 'Only Provisioned',\n 'provisioning.only_provisioned.tooltip':\n 'Provisioned projects are projects that have been created, but have not been analyzed yet.',\n 'provisioning.no_analysis.application':\n 'No analysis has been performed since creation. Analyze a project to see information here.',\n 'provisioning.permission_synch_in_progress':\n 'Project permissions are being synchronized from {0}.',\n\n //------------------------------------------------------------------------------\n //\n // SEVERITIES\n //\n //------------------------------------------------------------------------------\n\n 'severity.BLOCKER': 'Blocker',\n 'severity.BLOCKER.description': 'Must be fixed immediately.',\n 'severity.CRITICAL': 'Critical',\n 'severity.CRITICAL.description': 'Must be reviewed immediately and fixed soon.',\n 'severity.MAJOR': 'Major',\n 'severity.MAJOR.description': 'High potential for significant to moderate impact.',\n 'severity.MINOR': 'Minor',\n 'severity.MINOR.description': 'Potential for moderate to minor impact.',\n 'severity.INFO': 'Info',\n 'severity.INFO.description': 'Neither a bug nor a quality flaw. Just a finding.',\n\n // New severities\n 'severity_impact.title': '{x} severity of impact',\n 'severity_impact.levels': 'Severity levels',\n 'severity_impact.BLOCKER': 'Blocker',\n 'severity_impact.BLOCKER.description': 'Must be fixed immediately.',\n 'severity_impact.HIGH': 'High',\n 'severity_impact.HIGH.description': 'Must be reviewed immediately and fixed soon.',\n 'severity_impact.MEDIUM': 'Medium',\n 'severity_impact.MEDIUM.description': 'High potential for significant to moderate impact.',\n 'severity_impact.LOW': 'Low',\n 'severity_impact.LOW.description': 'Potential for moderate to minor impact.',\n 'severity_impact.INFO': 'Info',\n 'severity_impact.INFO.description': 'Neither a bug nor a quality flaw. Just a finding.',\n 'severity_impact.help.description':\n '<p1>Severities are now directly tied to the software quality impacted. This means that one software quality impacted has one severity.</p1><p>They can be changed with sufficient permissions.</p>',\n 'severity_impact.help.link': 'Learn more about severity and software qualities',\n //------------------------------------------------------------------------------\n //\n // SOFTWARE QUALITIES\n //\n //------------------------------------------------------------------------------\n\n software_quality: 'Software Quality',\n 'software_quality.SECURITY': 'Security',\n 'software_quality.RELIABILITY': 'Reliability',\n 'software_quality.MAINTAINABILITY': 'Maintainability',\n\n //------------------------------------------------------------------------------\n //\n // METRIC DOMAINS\n //\n //------------------------------------------------------------------------------\n\n 'metric_domain.Size': 'Size',\n 'metric_domain.Tests': 'Tests',\n 'metric_domain.Integration Tests': 'Integration Tests',\n 'metric_domain.Complexity': 'Complexity',\n 'metric_domain.Documentation': 'Documentation',\n 'metric_domain.Rules': 'Rules',\n 'metric_domain.General': 'General',\n 'metric_domain.Duplication': 'Duplication',\n 'metric_domain.Design': 'Design',\n 'metric_domain.SCM': 'SCM',\n 'metric_domain.Maintainability': 'Maintainability',\n 'metric_domain.Releasability': 'Releasability',\n 'metric_domain.Reliability': 'Reliability',\n 'metric_domain.Security': 'Security',\n 'metric_domain.SecurityReview': 'Security Review',\n 'metric_domain.Issues': 'Issues',\n 'metric_domain.Duplications': 'Duplications',\n 'metric_domain.Coverage': 'Coverage',\n\n //--------------------------------------------------------------------------------------------------------------------\n //\n // METRIC TYPES\n //\n //--------------------------------------------------------------------------------------------------------------------\n\n 'metric.type.INT': 'Integer',\n 'metric.type.FLOAT': 'Float',\n 'metric.type.PERCENT': 'Percent',\n 'metric.type.BOOL': 'Boolean',\n 'metric.type.STRING': 'String',\n 'metric.type.MILLISEC': 'Milliseconds',\n 'metric.type.DATA': 'Data',\n 'metric.type.LEVEL': 'Level',\n 'metric.type.DISTRIB': 'Distribution',\n 'metric.type.RATING': 'Rating',\n 'metric.type.WORK_DUR': 'Work Duration',\n\n 'metric.level.ERROR': 'Failed',\n 'metric.level.WARN': 'Warning',\n 'metric.level.OK': 'Passed',\n 'metric.level.NONE': 'None',\n\n //------------------------------------------------------------------------------\n //\n // METRICS\n //\n //------------------------------------------------------------------------------\n\n 'metric.abstractness.description': 'Abstractness',\n 'metric.abstractness.name': 'Abstractness',\n 'metric.accessors.description': 'Accessors',\n 'metric.accessors.name': 'Accessors',\n 'metric.alert_status.description': 'The project status with regard to its quality gate.',\n 'metric.alert_status.name': 'Quality Gate Status',\n 'metric.authors_by_line.description': 'Authors by line',\n 'metric.authors_by_line.name': 'Authors by Line',\n 'metric.blocker_violations.description': 'Blocker issues',\n 'metric.blocker_violations.name': 'Blocker Issues',\n 'metric.branch_coverage.description': 'Condition coverage',\n 'metric.branch_coverage.name': 'Condition Coverage',\n 'metric.bugs.description': 'Bugs',\n 'metric.bugs.name': 'Bugs',\n 'metric.bugs.short_name': 'Bugs',\n 'metric.ca.description': 'Afferent couplings',\n 'metric.ca.name': 'Afferent Couplings',\n 'metric.ce.description': 'Efferent couplings',\n 'metric.ce.name': 'Efferent Couplings',\n 'metric.classes.description': 'Classes',\n 'metric.classes.name': 'Classes',\n 'metric.code_smells.description': 'Code Smells',\n 'metric.code_smells.name': 'Code Smells',\n 'metric.code_smells.short_name': 'Code Smells',\n 'metric.cognitive_complexity.description': 'Cognitive complexity',\n 'metric.cognitive_complexity.name': 'Cognitive Complexity',\n 'metric.commented_out_code_lines.description': 'Commented lines of code',\n 'metric.commented_out_code_lines.name': 'Commented-Out LOC',\n 'metric.comment_blank_lines.description': 'Comments that do not contain comments',\n 'metric.comment_blank_lines.name': 'Blank Comments',\n 'metric.comment_lines.description': 'Number of comment lines',\n 'metric.comment_lines.name': 'Comment Lines',\n 'metric.comment_lines_density.description': 'Comments balanced by ncloc + comment lines',\n 'metric.comment_lines_density.name': 'Comments (%)',\n 'metric.comment_lines_density.short_name': 'Comments',\n 'metric.complexity.description': 'Cyclomatic complexity',\n 'metric.complexity.name': 'Cyclomatic Complexity',\n 'metric.conditions_by_line.description': 'Conditions by line',\n 'metric.conditions_by_line.name': 'Conditions by Line',\n 'metric.conditions_to_cover.description': 'Conditions to cover',\n 'metric.conditions_to_cover.name': 'Conditions to Cover',\n 'metric.confirmed_issues.description': 'Confirmed issues',\n 'metric.confirmed_issues.name': 'Confirmed Issues',\n 'metric.coverage.description': 'Coverage by tests',\n 'metric.coverage.name': 'Coverage',\n 'metric.coverage_line_hits_data.description': 'Coverage hits by line',\n 'metric.coverage_line_hits_data.name': 'Coverage Hits by Line',\n 'metric.covered_conditions.description': 'Covered conditions',\n 'metric.covered_conditions.name': 'Covered Conditions',\n 'metric.covered_conditions_by_line.description': 'Covered conditions by line',\n 'metric.covered_conditions_by_line.name': 'Covered Conditions by Line',\n 'metric.covered_lines.description': 'Covered lines',\n 'metric.covered_lines.name': 'Covered Lines',\n 'metric.critical_violations.description': 'Critical issues',\n 'metric.critical_violations.name': 'Critical Issues',\n 'metric.development_cost.description': 'Development cost',\n 'metric.development_cost.name': 'Development Cost',\n 'metric.directories.description': 'Directories',\n 'metric.directories.name': 'Directories',\n 'metric.distance.description': 'Distance',\n 'metric.distance.name': 'Distance',\n 'metric.dit.description': 'Depth in Inheritance Tree',\n 'metric.dit.name': 'Depth in Tree',\n 'metric.dsm.description': 'Dependency Matrix',\n 'metric.dsm.name': 'Dependency Matrix',\n 'metric.duplicated_blocks.description': 'Duplicated blocks',\n 'metric.duplicated_blocks.name': 'Duplicated Blocks',\n 'metric.duplicated_files.description': 'Duplicated files',\n 'metric.duplicated_files.name': 'Duplicated Files',\n 'metric.duplicated_lines.description': 'Duplicated lines',\n 'metric.duplicated_lines.name': 'Duplicated Lines',\n 'metric.duplicated_lines_density.description': 'Duplicated lines balanced by statements',\n 'metric.duplicated_lines_density.name': 'Duplicated Lines (%)',\n 'metric.duplicated_lines_density.short_name': 'Duplications',\n 'metric.duplicated_lines_density.extra_short_name': 'Density',\n 'metric.duplications_data.description': 'Duplications details',\n 'metric.duplications_data.name': 'Duplication Details',\n 'metric.efficiency.description': 'Efficiency',\n 'metric.efficiency.name': 'Efficiency',\n 'metric.effort_to_reach_maintainability_rating_a.description':\n 'Effort to reach maintainability rating A',\n 'metric.effort_to_reach_maintainability_rating_a.name':\n 'Effort to Reach Maintainability Rating A',\n 'metric.effort_to_reach_maintainability_rating_a.extra_short_name': 'Effort to Reach A',\n 'metric.effort_to_reach_software_quality_maintainability_rating_a.description':\n 'Effort to reach maintainability rating A',\n 'metric.effort_to_reach_software_quality_maintainability_rating_a.name':\n 'Effort to Reach Maintainability Rating A',\n 'metric.effort_to_reach_software_quality_maintainability_rating_a.extra_short_name':\n 'Effort to Reach A',\n 'metric.false_positive_issues.description': 'False positive issues',\n 'metric.false_positive_issues.name': 'False Positive Issues',\n 'metric.files.description': 'Number of files',\n 'metric.files.name': 'Files',\n 'metric.file_cycles.description': 'File cycles',\n 'metric.file_cycles.name': 'File Cycles',\n 'metric.file_edges_weight.description': 'File edges weight',\n 'metric.file_edges_weight.name': 'File Edges Weight',\n 'metric.file_feedback_edges.description': 'Suspect file dependencies',\n 'metric.file_feedback_edges.name': 'Suspect File Dependencies',\n 'metric.file_tangles.description': 'Files tangles',\n 'metric.file_tangles.name': 'File Tangles',\n 'metric.file_tangle_index.description': 'File tangle index',\n 'metric.file_tangle_index.name': 'File Tangle Index',\n 'metric.functions.description': 'Functions',\n 'metric.functions.name': 'Functions',\n 'metric.generated_lines.description': 'Number of generated lines',\n 'metric.generated_lines.name.suffix': 'generated lines',\n 'metric.generated_lines.name': 'Generated Lines',\n 'metric.generated_ncloc.description': 'Generated non Commenting Lines of Code',\n 'metric.generated_ncloc.name.suffix': 'generated lines of code',\n 'metric.generated_ncloc.name': 'Generated Lines of Code',\n 'metric.has_rating_X': 'Has rating: {0}',\n 'metric.no_rating': 'Has no rating',\n 'metric.info_violations.description': 'Info issues',\n 'metric.info_violations.name': 'Info Issues',\n 'metric.instability.description': 'Instability',\n 'metric.instability.name': 'Instability',\n 'metric.it_branch_coverage.description': 'Condition coverage by integration tests',\n 'metric.it_branch_coverage.name': 'IT Condition Coverage',\n 'metric.it_conditions_by_line.description': 'IT conditions by line',\n 'metric.it_conditions_by_line.name': 'IT Conditions by Line',\n 'metric.it_conditions_to_cover.description': 'Conditions to cover by integration tests',\n 'metric.it_conditions_to_cover.name': 'IT Conditions to Cover',\n 'metric.it_coverage.description': 'Integration tests coverage',\n 'metric.it_coverage.name': 'IT Coverage',\n 'metric.it_coverage_line_hits_data.description': 'Coverage hits by line by integration tests',\n 'metric.it_coverage_line_hits_data.name': 'IT Coverage Hits by Line',\n 'metric.it_covered_conditions_by_line.description': 'IT covered conditions by line',\n 'metric.it_covered_conditions_by_line.name': 'IT Covered Conditions by Line',\n 'metric.it_lines_to_cover.description': 'Lines to cover by integration tests',\n 'metric.it_lines_to_cover.name': 'IT Lines to Cover',\n 'metric.it_line_coverage.description': 'Line coverage by integration tests',\n 'metric.it_line_coverage.name': 'IT Line Coverage',\n 'metric.it_uncovered_conditions.description': 'Uncovered conditions by integration tests',\n 'metric.it_uncovered_conditions.name': 'IT Uncovered Conditions',\n 'metric.it_uncovered_lines.description': 'Uncovered lines by integration tests',\n 'metric.it_uncovered_lines.name': 'IT Uncovered Lines',\n 'metric.last_commit_date.name': 'Date of Last Commit',\n 'metric.last_commit_datetimes_by_line.description': 'Last commit dates by line',\n 'metric.last_commit_datetimes_by_line.name': 'Last Commit Dates by Line',\n 'metric.lcom4.description': 'Lack of Cohesion of Functions',\n 'metric.lcom4.name': 'LCOM4',\n 'metric.lcom4_blocks.description': 'LCOM4 blocks',\n 'metric.lcom4_blocks.name': 'LCOM4 Blocks',\n 'metric.lcom4_distribution.description': 'Class distribution /LCOM4',\n 'metric.lcom4_distribution.name': 'Class Distribution / LCOM4',\n 'metric.lines.description': 'Lines',\n 'metric.lines.name': 'Lines',\n 'metric.lines_to_cover.description': 'Lines to cover',\n 'metric.lines_to_cover.name': 'Lines to Cover',\n 'metric.line_coverage.description': 'Line coverage',\n 'metric.line_coverage.name': 'Line Coverage',\n 'metric.maintainability.description': 'Maintainability',\n 'metric.maintainability.name': 'Maintainability',\n 'metric.major_violations.description': 'Major issues',\n 'metric.major_violations.name': 'Major Issues',\n 'metric.minor_violations.description': 'Minor issues',\n 'metric.minor_violations.name': 'Minor Issues',\n 'metric.ncloc.name': 'Lines of Code',\n 'metric.ncloc.description': 'Non commenting lines of code',\n 'metric.ncloc_language_distribution.description':\n 'Non Commenting Lines of Code Distributed By Language',\n 'metric.ncloc_language_distribution.name': 'Lines of Code Per Language',\n 'metric.new_blocker_violations.description': 'New Blocker issues',\n 'metric.new_blocker_violations.name': 'New Blocker Issues',\n 'metric.new_blocker_violations.short_name': 'Blocker Issues',\n 'metric.new_branch_coverage.description': 'Condition coverage of new/changed code',\n 'metric.new_branch_coverage.name': 'Condition Coverage on New Code',\n 'metric.new_branch_coverage.extra_short_name': 'Condition Coverage',\n 'metric.new_bugs.description': 'New Bugs',\n 'metric.new_bugs.name': 'New Bugs',\n 'metric.new_bugs.short_name': 'Bugs',\n 'metric.new_code_smells.description': 'New Code Smells',\n 'metric.new_code_smells.name': 'New Code Smells',\n 'metric.new_code_smells.short_name': 'Code Smells',\n 'metric.new_conditions_to_cover.description': 'Conditions to cover on new code',\n 'metric.new_conditions_to_cover.name': 'Conditions to Cover on New Code',\n 'metric.new_conditions_to_cover.extra_short_name': 'Conditions to Cover',\n 'metric.new_coverage.description': 'Coverage of new/changed code',\n 'metric.new_coverage.description.positive': 'New code has sufficient test coverage',\n 'metric.new_coverage.name': 'Coverage on New Code',\n 'metric.new_coverage.short_name': 'Coverage',\n 'metric.new_critical_violations.description': 'New Critical issues',\n 'metric.new_critical_violations.name': 'New Critical Issues',\n 'metric.new_critical_violations.short_name': 'Critical Issues',\n 'metric.new_development_cost.description': 'Development cost on new code',\n 'metric.new_development_cost.name': 'Development Cost on New Code',\n 'metric.new_duplicated_blocks.name': 'Duplicated Blocks on New Code',\n 'metric.new_duplicated_blocks.extra_short_name': 'Duplicated Blocks',\n 'metric.new_duplicated_blocks.description': 'Duplicated blocks on new code',\n 'metric.new_duplicated_lines.name': 'Duplicated Lines on New Code',\n 'metric.new_duplicated_lines.extra_short_name': 'Duplicated Lines',\n 'metric.new_duplicated_lines.description': 'Duplicated Lines on New Code',\n 'metric.new_duplicated_lines_density.description':\n 'Duplicated lines (%) on new code balanced by statements',\n 'metric.new_duplicated_lines_density.description.positive': 'New code has limited duplications',\n 'metric.new_duplicated_lines_density.name': 'Duplicated Lines (%) on New Code',\n 'metric.new_duplicated_lines_density.short_name': 'Duplications',\n 'metric.new_duplicated_lines_density.extra_short_name': 'Density',\n 'metric.new_info_violations.description': 'New Info issues',\n 'metric.new_info_violations.name': 'New Info Issues',\n 'metric.new_info_violations.short_name': 'Info Issues',\n 'metric.new_it_branch_coverage.description':\n 'Integration tests condition coverage of new/changed code',\n 'metric.new_it_branch_coverage.name': 'Condition Coverage by IT on New Code',\n 'metric.new_it_conditions_to_cover.description': 'New conditions to cover by integration tests',\n 'metric.new_it_conditions_to_cover.name': 'Conditions to Cover by IT on New Code',\n 'metric.new_it_coverage.description': 'Integration tests coverage of new/changed code',\n 'metric.new_it_coverage.name': 'Coverage by IT on New Code',\n 'metric.new_it_lines_to_cover.description': 'Lines to cover on new code by integration tests',\n 'metric.new_it_lines_to_cover.name': 'Lines to Cover by IT on New Code',\n 'metric.new_it_line_coverage.description':\n 'Integration tests line coverage of added/changed code',\n 'metric.new_it_line_coverage.name': 'Line Coverage by IT on New Code',\n 'metric.new_it_uncovered_conditions.description':\n 'New conditions that are not covered by integration tests',\n 'metric.new_it_uncovered_conditions.name': 'Uncovered Conditions by IT on New Code',\n 'metric.new_it_uncovered_lines.description':\n 'New lines that are not covered by integration tests',\n 'metric.new_it_uncovered_lines.name': 'Uncovered Lines by IT on New Code',\n 'metric.new_lines_to_cover.description': 'Lines to cover on new code',\n 'metric.new_lines_to_cover.name': 'Lines to Cover on New Code',\n 'metric.new_lines_to_cover.extra_short_name': 'Lines to Cover',\n 'metric.new_line_coverage.description': 'Line coverage of added/changed code',\n 'metric.new_line_coverage.name': 'Line Coverage on New Code',\n 'metric.new_line_coverage.extra_short_name': 'Line Coverage',\n 'metric.new_maintainability_rating.description': 'Maintainability rating on new code',\n 'metric.new_maintainability_rating.name': 'Maintainability Rating on New Code',\n 'metric.new_maintainability_rating.extra_short_name': 'Rating',\n 'metric.new_software_quality_maintainability_rating.description':\n 'Maintainability rating on new code',\n 'metric.new_software_quality_maintainability_rating.name': 'Maintainability Rating on New Code',\n 'metric.new_software_quality_maintainability_rating.extra_short_name': 'Rating',\n 'metric.new_major_violations.description': 'New Major issues',\n 'metric.new_major_violations.name': 'New Major Issues',\n 'metric.new_major_violations.short_name': 'Major Issues',\n 'metric.new_minor_violations.description': 'New Minor issues',\n 'metric.new_minor_violations.name': 'New Minor Issues',\n 'metric.new_minor_violations.short_name': 'Minor Issues',\n 'metric.new_lines.name': 'New Lines',\n 'metric.new_lines.description': 'New lines',\n 'metric.new_lines.short_name': 'Lines',\n 'metric.new_overall_branch_coverage.description':\n 'Condition coverage of new/changed code by all tests',\n 'metric.new_overall_branch_coverage.name': 'Overall Condition Coverage on New Code',\n 'metric.new_overall_conditions_to_cover.description': 'New conditions to cover by all tests',\n 'metric.new_overall_conditions_to_cover.name': 'Overall Conditions to Cover on New Code',\n 'metric.new_overall_coverage.description': 'Overall coverage of new/changed code',\n 'metric.new_overall_coverage.name': 'Overall Coverage on New Code',\n 'metric.new_overall_lines_to_cover.description': 'New lines to cover by all tests',\n 'metric.new_overall_lines_to_cover.name': 'Overall Lines to Cover on New Code',\n 'metric.new_overall_line_coverage.description':\n 'Line coverage of added/changed code by all tests',\n 'metric.new_overall_line_coverage.name': 'Overall Line Coverage on New Code',\n 'metric.new_overall_uncovered_conditions.description':\n 'New conditions that are not covered by any test',\n 'metric.new_overall_uncovered_conditions.name': 'Overall Uncovered Conditions on New Code',\n 'metric.new_overall_uncovered_lines.description': 'New lines that are not covered by any tests',\n 'metric.new_overall_uncovered_lines.name': 'Overall Uncovered Lines on New Code',\n 'metric.new_reliability_rating.description': 'Reliability rating on new code',\n 'metric.new_reliability_rating.name': 'Reliability Rating on New Code',\n 'metric.new_reliability_rating.extra_short_name': 'Rating',\n 'metric.new_software_quality_reliability_rating.description': 'Reliability rating on new code',\n 'metric.new_software_quality_reliability_rating.name': 'Reliability Rating on New Code',\n 'metric.new_software_quality_reliability_rating.extra_short_name': 'Rating',\n 'metric.new_reliability_remediation_effort.description':\n 'Reliability remediation effort on new code',\n 'metric.new_reliability_remediation_effort.name': 'Reliability Remediation Effort on New Code',\n 'metric.new_reliability_remediation_effort.extra_short_name': 'Remediation Effort',\n 'metric.new_software_quality_reliability_remediation_effort.description':\n 'Reliability remediation effort on new code',\n 'metric.new_software_quality_reliability_remediation_effort.name':\n 'Reliability Remediation Effort on New Code',\n 'metric.new_software_quality_reliability_remediation_effort.extra_short_name':\n 'Remediation Effort',\n 'metric.new_security_hotspots.description': 'New Security Hotspots',\n 'metric.new_security_hotspots.name': 'New Security Hotspots',\n 'metric.new_security_hotspots.short_name': 'Security Hotspots',\n 'metric.new_security_hotspots_reviewed.description':\n 'Percentage of Security Hotspots Reviewed on New Code',\n 'metric.new_security_hotspots_reviewed.description.positive':\n 'All new security hotspots are reviewed',\n 'metric.new_security_hotspots_reviewed.name': 'Security Hotspots Reviewed on New Code',\n 'metric.new_security_hotspots_reviewed.short_name': 'Security Hotspots Reviewed',\n 'metric.new_security_hotspots_reviewed_status.description':\n 'Security Review Reviewed Status on New Code',\n 'metric.new_security_hotspots_reviewed_status.name':\n 'Security Review Reviewed Status on New Code',\n 'metric.new_security_hotspots_to_review_status.description':\n 'Security Review To Review Status on New Code',\n 'metric.new_security_hotspots_to_review_status.name':\n 'Security Review To Review Status on New Code',\n 'metric.new_security_rating.description': 'Security rating on new code',\n 'metric.new_security_rating.name': 'Security Rating on New Code',\n 'metric.new_security_rating.extra_short_name': 'Rating',\n 'metric.new_software_quality_security_rating.description': 'Security rating on new code',\n 'metric.new_software_quality_security_rating.name': 'Security Rating on New Code',\n 'metric.new_software_quality_security_rating.extra_short_name': 'Rating',\n 'metric.new_security_remediation_effort.description': 'Security remediation effort on new code',\n 'metric.new_security_remediation_effort.name': 'Security Remediation Effort on New Code',\n 'metric.new_security_remediation_effort.extra_short_name': 'Remediation Effort',\n 'metric.new_software_quality_security_remediation_effort.description':\n 'Security remediation effort on new code',\n 'metric.new_software_quality_security_remediation_effort.name':\n 'Security Remediation Effort on New Code',\n 'metric.new_software_quality_security_remediation_effort.extra_short_name': 'Remediation Effort',\n 'metric.new_security_review_rating.description': 'Security Review Rating on New Code',\n 'metric.new_security_review_rating.name': 'Security Review Rating on New Code',\n 'metric.new_security_review_rating.extra_short_name': 'Rating',\n 'metric.new_sqale_debt_ratio.description': 'Technical Debt Ratio of new/changed code.',\n 'metric.new_sqale_debt_ratio.name': 'Technical Debt Ratio on New Code',\n 'metric.new_sqale_debt_ratio.short_name': 'Debt Ratio on new code',\n 'metric.new_sqale_debt_ratio.extra_short_name': 'Debt Ratio',\n 'metric.new_software_quality_maintainability_debt_ratio.description':\n 'Technical Debt Ratio of new/changed code.',\n 'metric.new_software_quality_maintainability_debt_ratio.name': 'Technical Debt Ratio on New Code',\n 'metric.new_software_quality_maintainability_debt_ratio.short_name': 'Debt Ratio on new code',\n 'metric.new_software_quality_maintainability_debt_ratio.extra_short_name': 'Debt Ratio',\n 'metric.new_technical_debt.description': 'Added technical debt',\n 'metric.new_technical_debt.name': 'Added Technical Debt',\n 'metric.new_technical_debt.short_name': 'Added Debt',\n 'metric.new_technical_debt.extra_short_name': 'Debt',\n 'metric.new_software_quality_maintainability_remediation_effort.description':\n 'Added technical debt',\n 'metric.new_software_quality_maintainability_remediation_effort.name': 'Added Technical Debt',\n 'metric.new_software_quality_maintainability_remediation_effort.short_name': 'Added Debt',\n 'metric.new_software_quality_maintainability_remediation_effort.extra_short_name': 'Debt',\n 'metric.new_uncovered_conditions.description': 'Uncovered conditions on new code',\n 'metric.new_uncovered_conditions.name': 'Uncovered Conditions on New Code',\n 'metric.new_uncovered_conditions.extra_short_name': 'Uncovered Conditions',\n 'metric.new_uncovered_lines.description': 'Uncovered lines on new code',\n 'metric.new_uncovered_lines.name': 'Uncovered Lines on New Code',\n 'metric.new_uncovered_lines.extra_short_name': 'Uncovered Lines',\n 'metric.new_violations.description': 'New issues',\n 'metric.new_violations.description.positive': 'New code has 0 issues',\n 'metric.new_violations.name': 'New Issues',\n 'metric.new_vulnerabilities.description': 'New Vulnerabilities',\n 'metric.new_vulnerabilities.name': 'New Vulnerabilities',\n 'metric.new_vulnerabilities.short_name': 'Vulnerabilities',\n 'metric.noc.description': 'Number of Children',\n 'metric.noc.name': 'Number of Children',\n 'metric.open_issues.description': 'Open issues',\n 'metric.open_issues.name': 'Open Issues',\n 'metric.overall_branch_coverage.description': 'Condition coverage by all tests',\n 'metric.overall_branch_coverage.name': 'Overall Condition Coverage',\n 'metric.overall_conditions_by_line.description': 'Overall conditions by all tests and by line',\n 'metric.overall_conditions_by_line.name': 'Overall Conditions by Line',\n 'metric.overall_conditions_to_cover.description': 'Conditions to cover by all tests',\n 'metric.overall_conditions_to_cover.name': 'Overall Conditions to Cover',\n 'metric.overall_coverage.description': 'Overall test coverage',\n 'metric.overall_coverage.name': 'Overall Coverage',\n 'metric.overall_coverage_line_hits_data.description': 'Coverage hits by all tests and by line',\n 'metric.overall_coverage_line_hits_data.name': 'Overall Coverage Hits by Line',\n 'metric.overall_covered_conditions_by_line.description':\n 'Overall covered conditions by all tests and by line',\n 'metric.overall_covered_conditions_by_line.name': 'Overall Covered Conditions by Line',\n 'metric.overall_lines_to_cover.description': 'Lines to cover by all tests',\n 'metric.overall_lines_to_cover.name': 'Overall Lines to Cover',\n 'metric.overall_line_coverage.description': 'Line coverage by all tests',\n 'metric.overall_line_coverage.name': 'Overall Line Coverage',\n 'metric.overall_uncovered_conditions.description': 'Uncovered conditions by all tests',\n 'metric.overall_uncovered_conditions.name': 'Overall Uncovered Conditions',\n 'metric.overall_uncovered_lines.description': 'Uncovered lines by all tests',\n 'metric.overall_uncovered_lines.name': 'Overall Uncovered Lines',\n 'metric.packages.description': 'Packages',\n 'metric.packages.name': 'Packages',\n 'metric.package_cycles.description': 'Package cycles',\n 'metric.package_cycles.name': 'Package Cycles',\n 'metric.package_edges_weight.description': 'Package edges weight',\n 'metric.package_edges_weight.name': 'Package Edges Weight',\n 'metric.package_feedback_edges.description': 'Package dependencies to cut',\n 'metric.package_feedback_edges.name': 'Package Dependencies to Cut',\n 'metric.package_tangles.description': 'File dependencies to cut',\n 'metric.package_tangles.name': 'File Dependencies to Cut',\n 'metric.package_tangle_index.description': 'Package tangle index',\n 'metric.package_tangle_index.name': 'Package Tangle Index',\n 'metric.portability.description': 'Portability',\n 'metric.portability.name': 'Portability',\n 'metric.prioritized_rule_issues.name': 'Issues from prioritized rules',\n 'metric.prioritized_rule_issues.description': 'Issues from prioritized rules',\n 'metric.profile.description': 'Selected Quality Profile',\n 'metric.profile.name': 'Profile',\n 'metric.profile_version.description': 'Selected Quality Profile version',\n 'metric.profile_version.name': 'Profile Version',\n 'metric.projects.description': 'Number of project branches',\n 'metric.projects.name': 'Project branches',\n 'metric.public_api.description': 'Public API',\n 'metric.public_api.name': 'Public API',\n 'metric.public_documented_api_density.description':\n 'Public documented classes and functions balanced by ncloc',\n 'metric.public_documented_api_density.name': 'Public Documented API (%)',\n 'metric.public_undocumented_api.description':\n 'Public undocumented classes, functions and variables',\n 'metric.public_undocumented_api.name': 'Public Undocumented API',\n 'metric.quality_gate_details.description':\n 'The project detailed status with regard to its quality gate',\n 'metric.quality_gate_details.name': 'Quality Gate Details',\n 'metric.quality_profiles.description': 'Details of Quality Profiles used during analysis',\n 'metric.quality_profiles.name': 'Profiles',\n 'metric.reliability.description': 'Reliability',\n 'metric.reliability.name': 'Reliability',\n 'metric.reliability_rating.description': 'Reliability rating',\n 'metric.reliability_rating.description.positive': 'Overall code has no critical bugs',\n 'metric.reliability_rating.name': 'Reliability Rating',\n 'metric.reliability_rating.extra_short_name': 'Rating',\n 'metric.reliability_rating.tooltip.A': 'Reliability rating is A when there are no bugs.',\n 'metric.reliability_rating.tooltip.B':\n 'Reliability rating is B when there is at least one minor bug.',\n 'metric.reliability_rating.tooltip.C':\n 'Reliability rating is C when there is at least one major bug.',\n 'metric.reliability_rating.tooltip.D':\n 'Reliability rating is D when there is at least one critical bug.',\n 'metric.reliability_rating.tooltip.E':\n 'Reliability rating is E when there is at least one blocker bug.',\n 'metric.releasability_rating.description': 'Releasability Rating',\n 'metric.releasability_rating.name': 'Releasability Rating',\n 'metric.software_quality_releasability_rating.description': 'Releasability Rating',\n 'metric.software_quality_releasability_rating.name': 'Releasability Rating',\n 'metric.software_quality_reliability_rating.description': 'Reliability rating',\n 'metric.software_quality_reliability_rating.description.positive':\n 'Overall code has no critical reliability issues',\n 'metric.software_quality_reliability_rating.name': 'Reliability Rating',\n 'metric.software_quality_reliability_rating.extra_short_name': 'Rating',\n 'metric.software_quality_reliability_rating.tooltip.A':\n 'Reliability rating is A when there are no reliability issues above info severity.',\n 'metric.software_quality_reliability_rating.tooltip.B':\n 'Reliability rating is B when there is at least one low reliability issue.',\n 'metric.software_quality_reliability_rating.tooltip.C':\n 'Reliability rating is C when there is at least one medium reliability issue.',\n 'metric.software_quality_reliability_rating.tooltip.D':\n 'Reliability rating is D when there is at least one high reliability issue.',\n 'metric.software_quality_reliability_rating.tooltip.E':\n 'Reliability rating is E when there is at least one blocker reliability issue.',\n 'metric.reliability_remediation_effort.description': 'Reliability Remediation Effort',\n 'metric.reliability_remediation_effort.name': 'Reliability Remediation Effort',\n 'metric.reliability_remediation_effort.extra_short_name': 'Remediation Effort',\n 'metric.software_quality_reliability_remediation_effort.description':\n 'Reliability Remediation Effort',\n 'metric.software_quality_reliability_remediation_effort.name': 'Reliability Remediation Effort',\n 'metric.software_quality_reliability_remediation_effort.extra_short_name': 'Remediation Effort',\n 'metric.reopened_issues.description': 'Reopened issues',\n 'metric.reopened_issues.name': 'Reopened Issues',\n 'metric.revisions_by_line.description': 'Revisions by line',\n 'metric.revisions_by_line.name': 'Revisions by Line',\n 'metric.rfc.description': 'Response for Class',\n 'metric.rfc.name': 'Response for Class',\n 'metric.rfc_distribution.description': 'Class distribution /RFC',\n 'metric.rfc_distribution.name': 'Class Distribution / RFC',\n 'metric.security_hotspots.description': 'Security Hotspots',\n 'metric.security_hotspots.full_description':\n 'Security-sensitive code that requires manual review to assess whether or not a vulnerability exists.',\n 'metric.security_hotspots.name': 'Security Hotspots',\n 'metric.security_hotspots_reviewed.description': 'Percentage of Security Hotspots Reviewed',\n 'metric.security_hotspots_reviewed.description.positive': 'All security hotspots are reviewed',\n 'metric.security_hotspots_reviewed.name': 'Security Hotspots Reviewed',\n 'metric.security_hotspots_reviewed_status.description': 'Security Review Reviewed Status',\n 'metric.security_hotspots_reviewed_status.name': 'Security Review Reviewed Status',\n 'metric.security_hotspots_to_review_status.description': 'Security Review To Review Status',\n 'metric.security_hotspots_to_review_status.name': 'Security Review To Review Status',\n 'metric.security_rating.description': 'Security rating',\n 'metric.security_rating.description.positive': 'Overall code has no vulnerabilities',\n 'metric.security_rating.name': 'Security Rating',\n 'metric.security_rating.extra_short_name': 'Rating',\n 'metric.security_rating.tooltip.A': 'Security rating is A when there are no vulnerabilities.',\n 'metric.security_rating.tooltip.B':\n 'Security rating is B when there is at least one minor vulnerability.',\n 'metric.security_rating.tooltip.C':\n 'Security rating is C when there is at least one major vulnerability.',\n 'metric.security_rating.tooltip.D':\n 'Security rating is D when there is at least one critical vulnerability.',\n 'metric.security_rating.tooltip.E':\n 'Security rating is E when there is at least one blocker vulnerability.',\n 'metric.software_quality_security_rating.description': 'Security rating',\n 'metric.software_quality_security_rating.description.positive':\n 'Overall code has no security issues',\n 'metric.software_quality_security_rating.name': 'Security Rating',\n 'metric.software_quality_security_rating.extra_short_name': 'Rating',\n 'metric.software_quality_security_rating.tooltip.A':\n 'Security rating is A when there are no security issues above info severity.',\n 'metric.software_quality_security_rating.tooltip.B':\n 'Security rating is B when there is at least one low security issue.',\n 'metric.software_quality_security_rating.tooltip.C':\n 'Security rating is C when there is at least one medium security issue.',\n 'metric.software_quality_security_rating.tooltip.D':\n 'Security rating is D when there is at least one high security issue.',\n 'metric.software_quality_security_rating.tooltip.E':\n 'Security rating is E when there is at least one blocker security issue.',\n 'metric.security_remediation_effort.description': 'Security remediation effort',\n 'metric.security_remediation_effort.name': 'Security Remediation Effort',\n 'metric.security_remediation_effort.extra_short_name': 'Remediation Effort',\n 'metric.software_quality_security_remediation_effort.description': 'Security remediation effort',\n 'metric.software_quality_security_remediation_effort.name': 'Security Remediation Effort',\n 'metric.software_quality_security_remediation_effort.extra_short_name': 'Remediation Effort',\n 'metric.security_review_rating.description': 'Security Review Rating',\n 'metric.security_review_rating.name': 'Security Review Rating',\n 'metric.security_review_rating.extra_short_name': 'Rating',\n 'metric.security_review_rating.tooltip.A':\n 'Security Review rating is A when at least 80% of Security Hotspots are reviewed.',\n 'metric.security_review_rating.tooltip.B':\n 'Security Review rating is B when less than 80% of Security Hotspots are reviewed.',\n 'metric.security_review_rating.tooltip.C':\n 'Security Review rating is C when less than 70% of Security Hotspots are reviewed.',\n 'metric.security_review_rating.tooltip.D':\n 'Security Review rating is D when less than 50% of Security Hotspots are reviewed.',\n 'metric.security_review_rating.tooltip.E':\n 'Security Review rating is E when less than 30% of Security Hotspots are reviewed.',\n 'metric.skipped_tests.description': 'Number of skipped unit tests',\n 'metric.skipped_tests.name': 'Skipped Unit Tests',\n 'metric.skipped_tests.short_name': 'Skipped',\n 'metric.sqale_debt_ratio.description':\n 'Ratio of the actual technical debt compared to the estimated cost to develop the whole source code from scratch',\n 'metric.sqale_debt_ratio.name': 'Technical Debt Ratio',\n 'metric.sqale_debt_ratio.short_name': 'Debt Ratio',\n 'metric.software_quality_maintainability_debt_ratio.description':\n 'Ratio of the actual technical debt compared to the estimated cost to develop the whole source code from scratch',\n 'metric.software_quality_maintainability_debt_ratio.name': 'Technical Debt Ratio',\n 'metric.software_quality_maintainability_debt_ratio.short_name': 'Debt Ratio',\n 'metric.sqale_index.description':\n 'Total effort (in minutes) to fix all the issues on the component and therefore to comply to all the requirements.',\n 'metric.sqale_index.name': 'Technical Debt',\n 'metric.sqale_index.short_name': 'Debt',\n 'metric.software_quality_maintainability_remediation_effort.description':\n 'Total effort (in minutes) to fix all the issues on the component and therefore to comply to all the requirements.',\n 'metric.software_quality_maintainability_remediation_effort.name': 'Technical Debt',\n 'metric.software_quality_maintainability_remediation_effort.short_name': 'Debt',\n 'metric.sqale_rating.description': 'A-to-E rating based on the technical debt ratio',\n 'metric.sqale_rating.name': 'Maintainability Rating',\n 'metric.sqale_rating.extra_short_name': 'Rating',\n 'metric.sqale_rating.tooltip':\n 'Maintainability rating is {0} when the technical debt ratio is greater than {1}',\n 'metric.sqale_rating.tooltip.A':\n 'Maintainability rating is A when the technical debt ratio is less than {0}',\n 'metric.software_quality_maintainability_rating.description':\n 'A-to-E rating based on the technical debt ratio',\n 'metric.software_quality_maintainability_rating.name': 'Maintainability Rating',\n 'metric.software_quality_maintainability_rating.extra_short_name': 'Rating',\n 'metric.software_quality_maintainability_rating.tooltip':\n 'Maintainability rating is {0} when the technical debt ratio is greater than {1}',\n 'metric.software_quality_maintainability_rating.tooltip.A':\n 'Maintainability rating is A when the technical debt ratio is less than {0}',\n 'metric.statements.description': 'Number of statements',\n 'metric.statements.name': 'Statements',\n 'metric.suspect_lcom4_density.description': 'Density of classes having LCOM4>1',\n 'metric.suspect_lcom4_density.name': 'Suspect LCOM4 Density',\n 'metric.tests.description': 'Number of unit tests',\n 'metric.tests.name': 'Unit Tests',\n 'metric.test_data.description': 'Unit tests details',\n 'metric.test_data.name': 'Unit Test Details',\n 'metric.test_errors.description': 'Number of unit test errors',\n 'metric.test_errors.name': 'Unit Test Errors',\n 'metric.test_errors.short_name': 'Errors',\n 'metric.test_execution_time.description': 'Execution duration of unit tests',\n 'metric.test_execution_time.name': 'Unit Test Duration',\n 'metric.test_execution_time.short_name': 'Duration',\n 'metric.test_failures.description': 'Number of unit test failures',\n 'metric.test_failures.name': 'Unit Test Failures',\n 'metric.test_failures.short_name': 'Failures',\n 'metric.test_success_density.description': 'Density of successful unit tests',\n 'metric.test_success_density.name': 'Unit Test Success (%)',\n 'metric.test_success_density.short_name': 'Success',\n 'metric.uncovered_conditions.description': 'Uncovered conditions',\n 'metric.uncovered_conditions.name': 'Uncovered Conditions',\n 'metric.uncovered_lines.description': 'Uncovered lines',\n 'metric.uncovered_lines.name': 'Uncovered Lines',\n 'metric.usability.description': 'Usability',\n 'metric.usability.name': 'Usability',\n 'metric.violations.description': 'Issues',\n 'metric.violations.name': 'Issues',\n 'metric.violations.short_name': 'Issues',\n 'metric.vulnerabilities.description': 'Vulnerabilities',\n 'metric.vulnerabilities.name': 'Vulnerabilities',\n 'metric.vulnerabilities.short_name': 'Vulnerabilities',\n 'metric.wont_fix_issues.description': \"Won't fix issues\",\n 'metric.wont_fix_issues.name': \"Won't Fix Issues\",\n 'metric.accepted_issues.description': 'Accepted issues',\n 'metric.accepted_issues.name': 'Accepted Issues',\n 'metric.pull_request_fixed_issues.name': 'Pull request fixed issues',\n 'metric.pull_request_fixed_issues.description':\n 'Count of issues that would be fixed by the pull request.',\n 'metric.new_accepted_issues.name': 'New Accepted Issues',\n 'metric.new_accepted_issues.description': 'New accepted issues',\n 'metric.high_impact_accepted_issues.name': 'Blocker and High Severity Accepted Issues',\n 'metric.high_impact_accepted_issues.description': 'Accepted issues with blocker or high impact',\n 'metric.maintainability_issues.name': 'Maintainability Issues',\n 'metric.maintainability_issues.description': 'Maintainability issues',\n 'metric.maintainability_issues.short_name': 'Maintainability',\n 'metric.reliability_issues.name': 'Reliability Issues',\n 'metric.reliability_issues.description': 'Reliability issues',\n 'metric.reliability_issues.short_name': 'Reliability',\n 'metric.security_issues.name': 'Security Issues',\n 'metric.security_issues.description': 'Security issues',\n 'metric.security_issues.short_name': 'Security',\n 'metric.new_maintainability_issues.name': 'New Maintainability Issues',\n 'metric.new_maintainability_issues.description': 'New maintainability issues',\n 'metric.new_maintainability_issues.short_name': 'New Maintainability',\n 'metric.new_reliability_issues.name': 'New Reliability Issues',\n 'metric.new_reliability_issues.description': 'New reliability issues',\n 'metric.new_reliability_issues.short_name': 'New Reliability',\n 'metric.new_security_issues.name': 'New Security Issues',\n 'metric.new_security_issues.description': 'New security issues',\n 'metric.new_security_issues.short_name': 'New Security',\n 'metric.software_quality_blocker_issues.description': 'Blocker Severity issues',\n 'metric.software_quality_blocker_issues.name': 'Blocker Severity Issues',\n 'metric.software_quality_high_issues.description': 'High Severity issues',\n 'metric.software_quality_high_issues.name': 'High Severity Issues',\n 'metric.software_quality_info_issues.description': 'Info Severity issues',\n 'metric.software_quality_info_issues.name': 'Info Severity Issues',\n 'metric.software_quality_medium_issues.description': 'Medium Severity issues',\n 'metric.software_quality_medium_issues.name': 'Medium Severity Issues',\n 'metric.software_quality_low_issues.description': 'Low Severity issues',\n 'metric.software_quality_low_issues.name': 'Low Severity Issues',\n 'metric.new_software_quality_blocker_issues.description': 'New Blocker Severity issues',\n 'metric.new_software_quality_blocker_issues.name': 'New Blocker Severity Issues',\n 'metric.new_software_quality_high_issues.description': 'New High Severity issues',\n 'metric.new_software_quality_high_issues.name': 'New High Severity Issues',\n 'metric.new_software_quality_info_issues.description': 'New Info Severity issues',\n 'metric.new_software_quality_info_issues.name': 'New Info Severity Issues',\n 'metric.new_software_quality_medium_issues.description': 'New Medium Severity issues',\n 'metric.new_software_quality_medium_issues.name': 'New Medium Severity Issues',\n 'metric.new_software_quality_low_issues.description': 'New Low Severity issues',\n 'metric.new_software_quality_low_issues.name': 'New Low Severity Issues',\n 'metric.software_quality_maintainability_issues.name': 'Maintainability Issues',\n 'metric.software_quality_maintainability_issues.short_name': 'Maintainability',\n 'metric.software_quality_maintainability_issues.description': 'Maintainability issues',\n 'metric.software_quality_reliability_issues.name': 'Reliability Issues',\n 'metric.software_quality_reliability_issues.short_name': 'Reliability',\n 'metric.software_quality_reliability_issues.description': 'Reliability issues',\n 'metric.software_quality_security_issues.name': 'Security Issues',\n 'metric.software_quality_security_issues.short_name': 'Security',\n 'metric.software_quality_security_issues.description': 'Security issues',\n 'metric.new_software_quality_maintainability_issues.name': 'New Maintainability Issues',\n 'metric.new_software_quality_maintainability_issues.description': 'New maintainability issues',\n 'metric.new_software_quality_reliability_issues.name': 'New Reliability Issues',\n 'metric.new_software_quality_reliability_issues.description': 'New reliability issues',\n 'metric.new_software_quality_security_issues.name': 'New Security Issues',\n 'metric.new_software_quality_security_issues.description': 'New security issues',\n\n //------------------------------------------------------------------------------\n //\n // PERMISSIONS\n //\n //------------------------------------------------------------------------------\n 'permission.assign_x_to_y': 'Assign permission {0} to {1}',\n\n //------------------------------------------------------------------------------\n //\n // GLOBAL PERMISSIONS\n //\n //------------------------------------------------------------------------------\n 'global_permissions.permission': 'Permission',\n 'global_permissions.users': 'Users',\n 'global_permissions.groups': 'Groups',\n 'global_permissions.administer': 'Administer',\n 'global_permissions.creator': 'Create',\n 'global_permissions.admin': 'Administer System',\n 'global_permissions.admin.desc':\n 'Ability to perform all administration functions for the instance.',\n 'global_permissions.profileadmin': 'Quality Profiles',\n 'global_permissions.profileadmin.desc': 'Ability to perform any action on Quality Profiles.',\n 'global_permissions.gateadmin': 'Quality Gates',\n 'global_permissions.gateadmin.desc': 'Ability to perform any action on quality gates.',\n 'global_permissions.scan': 'Execute Analysis',\n 'global_permissions.scan.desc':\n 'Ability to get all settings required to perform an analysis (including the secured settings like passwords) and to push analysis results to the {instance} server.',\n 'global_permissions.provisioning': 'Projects',\n 'global_permissions.provisioning.desc':\n 'Ability to initialize a project so its settings can be configured before the first analysis.',\n 'global_permissions.filter_by_x_permission': 'Filter by \"{0}\" permission',\n 'global_permissions.restore_access': 'Restore Access',\n 'global_permissions.restore_access.message':\n 'You will receive {browse} and {administer} permissions on the project. Do you want to continue?',\n 'global_permissions.applicationcreator': 'Applications',\n 'global_permissions.applicationcreator.desc': 'Ability to create an application.',\n 'global_permissions.portfoliocreator': 'Portfolios',\n 'global_permissions.portfoliocreator.desc': 'Ability to create a portfolio.',\n 'global_permissions.no_actions_available': 'No actions available',\n\n //------------------------------------------------------------------------------\n //\n // PROJECTS PERMISSIONS\n //\n //------------------------------------------------------------------------------\n 'projects_role.criteria.name': 'Name contains',\n 'projects_role.criteria.key': 'Key contains',\n 'projects_role.role': 'Role Membership For New',\n 'projects_role.groups': 'Groups',\n 'projects_role.admin': 'Administer',\n 'projects_role.admin.desc':\n 'Access project settings and perform administration tasks (for private projects, users also need the \"Browse\" permission)',\n 'projects_role.issueadmin': 'Administer Issues',\n 'projects_role.issueadmin.desc':\n 'Resolve issues as being \"fixed\", \"accepted\" or \"false positive\", as well as change issue severity. For private projects, users also need the \"Browse\" permission.',\n 'projects_role.securityhotspotadmin': 'Administer Security Hotspots',\n 'projects_role.securityhotspotadmin.desc':\n 'Resolve a Security Hotspot as reviewed (fixed or safe), reset it as to review (for private projects, users also need the \"Browse\" permission).',\n 'projects_role.user': 'Browse',\n 'projects_role.user.desc':\n 'Access a project, browse its measures and issues, confirm issues, change the assignee, comment on issues and change tags.',\n 'projects_role.codeviewer': 'See Source Code',\n 'projects_role.codeviewer.desc':\n 'View the project\\'s source code (for private projects, users also need the \"Browse\" permission)',\n 'projects_role.scan': 'Execute Analysis',\n 'projects_role.scan.desc':\n 'Ability to get all settings required to perform an analysis (including the secured settings like passwords) and to push analysis results to the {instance} server.',\n 'projects_role.bulk_change': 'Bulk Change',\n 'projects_role.apply_template': 'Apply Permission Template',\n 'projects_role.apply_template_to_x': 'Apply Permission Template To \"{0}\"',\n 'projects_role.apply_template.success': 'Permission template was successfully applied.',\n 'projects_role.no_projects':\n 'There are currently no results to apply the permission template to.',\n 'projects_role.turn_x_to_public': 'Turn \"{0}\" to Public',\n 'projects_role.turn_project_to_public.TRK': 'Turn Project to Public',\n 'projects_role.turn_project_to_public.VW': 'Turn Portfolio to Public',\n 'projects_role.turn_project_to_public.APP': 'Turn Application to Public',\n 'projects_role.are_you_sure_to_turn_project_to_public.TRK':\n 'Are you sure you want to turn your project to public?',\n 'projects_role.are_you_sure_to_turn_project_to_public.warning.TRK':\n 'Everybody will be able to browse and see the source code of your project.',\n 'projects_role.are_you_sure_to_turn_project_to_public.VW':\n 'Are you sure you want to turn your portfolio to public?',\n 'projects_role.are_you_sure_to_turn_project_to_public.warning.VW':\n 'Everybody will be able to browse it.',\n 'projects_role.are_you_sure_to_turn_project_to_public.APP':\n 'Are you sure you want to turn your application to public?',\n 'projects_role.are_you_sure_to_turn_project_to_public.warning.APP':\n 'Everybody will be able to browse it.',\n 'projects_role.public_projects_warning':\n 'This permission is always granted by default to everybody (anonymous and authenticated users) for public projects. Therefore, the selection made on this page will be applied to private projects only.',\n 'projects_role.applicationcreator': 'Create Applications',\n 'projects_role.applicationcreator.desc':\n 'Allow to create applications for non system administrator.',\n 'projects_role.portfoliocreator': 'Create Portfolios',\n 'projects_role.portfoliocreator.desc': 'Allow to create portfolios for non system administrator.',\n\n //------------------------------------------------------------------------------\n //\n // PERMISSION TEMPLATES\n //\n //------------------------------------------------------------------------------\n permission_templates: 'Permission Templates',\n 'permission_templates.page': 'Permission Templates',\n 'permission_templates.page.description':\n 'Manage templates of project permission sets. The default template will be applied to all new projects.',\n 'permission_templates.set_default': 'Set Default',\n 'permission_templates.set_default_for': 'Set Default For',\n 'permission_templates.provisioning_warning':\n 'Please note that permission templates will only affect non-{0} projects due to the enabled automatic provisioning via {0}.',\n 'permission_template.new_template': 'Create Permission Template',\n 'permission_template.delete_confirm_title': 'Delete Permission Template',\n 'permission_template.do_you_want_to_delete_template_xxx':\n 'Are you sure that you want to delete permission template \"{0}\"?',\n 'permission_template.edit_template': 'Edit Permission Template',\n 'permission_template.edit_permissions': 'Edit Permissions: {0}',\n 'permission_template.key_pattern': 'Project key pattern',\n 'permission_template.key_pattern.description': 'Should be a valid regular expression',\n 'permission_template.default_for': 'Default for {0}',\n 'permission_templates.project_creators': 'Creators',\n 'permission_templates.project_creators.explanation':\n 'When a new project, portfolio or application is created, the user who creates it will receive these permissions.',\n 'permission_templates.bulk_apply_permission_template': 'Bulk Apply Permission Template',\n 'permission_templates.bulk_apply_permission_template.apply_to_selected':\n \"You're about to apply the selected permission template to {0} selected item(s).\",\n 'permission_templates.bulk_apply_permission_template.apply_to_all':\n \"You're about to apply the selected permission template to {0} item(s).\",\n 'permission_templates.bulk_apply_permission_template.apply_to_managed_projects':\n \"You can't apply the selected permission template to the {0} {1} project(s).\",\n 'permission_templates.bulk_apply_permission_template.apply_to_only_managed_projects':\n \"You can't apply permission templates to {0} projects.\",\n 'permission_templates.select_to_delete': 'You must select at least one item',\n 'permission_templates.delete_selected': 'Delete all selected items',\n 'permission_templates.show_actions_for_x': 'Show actions for template {0}',\n\n //------------------------------------------------------------------------------\n //\n // Promotion\n //\n //------------------------------------------------------------------------------\n\n 'promotion.sonarlint.title': 'Get the most out of {productName}!',\n 'promotion.sonarlint.content':\n 'Take advantage of the whole ecosystem by using SonarQube for IDE, a free IDE plugin that helps you find and fix issues earlier in your workflow. Connect SonarQube for IDE to {productName} to sync rule sets and issue states.',\n\n //------------------------------------------------------------------------------\n //\n // Sonarlint\n //\n //------------------------------------------------------------------------------\n\n 'sonarlint-connection.request.title': 'Allow SonarQube for IDE connection?',\n 'sonarlint-connection.request.description':\n 'SonarQube for IDE for {ideName} is requesting access to {productName}.',\n 'sonarlint-connection.request.description2':\n 'Do you allow SonarQube for IDE to connect? This will create a token and share it with SonarQube for IDE.',\n 'sonarlint-connection.request.action': 'Allow connection',\n\n 'sonarlint-connection.token-error.title': 'Token generation failed',\n 'sonarlint-connection.token-error.description': '{productName} was not able to generate a token.',\n 'sonarlint-connection.token-error.description2':\n 'Go back to your IDE and start again, or go to the {link} of your {productName} account to create a new user token manually.',\n 'sonarlint-connection.token-error.description2.link': 'Security section',\n\n 'sonarlint-connection.connection-error.title': 'Token created',\n 'sonarlint-connection.connection-error.description': 'The following token was created:',\n 'sonarlint-connection.connection-error.token-name': 'Token name',\n 'sonarlint-connection.connection-error.token-value': 'Token value',\n 'sonarlint-connection.connection-error.next-steps': 'Next steps',\n 'sonarlint-connection.connection-error.step1': 'Copy the above token.',\n 'sonarlint-connection.connection-error.step2':\n 'Go back to your IDE and paste the token in SonarQube for IDE.',\n\n 'sonarlint-connection.success.title': 'SonarQube for IDE connection is almost ready!',\n 'sonarlint-connection.success.description':\n \"A new '{0}' token was created and sent to SonarQube for IDE in your IDE.\",\n 'sonarlint-connection.success.last-step': 'Last step',\n 'sonarlint-connection.success.step': 'Go back to your IDE to complete the setup.',\n\n 'sonarlint-connection.unspecified-ide': 'an unspecified IDE',\n\n 'sonarlint-connected-mode-doc': 'documentation about SonarQube for IDE Connected Mode',\n //------------------------------------------------------------------------------\n //\n // HELP\n //\n //------------------------------------------------------------------------------\n 'formatting.page': 'Formatting',\n 'formatting.helplink': 'Formatting Help',\n 'formatting.example.link': 'For a hyperlink, write: {example}',\n 'formatting.example.link.example': '[link label](https://www.domain.com)',\n\n //------------------------------------------------------------------------------\n //\n // KEYBOARD SHORTCUTS\n //\n //------------------------------------------------------------------------------\n 'keyboard_shortcuts_modal.title': 'Keyboard Shortcuts',\n 'keyboard_shortcuts_modal.disable_link': 'Disable shortcuts',\n 'keyboard_shortcuts_modal.global': ' Global',\n 'keyboard_shortcuts_modal.global.open_search_bar': ' Open search bar',\n 'keyboard_shortcuts_modal.global.open_keyboard_shortcuts_modal': ' Open keyboard shortcuts modal',\n 'keyboard_shortcuts_modal.navigate_between_issues': ' Navigate between issues',\n 'keyboard_shortcuts_modal.open_issue': ' Open issue',\n 'keyboard_shortcuts_modal.return_back_to_the_list': ' Return back to the list',\n 'keyboard_shortcuts_modal.do_issue_transition': ' Do an issue transition',\n 'keyboard_shortcuts_modal.assign_issue': ' Assign issue',\n 'keyboard_shortcuts_modal.assign_issue_to_me': ' Assign issue to me',\n 'keyboard_shortcuts_modal.change_tags_of_issue': ' Change tags of issue',\n 'keyboard_shortcuts_modal.select_an_issue': ' Select an issue',\n 'keyboard_shortcuts_modal.issues_page': ' Issues page',\n 'keyboard_shortcuts_modal.issue_details_page.navigate_issue_locations':\n ' To navigate issue locations',\n 'keyboard_shortcuts_modal.issue_details_page.switch_flows': ' To switch flows',\n 'keyboard_shortcuts_modal.issue_details_page.comment_an_issue': ' Comment an issue',\n 'keyboard_shortcuts_modal.issue_details_page.submit_comment': ' Submit comment',\n 'keyboard_shortcuts_modal.code_page': ' Code page',\n 'keyboard_shortcuts_modal.code_page.select_files': ' Select files',\n 'keyboard_shortcuts_modal.code_page.open_file': ' Open file',\n 'keyboard_shortcuts_modal.measures_page': ' Measures page',\n 'keyboard_shortcuts_modal.rules_page': ' Rules page',\n 'keyboard_shortcuts_modal.rules_page.navigate_between_rule': ' Navigate between rules',\n 'keyboard_shortcuts_modal.rules_page.open_rule': ' Open rule',\n\n //------------------------------------------------------------------------------\n //\n // DURATION\n //\n //------------------------------------------------------------------------------\n 'duration.seconds': 'less than a minute',\n 'duration.minute': 'about a minute',\n 'duration.minutes': '{0} minutes',\n 'duration.hour': 'about an hour',\n 'duration.hours': '{0} hours',\n 'duration.day': 'a day',\n 'duration.days': '{0} days',\n 'duration.month': 'about a month',\n 'duration.months': '{0} months',\n 'duration.year': 'about a year',\n 'duration.years': '{0} years',\n\n //------------------------------------------------------------------------------\n //\n // COMPONENT VIEWER\n //\n //------------------------------------------------------------------------------\n 'component_viewer.measure_section.unit_tests': 'Tests',\n\n 'component_viewer.transition.covers': 'Covers',\n 'component_viewer.transition.duplication': 'Duplicated By',\n\n 'component_viewer.tests.ordered_by': 'ordered by',\n 'component_viewer.tests.duration': 'duration',\n 'component_viewer.tests.test_name': 'name',\n 'component_viewer.tests.status': 'status',\n\n 'component_viewer.x_lines_are_covered': '{0} lines are covered',\n 'component_viewer.details': 'Details',\n 'component_viewer.show_raw_source': 'Show Raw Source',\n 'component_viewer.more_actions': 'More Actions',\n 'component_viewer.new_window': 'Open in New Window',\n 'component_viewer.open_in_workspace': 'Pin This File',\n 'component_viewer.open_in_workspace_X': 'Pin {0} File',\n 'component_viewer.copy_permalink': 'Click to copy permalink to clipboard',\n 'component_viewer.covered_lines': 'Covered Lines',\n 'component_viewer.show_details': 'Show Measures',\n 'component_viewer.file_measures': 'File measures',\n 'component_viewer.show_all_measures': 'Show all measures',\n 'component_viewer.no_component': 'The component has been removed or never existed.',\n 'component_viewer.copy_path_to_clipboard': 'Copy the file path to the clipboard',\n 'component_viewer.action_menu': 'File actions menu',\n\n 'source_viewer.view_all_issues': 'See all issues in this file',\n 'source_viewer.expand_all_lines': 'Show all lines of code',\n 'source_viewer.covered': 'Covered by the following tests',\n 'source_viewer.not_covered': 'Not covered by tests',\n 'source_viewer.conditions': 'conditions',\n 'source_viewer.line_X': 'Line: {0}',\n 'source_viewer.click_for_scm_info': 'Click to see SCM information for line {0}',\n 'source_viewer.author_X': 'Author: {0}',\n 'source_viewer.click_to_copy_filepath': 'Click to copy the filepath to clipboard',\n 'source_viewer.issue_link_x': '{count} {quality} {count, plural, one {issue} other {issues}}',\n 'source_viewer.jupyter.output.image': 'Output',\n 'source_viewer.jupyter.preview.error':\n 'Error while loading the Jupyter notebook. Use the Code tab to view raw.',\n\n 'source_viewer.tooltip.duplicated_line':\n 'This line is duplicated. Click to see duplicated blocks.',\n 'source_viewer.tooltip.duplicated_block': 'Duplicated block. Click for details.',\n 'source_viewer.tooltip.covered': 'Fully covered by tests.',\n 'source_viewer.tooltip.covered.conditions': 'Fully covered by tests ({0} conditions).',\n 'source_viewer.tooltip.partially-covered': 'Partially covered by tests.',\n 'source_viewer.tooltip.partially-covered.conditions':\n 'Partially covered by tests ({0} of {1} conditions).',\n 'source_viewer.tooltip.uncovered': 'Not covered by tests.',\n 'source_viewer.tooltip.uncovered.conditions': 'Not covered by tests ({0} conditions).',\n 'source_viewer.tooltip.no_information_about_tests':\n 'There is no extra information about test files.',\n 'source_viewer.tooltip.scm.commited_on': 'Committed on',\n 'source_viewer.tooltip.scm.revision': 'Revision',\n\n 'source_viewer.issues_on_line.multiple_issues':\n '{show, select, true {Show} other {Hide}} multiple issues on this line',\n 'source_viewer.issues_on_line.multiple_issues_same_category':\n '{show, select, true {Show} other {Hide}} {count} {category} {count, plural, one {issue} other {issues}} on this line',\n 'source_viewer.issues_on_line.multiple_issues_same_category.legacy':\n '{show, select, true {Show} other {Hide}} {count} {issueType} on this line',\n\n 'source_viewer.load_more_code': 'Load More Code',\n 'source_viewer.loading_more_code': 'Loading More Code...',\n\n 'source_viewer.expand_above': 'Show previous few lines of code',\n 'source_viewer.expand_below': 'Show next few lines of code',\n 'source_viewer.copy_permalink': 'Copy Permalink',\n 'source_viewer.copy_line': 'Copy Line',\n 'source_viewer.copied_to_clipboard': 'Copied to Clipboard',\n 'source_viewer.new_code': 'New Code',\n 'source_viewer.coverage.covered': 'Covered code',\n 'source_viewer.coverage.uncovered': 'Uncovered code',\n 'source_viewer.coverage.partially-covered': 'Partially covered code',\n //------------------------------------------------------------------------------\n //\n // WORKSPACE\n //\n //------------------------------------------------------------------------------\n 'workspace.minimize': 'Minimize',\n 'workspace.full_window': 'Expand to full window',\n 'workspace.normal_size': 'Collapse to normal size',\n 'workspace.close': 'Remove from the list of pinned files',\n 'workspace.no_rule': 'The rule has been removed or never existed.',\n\n //------------------------------------------------------------------------------\n //\n // MARKETPLACE\n //\n //------------------------------------------------------------------------------\n 'marketplace.page': 'Marketplace',\n 'marketplace.page.description':\n 'Discover the additional benefits offered in SonarQube Server Commercial Editions',\n 'marketplace.page.description_best_edition':\n 'This edition includes access to all the SonarQube Server-SonarQube for IDE Ecosystem features!',\n 'marketplace.page.you_are_running.community': 'You are currently running a Community Build.',\n 'marketplace.page.you_are_running.developer': 'You are currently running a Developer Edition.',\n 'marketplace.page.you_are_running.enterprise': 'You are currently running an Enterprise Edition.',\n 'marketplace.page.you_are_running.datacenter': 'You are currently running a Data Center Edition.',\n 'marketplace.page.plugins': 'Plugins',\n 'marketplace.page.plugins.description':\n 'Plugins available in the Marketplace are not provided or supported by SonarSource. Please reach out directly to their maintainers for support.',\n 'marketplace.page.plugins.description2':\n 'Installing a plugin is a manual operation. Please refer to the {link}.',\n 'marketplace.page.plugins.description2.link': 'documentation',\n 'marketplace.plugin_list.no_plugins.all': 'No installed plugins or updates available',\n 'marketplace.plugin_list.no_plugins.installed': 'No installed plugins',\n 'marketplace.plugin_list.no_plugins.updates': 'No plugin updates available',\n 'marketplace.instance_needs_to_be_restarted_to': '{instance} needs to be restarted in order to',\n 'marketplace.install_x_plugins': 'install {nb} plugins',\n 'marketplace.update_x_plugins': 'update {nb} plugins',\n 'marketplace.uninstall_x_plugins': 'uninstall {nb} plugins',\n 'marketplace.not_activated': 'Update Center is not activated.',\n 'marketplace.all': 'All',\n 'marketplace.installed': 'Installed',\n 'marketplace.updates_only': 'Updates Only',\n 'marketplace.restart': 'Restart',\n 'marketplace.revert': 'Revert',\n 'marketplace.install': 'Install',\n 'marketplace.upgrade_to_x': 'Upgrade to {0}',\n 'marketplace.downgrade_to_x': 'Downgrade to {0}',\n 'marketplace.installing': 'Installing...',\n 'marketplace.upgrade': 'Upgrade',\n 'marketplace.downgrade': 'Downgrade',\n 'marketplace.checking_license': 'Checking your license...',\n 'marketplace._installed': 'installed',\n 'marketplace.available_under_commercial_license': 'Available under our commercial editions',\n 'marketplace.learn_more': 'Learn more',\n 'marketplace.request_free_trial': 'Request a free trial',\n 'marketplace.homepage': 'Homepage',\n 'marketplace.issue_tracker': 'Issue Tracker',\n 'marketplace.licensed_under_x': 'Licensed under {license}',\n 'marketplace.developed_by_x': 'Developed by {organization}',\n 'marketplace.install_pending': 'Install Pending',\n 'marketplace.update_pending': 'Update Pending',\n 'marketplace.uninstall_pending': 'Uninstall Pending',\n 'marketplace.requires_restart': 'This requires a restart',\n 'marketplace.updates': 'Updates',\n 'marketplace.update_status.COMPATIBLE': 'Compatible',\n 'marketplace.update_status.INCOMPATIBLE': 'Incompatible',\n 'marketplace.update_status.REQUIRES_SYSTEM_UPGRADE': 'Requires system update',\n 'marketplace.update_status.DEPS_REQUIRE_SYSTEM_UPGRADE':\n 'Some of dependencies requires system update',\n 'marketplace.installing_this_plugin_will_also_install_x':\n 'Installing this plugin will also install: {0}',\n 'marketplace.show_plugin_changelog': 'See {0} {1} changelog',\n 'marketplace.update_to_x': 'Update to {0}',\n 'marketplace.uninstall': 'Uninstall',\n 'marketplace.i_accept_the': 'I accept the',\n 'marketplace.terms_and_conditions': 'Terms and Conditions',\n 'marketplace.release_notes': 'Release Notes',\n 'marketplace.how_to_setup_cluster_url':\n 'Further configuration is required to set up a cluster. See {url} documentation.',\n 'marketplace.search': 'Search by features, tags, or categories...',\n\n 'marketplace.risk_consent.title': 'Installation of plugins',\n 'marketplace.risk_consent.description':\n 'Plugins are not provided by SonarSource and are therefore installed at your own risk. SonarSource disclaims all liability for installing and using such plugins.',\n 'marketplace.risk_consent.installation':\n 'You can install plugins directly from the list below after you acknowledge the risk.',\n 'marketplace.risk_consent.action': 'I understand the risk',\n\n 'plugin_risk_consent.page': 'Plugin risk consent',\n 'plugin_risk_consent.title': 'Installation of plugins',\n 'plugin_risk_consent.description': 'A plugin has been detected.',\n 'plugin_risk_consent.description2':\n 'Plugins are not provided by SonarSource and are therefore installed at your own risk. SonarSource disclaims all liability for installing and using such plugins.',\n 'plugin_risk_consent.action': 'I understand the risk',\n\n //------------------------------------------------------------------------------\n //\n // BACKGROUND TASKS\n //\n //------------------------------------------------------------------------------\n 'component_navigation.status.failed': 'The last background task has failed.',\n 'component_navigation.status.failed_X': 'The {type} has failed.',\n 'component_navigation.status.failed.admin.link':\n 'The last background task has failed. More details available on the {url} page.',\n 'component_navigation.status.failed_X.admin.link':\n 'The {type} has failed. More details available on the {url} page.',\n 'component_navigation.status.failed.admin.help':\n 'The last background task has failed. You can find more details below by clicking on the cog menu, and then \"{stacktrace}\".',\n 'component_navigation.status.failed_X.admin.help':\n 'The {type} has failed. You can find more details below by clicking on the cog menu, and then \"{stacktrace}\".',\n 'component_navigation.status.failed_branch':\n 'The last analysis on this project ({branch}) failed.',\n 'component_navigation.status.failed_branch_X':\n 'The last {type} on this project ({branch}) failed.',\n 'component_navigation.status.failed_branch.admin.link':\n 'The last analysis on this project ({branch}) failed. More details available on the {url} page.',\n 'component_navigation.status.failed_branch_X.admin.link':\n 'The last {type} on this project ({branch}) failed. More details available on the {url} page.',\n 'component_navigation.status.failed_branch.admin.help':\n 'The last analysis on this project ({branch}) failed. You can find more details below by clicking on the cog menu, and then \"{stacktrace}\".',\n 'component_navigation.status.failed_branch_X.admin.help':\n 'The last {type} on this project ({branch}) failed. You can find more details below by clicking on the cog menu, and then \"{stacktrace}\".',\n 'component_navigation.status.pending': 'There is a pending background task.',\n 'component_navigation.status.pending_X': 'There is a pending {type}.',\n 'component_navigation.status.pending.admin.link':\n 'There is a pending background task. More details available on the {url} page.',\n 'component_navigation.status.pending_X.admin.link':\n 'There is a pending {type}. More details available on the {url} page.',\n 'component_navigation.status.pending.admin.help': 'There is a pending background task.',\n 'component_navigation.status.pending_X.admin.help': 'There is a pending {type}.',\n 'component_navigation.status.in_progress': 'A background task is in progress.',\n 'component_navigation.status.in_progress_X': 'The {type} is in progress.',\n 'component_navigation.status.in_progress.admin.link':\n 'A background task is in progress. More details available on the {url} page.',\n 'component_navigation.status.in_progress_X.admin.link':\n 'The {type} is in progress. More details available on the {url} page.',\n 'component_navigation.status.in_progress.admin.help': 'A background task is in progress.',\n 'component_navigation.status.in_progress_X.admin.help': 'The {type} is in progress.',\n 'component_navigation.status.last_blocked_due_to_bad_license_X':\n 'Last analysis blocked due to an invalid license, which has since been corrected. Please reanalyze this {0}.',\n\n 'component_navigation.pr_deco.error_detected_X':\n \"We've detected an issue with your configuration. Your {productName} instance won't be able to perform any pull request decoration. {action}\",\n 'component_navigation.pr_deco.action.check_project_settings':\n 'Please check your project settings.',\n 'component_navigation.pr_deco.action.contact_project_admin':\n 'Please contact your project administrator.',\n\n 'background_task.status.ALL': 'All',\n 'background_task.status.PENDING': 'Pending',\n 'background_task.status.IN_PROGRESS': 'In Progress',\n 'background_task.status.SUCCESS': 'Success',\n 'background_task.status.FAILED': 'Failed',\n 'background_task.status.CANCELED': 'Canceled',\n 'background_task.status.ALL_EXCEPT_PENDING': 'All Except Pending',\n\n 'background_task.type.ALL': 'All',\n 'background_task.type.REPORT': 'Project Analysis',\n 'background_task.type.DEV_REFRESH': 'Developer Analysis',\n 'background_task.type.DEV_PURGE': 'Developer Cleaning',\n 'background_task.type.ISSUE_SYNC': 'Project Data Reload',\n 'background_task.type.APP_REFRESH': 'Application Recomputation',\n 'background_task.type.PROJECT_EXPORT': 'Project Export',\n 'background_task.type.PROJECT_IMPORT': 'Project Import',\n 'background_task.type.AUDIT_PURGE': 'Audit Log Purge',\n 'background_task.type.REPORT_SUBMIT': 'Report Email Submit',\n 'background_task.type.GITHUB_AUTH_PROVISIONING': 'GitHub Provisioning',\n 'background_task.type.GITHUB_PROJECT_PERMISSIONS_PROVISIONING': 'GitHub Project Permission Sync',\n 'background_task.type.GITLAB_AUTH_PROVISIONING': 'GitLab Provisioning',\n 'background_task.type.GITLAB_PROJECT_PERMISSIONS_PROVISIONING': 'Gitlab Project Permission Sync',\n\n 'background_tasks.page': 'Background Tasks',\n 'background_tasks.page.description':\n 'This page allows monitoring of the queue of tasks running asynchronously on the server. It also gives access to the history of finished tasks and their status. Analysis report processing is the most common kind of background task. Learn more about <link>Background Tasks</link>.',\n\n 'background_tasks.currents_filter.ONLY_CURRENTS': 'Only Latest Analysis',\n\n 'background_tasks.date_filter': 'Date',\n 'background_tasks.date_filter.ALL': 'Any Date',\n 'background_tasks.date_filter.TODAY': 'Today',\n 'background_tasks.date_filter.CUSTOM': 'Custom',\n\n 'background_tasks.table.status': 'Status',\n 'background_tasks.table.task': 'Task',\n 'background_tasks.table.id': 'ID',\n 'background_tasks.table.submitted': 'Submitted',\n 'background_tasks.table.submitter': 'Submitter',\n 'background_tasks.table.started': 'Started',\n 'background_tasks.table.finished': 'Finished',\n 'background_tasks.table.duration': 'Duration',\n 'background_tasks.table.nodeName': 'Node',\n\n 'background_tasks.filter_by_component_x': 'Filter by Component \"{0}\"',\n 'background_tasks.cancel_task': 'Cancel Task',\n 'background_tasks.cancel_task.text': 'Are you sure you want to cancel this pending task?',\n 'background_tasks.cancel_all_tasks': 'Cancel All Pending Tasks',\n 'background_tasks.cancel_all_tasks.text': 'Are you sure you want to cancel all pending tasks?',\n 'background_tasks.cancel_all_tasks.submit': 'Cancel All',\n 'background_tasks.scanner_context': 'Scanner Context',\n 'background_tasks.show_scanner_context': 'Show Scanner Context',\n 'background_tasks.show_actions_for_task_x_in_list': 'Show actions for task in row {0}',\n 'background_tasks.show_stacktrace': 'Show Error Details',\n 'background_tasks.show_warnings': 'Show Warnings',\n 'background_tasks.error_message': 'Error Message',\n 'background_tasks.error_stacktrace.title': 'Error Details: {project} [{type}]',\n 'background_tasks.error_stacktrace': 'Error Details',\n 'background_tasks.pending': 'pending',\n 'background_tasks.pending_time': 'pending time',\n 'background_tasks.pending_time.description':\n 'Pending time of the oldest background task waiting to be processed.',\n 'background_tasks.failures': 'still failing',\n 'background_tasks.date_and_time': '{date} - {time}',\n 'background_tasks.submitted_by_x': 'By {submitter}',\n\n 'background_tasks.number_of_workers': 'Number of Workers:',\n 'background_tasks.number_of_workers.warning':\n 'Configuring additional workers without first vertically scaling your server could have negative performance impacts.',\n 'background_tasks.change_number_of_workers': 'Edit CE Workers',\n 'background_tasks.change_number_of_workers.hint':\n 'If your queue backs up behind the analysis reports from large projects, increasing the number of Compute Engine workers will allow you to take full advantage of having configured increased Compute Engine memory on a multi-core server (vertical scaling).',\n 'background_tasks.add_more_workers': 'Speed up analysis with parallel processing',\n 'background_tasks.add_more_workers.text':\n 'Configure multiple workers for parallel processing of analysis reports in Enterprise Edition.',\n 'background_tasks.search_by_task_or_component': 'Search by Task or Component',\n 'background_tasks.failing_count':\n 'Count of projects where processing of most recent analysis report failed',\n 'background_tasks.retry_failed_tasks':\n 'Some projects data reload failed. Refer to the <link>documentation</link> for steps to retry.',\n\n //------------------------------------------------------------------------------\n //\n // Project Dump\n //\n //------------------------------------------------------------------------------\n 'project_dump.page': 'Import / Export',\n 'project_dump.page.description1':\n 'Moving a project from one {productName} instance to another is a 3 step operation:',\n 'project_dump.page.description2':\n 'Export the project, copy the generated dump on the target server, and finally import that dump from this page on the target {productName} instance.',\n 'project_dump.page.description_without_import1':\n 'Export project issues, measures and measure history for import into an Enterprise Edition or higher instance of the same version and similar configuration. The export file will be generated to the file system. It must then be copied to the target file system for import.',\n 'project_dump.page.description_without_import2':\n 'The export file will be generated to the file system. It must then be copied to the target file system for import.',\n 'project_dump.refresh': 'Refresh',\n 'project_dump.see_details': 'See Details',\n 'project_dump.export': 'Export',\n 'project_dump.do_export': 'Export Project',\n 'project_dump.can_not_export':\n 'This project cannot be exported as no analysis has been run so far.',\n 'project_dump.pending_export': 'Export was scheduled on {0}, waiting to be processed.',\n 'project_dump.in_progress_export': 'Export is in progress, started {0}.',\n 'project_dump.failed_export': 'The last export failed. Please try once again.',\n 'project_dump.latest_export_available':\n 'Latest project dump was generated on {0}. It can be found on the server, in the following directory:',\n 'project_dump.export_available':\n 'Project dump was generated. It can be found on the server, in the following directory:',\n 'project_dump.export_form_description':\n 'Export the project to the file system. The export file will need to be manually copied to the target filesystem.',\n 'project_dump.import': 'Import',\n 'project_dump.do_import': 'Import Project',\n 'project_dump.import_success': 'The project has been successfully imported on {0}.',\n 'project_dump.can_not_import':\n 'This project can not be imported because it already contains some data.',\n 'project_dump.no_file_to_import':\n 'This project can not be imported because the dump file is not found.',\n 'project_dump.pending_import': 'Import was scheduled on {0}, waiting to be processed.',\n 'project_dump.in_progress_import': 'Import is in progress, started {0}.',\n 'project_dump.failed_import': 'The last import has failed. Please try once again.',\n 'project_dump.import_form_description':\n 'A dump has been found on the file system for this project. You can import it by clicking on the button below.',\n 'project_dump.import_form_description_disabled':\n 'Projects cannot be imported. This feature is only available starting from Enterprise Edition.',\n\n //------------------------------------------------------------------------------\n //\n // SYSTEM\n //\n //------------------------------------------------------------------------------\n 'system.application_nodes_title': 'Application Nodes',\n 'system.are_you_sure_to_restart':\n 'Are you sure you want to restart the server? The restart will first wait for ongoing background tasks to complete.',\n 'system.cluster_log_level.info':\n 'Your selection affect all Application nodes but not the Search nodes.',\n 'system.copy_id_info': 'Copy ID information',\n 'system.current_health_of_x': 'Current health status of {0}',\n 'system.current_health.green': 'Status is up',\n 'system.current_health.yellow': 'Status is starting',\n 'system.current_health.red': 'Status is down',\n 'system.download_logs': 'Download Logs',\n 'system.download_system_info': 'Download System Info',\n 'system.download_x': 'Download {0}',\n 'system.forcing_shutdown_not_recommended':\n 'Forcing the shutdown is not recommended and can interrupt the processing of analysis reports.',\n 'system.hide_intermediate_versions': 'Hide intermediate versions',\n 'system.how_to_upgrade': 'How to upgrade?',\n 'system.latest_version': 'Latest Version',\n 'system.latest_patch': 'Patch Release',\n 'system.lta_version': 'Latest LTA Version',\n 'system.log_level.warning':\n 'This level has performance impacts, please make sure to get back to INFO level once your investigation is done. Please note that when the server is restarted, logging will revert to the level configured in sonar.properties.',\n 'system.log_level.warning.short':\n 'Current logs level has performance impacts, get back to INFO level.',\n 'system.log_level.info': 'Your selection does not affect the Search Engine.',\n 'system.logs_level': 'Logs level',\n 'system.logs_level.change': 'Change logs level',\n 'system.new_version_available': 'A new version of {productName} is available.',\n 'system.restart_does_not_reload_sonar_properties':\n 'Also note that a restart will not reload the sonar.properties file.',\n 'system.see_whats_new': \"See what's new!\",\n 'system.release_notes': 'Release Notes',\n 'system.released_x': 'Released {0}',\n 'system.restart_in_progress': 'Restart in progress',\n 'system.restart_server': 'Restart Server',\n 'system.instance_restarting': '{instance} restart is in progress. Ongoing {link} are completing.',\n 'system.search_nodes_title': 'Search Nodes',\n 'system.see_sonarqube_downloads': 'See All {productName} Downloads',\n 'system.not_production_database_warning':\n 'This server ID is valid only for the embedded database, which should be considered disposable. Consider configuring an external database for long-term use prior to requesting your license.',\n 'system.server_id': 'Server ID',\n 'system.set_log_level': 'Set logs level',\n 'system.show_intermediate_versions': 'Show intermediate versions',\n 'system.system_upgrade': 'New update available',\n 'system.version': 'Version',\n 'system.version_is_availble': '{version} is available',\n\n //------------------------------------------------------------------------------\n //\n // OVERVIEW\n //\n //------------------------------------------------------------------------------\n 'overview.X_conditions_failed':\n '{conditions} {conditions, plural, one {failed condition} other {failed conditions}}',\n 'overview.failed_condition.x_rating_required': '{rating} is {value}. Required {threshold}',\n 'overview.failed_condition.x_required': '{metric}. Required {threshold}',\n 'overview.fix_failed_conditions_with_sonarlint':\n 'Fix issues before they fail your Quality Gate with {link}. Power up with connected mode!',\n 'overview.new_issues': 'New issues',\n 'overview.pull_request.fixed_issues': 'Fixed issues',\n 'overview.pull_request.fixed_issues.help': 'Estimation of issues fixed by this PR',\n 'overview.pull_request.fixed_issues.disclaimer':\n 'Only issues fixed on the files modified by the pull request are taken into account. Issues incidentally fixed on unmodified files are not counted.',\n 'overview.pull_request.fixed_issues.disclaimer.2':\n 'When the pull request and the target branch are not synchronized, issues introduced on the target branch may be incorrectly considered fixed by the pull request. Rebasing the pull request would give an updated value.',\n 'overview.accepted_issues.help': 'Valid issues that were not fixed',\n 'overview.quality_gate': 'Quality Gate',\n 'overview.quality_gate_x': 'Quality Gate: {0}',\n 'overview.quality_gate.help':\n \"A Quality Gate is a set of measure-based Boolean conditions. It helps you know immediately whether your project is production-ready. If your current status is not Passed, you'll see which measures caused the problem and the values required to pass.\",\n 'overview.quality_gate_failed_with_x': 'with {0} errors',\n 'overview.quality_gate_code_clean': 'Your code is clean!',\n 'overview.you_should_define_quality_gate': 'You should define a quality gate on this project.',\n 'overview.quality_gate.ignored_conditions':\n 'Some Quality Gate conditions on New Code were ignored because of the small number of New Lines',\n 'overview.quality_gate.ignored_conditions.tooltip':\n \"At the start of a new code period, if very few lines have been added or modified, it might be difficult to reach the desired level of code coverage or duplications. To prevent Quality Gate failure when there's little that can be done about it, Quality Gate conditions about duplications in new code and coverage on new code are ignored until the number of new lines is at least 20. An administrator can disable this in the general settings.\",\n 'overview.quality_gate.conditions_on_new_code':\n 'Only conditions on new code that are defined in the Quality Gate are checked. See the {link} associated to the project for details.',\n 'overview.quality_gate.conditions.cayc.warning.title.APP':\n 'Some projects are not ready for Clean as You Code',\n 'overview.quality_gate.conditions.cayc.warning.title.TRK':\n 'This project is not ready for Clean as You Code',\n 'overview.quality_gate.conditions.cayc.details.APP':\n 'The quality gate used by these projects can be improved to enable Clean as You Code:',\n 'overview.quality_gate.conditions.cayc.details.TRK':\n 'The quality gate used by this project can be improved to enable Clean as You Code.',\n 'overview.quality_gate.conditions.cayc.details_with_link':\n 'The {link} used by this project can be improved to enable Clean as You Code.',\n 'overview.quality_gate.conditions.non_cayc.warning.link': 'quality gate',\n 'overview.quality_gate.conditions.cayc.link': 'Learn more',\n 'overview.quality_gates.conditions.condition_simplification_tour.title':\n 'One condition, zero issues',\n 'overview.quality_gates.conditions.condition_simplification_tour.content':\n '<p>One single condition in <link>{qualityGateName} quality gate</link> ensures that new code has no issues.</p><p>Every issue in new code must be resolved for a project to pass this quality gate.</p>',\n 'overview.quality_gate.show_project_conditions_x': 'Show failed conditions for project {0}',\n 'overview.quality_gate.hide_project_conditions_x': 'Hide failed conditions for project {0}',\n 'overview.quality_gate.coverage': 'Coverage',\n 'overview.quality_gate.duplications': 'Duplications',\n 'overview.new_coverage.on_x_new_lines': 'On {link} New Lines to cover.',\n 'overview.coverage.on_x_new_lines': 'On {link} lines to cover.',\n 'overview.new_duplicated_lines_density.on_x_new_lines': 'On {link} New Lines.',\n 'overview.duplicated_lines_density.on_x_new_lines': 'On {link} lines.',\n 'overview.quality_gate.require_fixing': '{count, plural, one {requires} other {require}} fixing',\n 'overview.quality_gate.require_reviewing':\n '{count, plural, one {requires} other {require}} reviewing',\n 'overview.quality_gate.required_x': 'Required {operator} {requirement}',\n 'overview.quality_gate.required_x_reviewed': 'Required review: {requirement}',\n 'overview.quality_profiles': 'Quality Profiles used',\n 'overview.new_code_period_x': 'New Code: {0}',\n 'overview.max_new_code_period_from_x': 'Max New Code from: {0}',\n 'overview.started_x': 'Started {0}',\n 'overview.set_as_homepage': 'Set as homepage',\n 'overview.new_code': 'New Code',\n 'overview.overall_code': 'Overall Code',\n 'overview.last_analysis_x': 'Last analysis {date}',\n 'overview.previous_analysis_x': 'Previous analysis was {0}',\n 'overview.started_on_x': 'Started on {0}',\n 'overview.previous_analysis_on_x': 'Previous analysis on {0}',\n 'overview.on_new_code': 'On New Code',\n 'overview.on_new_code_long': 'Conditions on New Code',\n 'overview.see_list_of_x_y_issues': 'See the list of {0} {1}',\n 'overview.see_more_details_on_x_of_y': 'See more details on {0} of {1}',\n 'overview.see_more_details_on_x_y': 'See more details on {0} {1}',\n 'overview.metric_not_computed': 'Not computed',\n 'overview.about_this_portfolio': 'About This Portfolio',\n 'overview.about_this_project.APP': 'About This Application',\n 'overview.about_this_project.TRK': 'About This Project',\n 'overview.project_activity.APP': 'Application Activity',\n 'overview.project_activity.TRK': 'Project Activity',\n 'overview.project_activity.click_to_see': 'Click to see project activity',\n 'overview.external_links': 'External Links',\n 'overview.project_key.APP': 'Application Key',\n 'overview.project_key.TRK': 'Project Key',\n 'overview.project_key.click_to_copy': 'Click to copy the key to your clipboard',\n 'overview.activity': 'Activity',\n 'overview.activity.graph_shows_data_for_x':\n 'This graph shows historical data for {0}. Click on the \"Activity\" link below to see more information.',\n 'overview.recent_activity': 'Recent Activity',\n 'overview.accepted_issues': 'Accepted issues',\n 'overview.accepted_issues.description':\n 'Issues that are valid, but were not fixed and represent accepted technical debt.',\n 'overview.accepted_issues.total': 'Total accepted issues',\n 'overview.high_impact_accepted_issues': 'Blocker and High Severity Accepted Issues',\n 'overview.measures.empty_explanation':\n 'Measures on New Code will appear after the second analysis of this branch.',\n 'overview.measures.empty_link': '{learn_more_link} about the Clean as You Code approach.',\n 'overview.measures.same_reference.explanation':\n 'This branch is configured to use itself as a reference branch. It will never have New Code.',\n 'overview.measures.bad_reference.explanation':\n 'This branch could not be compared to its reference branch. See the SCM or analysis report for more details.',\n 'overview.measures.bad_setting.link': 'This can be fixed in the {setting_link} setting.',\n 'overview.measures.security_hotspots_reviewed': 'Reviewed',\n 'overview.measures.software_impact.total_open_issues': 'Open issues',\n 'overview.measures.software_impact.count_tooltip':\n 'Issues in code can impact multiple Software Qualities, so the sum of impacts tends to be greater than the total amount of issues.',\n 'overview.measures.software_impact.see_list_of_x_open_issues':\n 'See the list of {count} open {softwareQuality} issues',\n 'overview.measures.software_impact.severity.see_x_open_issues':\n 'See {count} open {softwareQuality} issues with {severity} severity',\n 'overview.measures.software_impact.severity.HIGH': 'H',\n 'overview.measures.software_impact.severity.HIGH.tooltip': 'High Impact',\n 'overview.measures.software_impact.severity.HIGH.improve_tooltip': 'high',\n 'overview.measures.software_impact.severity.MEDIUM': 'M',\n 'overview.measures.software_impact.severity.MEDIUM.tooltip': 'Medium Impact',\n 'overview.measures.software_impact.severity.MEDIUM.improve_tooltip': 'medium',\n 'overview.measures.software_impact.severity.LOW': 'L',\n 'overview.measures.software_impact.severity.LOW.tooltip': 'Low Impact',\n 'overview.measures.software_impact.severity.LOW.improve_tooltip': 'low',\n 'overview.measures.software_impact.improve_rating_tooltip':\n 'The {softwareQuality} rating is {ratingLabel} when there is at least one issue with {severity} impact on the {_softwareQuality} of your software.',\n 'overview.measures.software_impact.improve_rating_tooltip.A':\n 'The {softwareQuality} rating is {ratingLabel} when there are no issues above info severity with impact on the {_softwareQuality} of your software.',\n 'overview.measures.software_impact.improve_rating_tooltip.MAINTAINABILITY':\n 'The Maintainability rating is {ratingLabel} if the code has a relatively higher level of technical debt when compared to the size of the codebase.',\n 'overview.measures.software_impact.improve_rating_tooltip.MAINTAINABILITY.A':\n 'The Maintainability rating is A if the code has a relatively lower level of technical debt when compared to the size of the codebase.',\n\n 'overview.project.no_lines_of_code': 'This project has no lines of code.',\n 'overview.project.empty': 'This project is empty.',\n 'overview.project.branch_X_no_lines_of_code': 'The \"{0}\" branch has no lines of code.',\n 'overview.project.branch_X_empty': 'The \"{0}\" branch of this project is empty.',\n 'overview.project.main_branch_no_lines_of_code': 'The main branch has no lines of code.',\n 'overview.project.main_branch_empty': 'The main branch of this project is empty.',\n 'overview.project.branch_needs_new_analysis':\n 'The branch data is incomplete. Run a new analysis to update it.',\n 'overview.project.last_analysis.date_time': 'Last analysis started on {0}',\n 'overview.project.next_steps.set_up_pr_deco_and_ci.admin':\n \"To benefit from more of {productName}'s features, {link_ci} and set up DevOps platform integration in your {link_project_settings}.\",\n 'overview.project.next_steps.set_up_pr_deco_and_ci':\n \"To benefit from more of {productName}'s features, {link_ci} and ask a project administrator to set up DevOps platform integration.\",\n 'overview.project.next_steps.set_up_pr_deco.admin':\n \"To benefit from more of {productName}'s features, set up DevOps platform integration in your {link_project_settings}.\",\n 'overview.project.next_steps.set_up_pr_deco':\n \"To benefit from more of {productName}'s features, ask a project administrator to set up DevOps platform integration.\",\n 'overview.project.next_steps.set_up_ci':\n \"To benefit from more of {productName}'s features, {link}.\",\n 'overview.project.next_steps.links.project_settings': 'project settings',\n 'overview.project.next_steps.links.set_up_ci': 'set up analysis in your favorite CI',\n 'overview.project.software_impact.has_rating':\n 'Software Quality {softwareQuality} has rating {rating}',\n 'overview.run_analysis_to_compute.TRK': 'Run new analysis to compute the missing data.',\n 'overview.run_analysis_to_compute.APP': 'Analyse all projects to compute the missing data.',\n 'overview.missing_project_data':\n 'The calculation of counts and ratings for security, reliability, and maintainability has changed, which may impact this {qualifier, select, VW {portfolio after all projects are analyzed} APP {application after all projects are analyzed} other {project after the next analysis}}. <link>Learn more in SonarQube documentation</link>',\n\n 'overview.coverage_on': 'Coverage on',\n 'overview.coverage_on_X_lines': 'Coverage on {count} Lines to cover',\n 'overview.coverage_on_X_new_lines': 'Coverage on {count} New Lines to cover',\n 'overview.duplications_on': 'Duplications on',\n 'overview.duplications_on_X_lines': 'Duplications on {count} Lines',\n 'overview.duplications_on_X_new_lines': 'Duplications on {count} New Lines',\n\n 'overview.period.previous_version': 'Since {0}',\n\n // Old periods, necessary to display project that haven't been analyzed with new setting (MMF-1579)\n 'overview.period.previous_version_only_date': 'Since previous version',\n 'overview.period.previous_analysis': 'Since previous analysis',\n 'overview.period.days': 'Last {0} days',\n 'overview.period.version': 'Since {0}',\n 'overview.period.date': 'After {0}',\n 'overview.period.manual_baseline': 'Since {0}',\n\n // New periods (MMF-1579)\n 'overview.period.number_of_days': 'From last {0} days',\n 'overview.period.specific_analysis': 'Since {0}',\n 'overview.period.reference_branch': 'Compared to {0}',\n\n 'overview.failed.badge': '{counter} failed',\n 'overview.gate.ERROR': 'Failed',\n 'overview.gate.WARN': 'Warning',\n 'overview.gate.OK': 'Passed',\n 'overview.gate.view.no_alert': 'The view has passed the quality gate.',\n 'overview.gate.view.warnings':\n 'The view has warnings on the following quality gate conditions: {0}.',\n 'overview.gate.view.errors': 'The view failed the quality gate on the following conditions: {0}.',\n\n 'overview.measurement_type.DUPLICATION': 'Duplications',\n 'overview.measurement_type.COVERAGE': 'Coverage',\n\n 'overview.measures.failed_badge': 'Failed',\n\n 'overview.complexity_tooltip.function': '{0} functions have complexity around {1}',\n 'overview.complexity_tooltip.file': '{0} files have complexity around {1}',\n\n 'overview.deprecated_profile':\n 'This Quality Profile uses {0} deprecated rules and should be updated.',\n 'overview.deleted_profile': '{0} has been deleted since the last analysis.',\n 'overview.link_to_x_profile_y': 'Go to {0} profile \"{1}\"',\n\n 'overview.sonarlint_ad.header':\n 'Catch issues before they fail your Quality Gate with our IDE extension, SonarQube for IDE',\n 'overview.sonarlint_ad.details_1': 'The power of Sonar analyzers directly as you type',\n 'overview.sonarlint_ad.details_2': 'No need to wait for your PR to pass all checks',\n 'overview.sonarlint_ad.details_3': 'Repair flagged issues in real-time with quick fixes',\n 'overview.sonarlint_ad.details_4':\n \"12 major IDE's supported (including key JetBrains and Microsoft IDE's\",\n 'overview.sonarlint_ad.details_5': 'Free forever',\n 'overview.sonarlint_ad.learn_more': 'Learn more about SonarQube for IDE',\n 'overview.sonarlint_ad.close_promotion': 'Close SonarQube for IDE promotion',\n\n 'overview.badges.get_badge': 'Badges',\n 'overview.badges.title': 'Get project badges',\n 'overview.badges.description.TRK':\n 'Show the status of your project metrics on your README or website. Pick your style:',\n 'overview.badges.description.VW':\n 'Show the status of your portfolio metrics on your README or website. Pick your style:',\n 'overview.badges.description.APP':\n 'Show the status of your application metrics on your README or website. Pick your style:',\n 'overview.badges.metric': 'Customize badge',\n 'overview.badges.format': 'Code format',\n 'overview.badges.options.colors.white': 'White',\n 'overview.badges.options.colors.black': 'Black',\n 'overview.badges.options.colors.orange': 'Orange',\n 'overview.badges.options.formats.md': 'Markdown',\n 'overview.badges.options.formats.url': 'Image URL only',\n 'overview.badges.measure.alt':\n 'This is an image of a standard badge that displays the current status of {metric} of your project.',\n 'overview.badges.measure.description.TRK':\n 'Displays the current status of one metric of your project.',\n 'overview.badges.measure.description.VW':\n 'Displays the current status of one metric of your portfolio.',\n 'overview.badges.measure.description.APP':\n 'Displays the current status of one metric of your application.',\n 'overview.badges.quality_gate': 'Quality Gate',\n 'overview.badges.quality_gate.alt':\n 'This is an image of a quality gate badge that displays the current quality gate status of your project.',\n 'overview.badges.quality_gate.description':\n 'Displays the current quality gate status of your project.',\n 'overview.badges.quality_gate.description.APP':\n 'Displays the current quality gate status of your application.',\n 'overview.badges.quality_gate.description.TRK':\n 'Displays the current quality gate status of your project.',\n 'overview.badges.quality_gate.description.VW':\n 'Displays the current quality gate status of your portfolio.',\n 'overview.badges.ai_code_assurance': 'AI Code Assurance',\n 'overview.badges.ai_code_assurance.alt':\n \"This is an image of an AI Code Assurance badge that displays the current status of Sonar's AI Code Assurance.\",\n 'overview.badges.ai_code_assurance.description':\n \"Displays the current status of Sonar's AI Code Assurance.\",\n 'overview.badges.ai_code_assurance.description.TRK':\n \"Displays the current status of Sonar's AI Code Assurance of your project.\",\n 'overview.badges.leak_warning':\n 'Project badges can expose your security rating and other measures. Only use project badges in trusted environments.',\n 'overview.badges.renew': 'Renew Token',\n 'overview.badges.renew.description':\n 'If your project badge security token has leaked to an unsafe environment, you can renew it:',\n 'overview.badges.copy_snippet': 'Copy the snippet for your selected badge',\n\n 'overview.quality_profiles_update_after_sq_upgrade.message':\n 'Upgrade to {productName} {sqVersion} has updated your Quality Profiles. Issues on your project may have been affected. {link}',\n 'overview.quality_profiles_update_after_sq_upgrade.link': 'See more details',\n\n 'overview.activity.variations.new_analysis': 'New analysis:',\n 'overview.activity.variations.first_analysis': 'First analysis:',\n\n 'overview.promoted_section.title': 'Don’t let issues accumulate. Discover ‘Clean as You Code’!',\n 'overview.promoted_section.content':\n 'Learn how to improve your code base by cleaning only new code.',\n 'overview.promoted_section.button_primary': 'Take the Tour',\n 'overview.promoted_section.button_secondary': 'Not now',\n 'overview.promoted_section.button_tooltip':\n 'Learn how to improve your code base by cleaning only new code.',\n\n 'overview.ai_assurance.unsolved_overall.title': 'Unresolved findings in overall code',\n 'overview.ai_assurance.unsolved_overall.description':\n 'Some unresolved findings in this branch’s overall code may represent a risk. We recommend reviewing these findings before releasing the branch.',\n 'overview.ai_assurance.unsolved_overall.dismiss': 'Dismiss unresolved overall code findings',\n\n 'guiding.cayc_promotion.1.title': 'The power of new code',\n 'guiding.cayc_promotion.1.content.1':\n 'Cleaning only new code is easier and guarantees no debt will be added. As you change old code, it also gets cleaner over time. We call this ‘Clean as You Code’.',\n 'guiding.cayc_promotion.2.title': 'Define your new code',\n 'guiding.cayc_promotion.2.content.1':\n 'Your team or organization decides when a new code period for your project should start, for example, each time a project is released.',\n 'guiding.cayc_promotion.3.title': 'Green is clean',\n 'guiding.cayc_promotion.3.content.1':\n 'Quality Gate Status tells you if your new code is clean or not. Keep it green as often as possible, and your project will be production-ready.',\n 'guiding.cayc_promotion.4.title': 'Clean at all levels',\n 'guiding.cayc_promotion.4.content.1':\n 'With SonarQube for IDE, clean code as you write it in your {value}.',\n 'guiding.cayc_promotion.4.content.2':\n 'When a feature is ready, analyze your {value} (commercial edition only) and make sure no issue is missed.',\n 'guiding.cayc_promotion.4.content.3':\n 'Finally, rely on a thorough {value} analysis to ensure the new code is clean.',\n 'guiding.replay_tour_button.1.title': 'Replay tour',\n 'guiding.replay_tour_button.tour_completed.1.title': 'Tour complete!',\n 'guiding.replay_tour_button.1.content': 'You can replay this product tour any time here.',\n\n //------------------------------------------------------------------------------\n //\n // WS API\n //\n //------------------------------------------------------------------------------\n 'api_documentation.domain_nav': 'Web API domains navigation',\n 'api_documentation.internal_tooltip':\n 'Use at your own risk; internal services are subject to change or removal without notice.',\n 'api_documentation.page': 'Web API',\n 'api_documentation.page.v2': 'Web API v2',\n 'api_documentation.show_deprecated': 'Show Deprecated API',\n 'api_documentation.show_deprecated.learn_more': 'Learn more about Web API deprecation',\n 'api_documentation.show_internal': 'Show Internal API',\n 'api_documentation.show_internal_v2': 'Show Internal',\n 'api_documentation.possible_values': 'Possible values',\n 'api_documentation.default_values': 'Default value',\n 'api_documentation.example_values': 'Example value',\n 'api_documentation.max_values': 'Maximum allowed values',\n 'api_documentation.min_value': 'Minimum value',\n 'api_documentation.max_value': 'Maximum value',\n 'api_documentation.min_length': 'Minimum length',\n 'api_documentation.max_length': 'Maximum length',\n 'api_documentation.internal': 'internal',\n 'api_documentation.deprecated': 'deprecated',\n 'api_documentation.deprecated_since_x': 'deprecated since {since}',\n 'api_documentation.parameters': 'Parameters',\n 'api_documentation.response_example': 'Response Example',\n 'api_documentation.changelog': 'Changelog',\n 'api_documentation.search': 'Search by name...',\n 'api_documentation.v2.search': 'Search API...',\n 'api_documentation.v2.parameter_header': 'Request',\n 'api_documentation.v2.response_header': 'Response',\n 'api_documentation.v2.request_subheader.query': 'Query Parameters',\n 'api_documentation.v2.request_subheader.path': 'Path Parameters',\n 'api_documentation.v2.request_subheader.header': 'Headers',\n 'api_documentation.v2.request_subheader.request_body': 'Request Body',\n 'api_documentation.v2.request_subheader.request_content_type': 'Content-Type:',\n 'api_documentation.v2.enum_description': 'Valid values: {values}',\n\n //------------------------------------------------------------------------------\n //\n // CODE\n //\n //------------------------------------------------------------------------------\n 'code.ai_badge_tooltip.application':\n 'This application contains project(s) with AI-generated code.',\n 'code.ai_badge_tooltip.project': 'This project contains AI-generated code.',\n 'code.ai_badge_tooltip.sub_portfolio':\n 'This nested portfolio contains project(s) with AI-generated code.',\n 'code.aica_disabled_projects': 'Projects without AI Code Assurance enabled',\n 'code.aica_disabled_projects.tooltip':\n \"Projects in this portfolio that do not use Sonar's AI Code Assurance feature.\",\n 'code.aica_enabled_projects': 'AI Code Assurance enabled projects',\n 'code.aica_enabled_projects.tooltip':\n \"Projects in this portfolio that contain AI-generated code and benefit from Sonar's AI Code Assurance.\",\n 'code.open_component_page': \"Open Component's Page\",\n 'code.search_placeholder': 'Search for files...',\n 'code.search_placeholder.application': 'Search for projects...',\n 'code.search_placeholder.portfolio': 'Search for projects and sub-portfolios...',\n 'code.parent_folder': 'Parent folder',\n 'code.last_analysis_date': 'Last analysis',\n 'code.name': 'Name',\n 'code.pin': 'Pin file',\n\n //------------------------------------------------------------------------------\n //\n // COMPONENT MEASURES\n //\n //------------------------------------------------------------------------------\n 'component_measures.details_are_not_available':\n 'Details are not available for estimated measures.',\n 'component_measures.domain_x_overview': '{0} Overview',\n 'component_measures.domain_overview': 'Overview',\n 'component_measures.items': 'items',\n 'component_measures.tab.tree': 'Tree',\n 'component_measures.tab.list': 'List',\n 'component_measures.show_metric_history': 'Show history of this metric',\n 'component_measures.tab.treemap': 'Treemap',\n 'component_measures.view_as': 'View as',\n 'component_measures.legend.color': 'Color:',\n 'component_measures.legend.size': 'Size:',\n 'component_measures.legend.worse_of_x_y': 'Worse of {0} and {1}',\n 'component_measures.legend.help_x': 'Click to toggle visibility for data with rating {0}.',\n 'component_measures.legend.only_first_500_files': 'Only showing data for the first 500 files',\n 'component_measures.no_history': \"There isn't enough data to generate an activity graph.\",\n 'component_measures.not_found': 'The requested measure was not found.',\n 'component_measures.empty': 'No measures.',\n 'component_measures.select_files': 'Select files',\n 'component_measures.navigate': 'Navigate',\n 'component_measures.to_select_files': 'to select files',\n 'component_measures.to_navigate': 'to navigate',\n 'component_measures.to_navigate_files': 'to next/previous file',\n 'component_measures.hidden_best_score_metrics':\n 'There are {0} hidden components with a score of {1}.',\n 'component_measures.hidden_best_score_metrics_show_label': 'Show hidden components',\n 'component_measures.navigation': 'Measures navigation',\n 'component_measures.skip_to_navigation': 'Skip to measure navigation',\n 'component_measures.see_metric_history': 'See history',\n 'component_measures.leak_legend.new_code': 'New Code:',\n 'component_measures.awaiting_analysis.name': 'Issues',\n 'component_measures.leak_awaiting_analysis.name': 'Issues',\n\n 'component_measures.overview.project_overview.subnavigation': 'Project Overview',\n 'component_measures.overview.project_overview.title': 'Risk',\n 'component_measures.overview.project_overview.description':\n 'Get quick insights into the operational risks. For users relying on their keyboard, elements are sorted by the number of lines of code for each file. Any color but green indicates immediate risks: Bugs or Vulnerabilities that should be examined. A position at the top or right of the graph means that the longer-term health may be at risk. Green bubbles at the bottom-left are best.',\n 'component_measures.overview.Reliability.description':\n \"See bugs' operational risks. For users relying on their keyboard, elements are sorted by volume of bugs per file. The closer a bubble's color is to red, the more severe the worst bugs are. Bubble size indicates bug volume, and each bubble's vertical position reflects the estimated time to address the bugs. Small green bubbles on the bottom edge are best.\",\n 'component_measures.overview.Security.description':\n \"See vulnerabilities' operational risks. For users relying on their keyboard, elements are sorted by volume of vulnerabilities per file. The closer a bubble's color is to red, the more severe the worst vulnerabilities are. Bubble size indicates vulnerability volume, and each bubble's vertical position reflects the estimated time to address the vulnerabilities. Small green bubbles on the bottom edge are best.\",\n 'component_measures.overview.Maintainability.description':\n \"See code smells' long-term risks. For users relying on their keyboard, elements are sorted by the volume of code smells for each file. The closer a bubble's color is to red, the higher the ratio of technical debt is. Bubble size indicates code smell volume, and each bubble's vertical position reflects the estimated time to address the code smells. Small green bubbles on the bottom edge are best.\",\n 'component_measures.overview.Coverage.description':\n \"See missing test coverage's long-term risks. For users relying on their keyboard, elements are sorted by volume of uncovered lines per file. Bubble size indicates the volume of uncovered lines, and each bubble's vertical position reflects the volume of missing coverage. Small bubbles on the bottom edge are best.\",\n 'component_measures.overview.Duplications.description':\n \"See duplications' long-term risks. For users relying on their keyboard, elements are sorted by the number of duplicated blocks per file. Bubble size indicates the volume of duplicated blocks, and each bubble's vertical position reflects the volume of lines in those blocks. Small bubbles on the bottom edge are best.\",\n 'component_measures.overview.see_data_as_list': 'See the data presented on this chart as a list',\n\n 'component_measures.domain_subnavigation.Reliability.help':\n 'Issues in this domain mark code where you will get behavior other than what was expected.',\n 'component_measures.domain_subnavigation.Maintainability.help':\n 'Issues in this domain mark code that will be more difficult to update competently than it should.',\n 'component_measures.domain_subnavigation.Security.help':\n 'Issues in this domain mark potential weaknesses to hackers.',\n 'component_measures.domain_subnavigation.SecurityReview.help':\n 'This domain represents potential security risks in the form of hotspots and their review status.',\n 'component_measures.domain_subnavigation.Complexity.help':\n 'How simple or complicated the control flow of the application is. Cyclomatic Complexity measures the minimum number of test cases required for full test coverage. Cognitive Complexity is a measure of how difficult the application is to understand',\n\n 'component_measures.subnavigation_category.new_code_category': 'New Code',\n 'component_measures.subnavigation_category.overall_category': 'Overall Code',\n 'component_measures.subnavigation_category.tests_category': 'Tests',\n\n 'component_measures.facet_category.overall_category.estimated': 'Estimated after merge',\n 'component_measures.bubble_chart.zoom_level':\n 'Current zoom level. Scroll on the chart to zoom or unzoom, click here to reset.',\n 'component_measures.not_all_measures_are_shown': 'Not all projects and applications are included',\n 'component_measures.not_all_measures_are_shown.help':\n 'You do not have access to all projects and/or applications. Measures are still computed based on all projects and applications.',\n\n 'component_measures.metric.new_security_issues.name': 'Issues',\n 'component_measures.metric.new_software_quality_security_issues.name': 'Issues',\n 'component_measures.metric.new_security_issues.detailed_name': 'New Issues',\n 'component_measures.metric.new_software_quality_security_issues.detailed_name': 'New Issues',\n 'component_measures.metric.new_vulnerabilities.name': 'Vulnerabilities',\n 'component_measures.metric.new_vulnerabilities.detailed_name': 'New Vulnerabilities',\n 'component_measures.metric.new_reliability_issues.name': 'Issues',\n 'component_measures.metric.new_software_quality_reliability_issues.name': 'Issues',\n 'component_measures.metric.new_reliability_issues.detailed_name': 'New Issues',\n 'component_measures.metric.new_software_quality_reliability_issues.detailed_name': 'New Issues',\n 'component_measures.metric.new_maintainability_issues.name': 'Issues',\n 'component_measures.metric.new_software_quality_maintainability_issues.name': 'Issues',\n 'component_measures.metric.new_maintainability_issues.detailed_name': 'New Issues',\n 'component_measures.metric.new_software_quality_maintainability_issues.detailed_name':\n 'New Issues',\n 'component_measures.metric.new_code_smells.name': 'Code Smells',\n 'component_measures.metric.new_code_smells.detailed_name': 'New Code Smells',\n 'component_measures.metric.new_violations.name': 'Open Issues',\n 'component_measures.metric.new_violations.detailed_name': 'New Open Issues',\n 'component_measures.metric.new_accepted_issues.name': 'Accepted Issues',\n 'component_measures.metric.new_accepted_issues.detailed_name': 'New Accepted Issues',\n 'component_measures.metric.new_bugs.name': 'Bugs',\n 'component_measures.metric.new_bugs.detailed_name': 'New Bugs',\n 'component_measures.metric.security_issues.name': 'Issues',\n 'component_measures.metric.software_quality_security_issues.name': 'Issues',\n 'component_measures.metric.vulnerabilities.name': 'Vulnerabilities',\n 'component_measures.metric.reliability_issues.name': 'Issues',\n 'component_measures.metric.software_quality_reliability_issues.name': 'Issues',\n 'component_measures.metric.bugs.name': 'Bugs',\n 'component_measures.metric.maintainability_issues.name': 'Issues',\n 'component_measures.metric.software_quality_maintainability_issues.name': 'Issues',\n 'component_measures.metric.code_smells.name': 'Code Smells',\n 'component_measures.metric.violations.name': 'Open Issues',\n 'component_measures.metric.accepted_issues.name': 'Accepted Issues',\n 'component_measures.metric.confirmed_issues.name': 'Confirmed Issues',\n 'component_measures.metric.false_positive_issues.name': 'False Positive Issues',\n //------------------------------------------------------------------------------\n //\n // DOCS\n //\n //------------------------------------------------------------------------------\n 'docs.documentation': 'Documentation',\n 'docs.get_help': 'Get Help',\n 'docs.roadmap': 'Product Roadmap',\n 'docs.news': 'Product News',\n 'docs.stay_connected': 'Stay Connected',\n 'docs.suggestion': 'Suggestions For This Page',\n\n //------------------------------------------------------------------------------\n //\n // GLOBAL FOOTER\n //\n //------------------------------------------------------------------------------\n 'footer.community': 'Community',\n 'footer.contact_us': 'Contact us',\n 'footer.documentation': 'Documentation',\n 'footer.help': 'Help',\n 'footer.license.lgplv3': 'LGPL v3',\n 'footer.license.sqs': 'SonarQube Server Terms & Conditions',\n 'footer.news': 'News',\n 'footer.plugins': 'Plugins',\n 'footer.pricing': 'Pricing',\n 'footer.privacy': 'Privacy',\n 'footer.security': 'Security',\n 'footer.status': 'Status',\n 'footer.terms': 'Terms',\n 'footer.version.full': 'v{version}{status}',\n 'footer.version.short': 'v{version}',\n 'footer.version.status': '{status}',\n 'footer.version.status.active': 'ACTIVE',\n 'footer.version.status.inactive': 'NO LONGER ACTIVE',\n 'footer.web_api': 'Web API',\n 'footer.mode.STANDARD': 'Standard Experience',\n 'footer.mode.MQR': 'MQR Mode',\n\n //------------------------------------------------------------------------------\n //\n // NEW CODE DEFINITION\n //\n //------------------------------------------------------------------------------\n 'new_code_definition.question': 'Choose the baseline for new code for this project',\n 'new_code_definition.question.multiple_projects':\n 'Choose the baseline for new code for those projects',\n 'new_code_definition.global_setting': 'Use the global setting',\n 'new_code_definition.specific_setting': 'Define a specific setting for this project',\n 'new_code_definition.specific_setting.multiple_projects':\n 'Define a specific setting for your projects',\n\n 'new_code_definition.previous_version': 'Previous version',\n 'new_code_definition.previous_version.usecase':\n 'Recommended for projects following regular versions or releases.',\n 'new_code_definition.previous_version.description':\n 'Any code that has changed since the previous version is considered new code.',\n\n 'new_code_definition.number_days': 'Number of days',\n 'new_code_definition.number_days.specify_days': 'Specify a number of days',\n 'new_code_definition.number_days.usecase':\n 'Recommended for projects following continuous delivery.',\n 'new_code_definition.number_days.description':\n 'Any code that has changed in the last x days is considered new code. If no action is taken on a new issue after x days, this issue will become part of the overall code.',\n 'new_code_definition.number_days.invalid': 'Please provide a whole number between {0} and {1}',\n\n 'new_code_definition.reference_branch': 'Reference branch',\n 'new_code_definition.reference_branch.description':\n 'Choose a branch as the baseline for the new code.',\n 'new_code_definition.reference_branch.usecase':\n 'Recommended for projects using feature branches.',\n 'new_code_definition.reference_branch.notice':\n 'The main branch will be set as the reference branch when the project is created. You will be able to choose another branch as the reference branch when your project will have more branches.',\n\n 'new_code_definition.auto_update.branch.message':\n 'The new code definition of the following branch(es) was automatically changed on {date}, following a {productName} upgrade, as it was exceeding the maximum value: {branchesList} {link}',\n 'new_code_definition.auto_update.branch.list_item':\n '{branchName}: Number of days was changed from {previousDays} to {days}.',\n 'new_code_definition.auto_update.global.message':\n 'The global new code definition was automatically changed from {previousDays} to {days} days on {date}, following a {productName} upgrade, as it was exceeding the maximum value. {link}',\n 'new_code_definition.auto_update.ncd_page.message':\n 'The number of days was automatically changed from {previousDays} to {days} on {date}, following a {productName} upgrade, as it was exceeding the maximum value. {link}',\n 'new_code_definition.auto_update.project.message':\n \"This project's new code definition was automatically changed from {previousDays} to {days} days on {date}, following a {productName} upgrade, as it was exceeding the maximum value. {link}\",\n 'new_code_definition.auto_update.review_link': 'Review new code definition',\n\n //------------------------------------------------------------------------------\n //\n // ONBOARDING\n //\n //------------------------------------------------------------------------------\n 'onboarding.alm.azure': 'Azure DevOps',\n 'onboarding.alm.bitbucket': 'Bitbucket Server',\n 'onboarding.alm.bitbucketcloud': 'Bitbucket Cloud',\n 'onboarding.alm.gitlab': 'GitLab',\n\n 'onboarding.project_analysis.header': 'Analyze your project',\n 'onboarding.project_analysis.description':\n \"We initialized your project on {productName}, now it's up to you to launch analyses!\",\n 'onboarding.project_analysis.guide_to_integrate_pipelines':\n 'follow the guide to integrating with Pipelines',\n\n 'onboarding.create_project.manual.step1': '1 of 2',\n 'onboarding.create_project.manual.step2': '2 of 2',\n 'onboarding.create_project.manual.title': 'Create a local project',\n 'onboarding.create_project.select_method': 'How do you want to create your project?',\n 'onboarding.create_project.select_method.manually':\n 'Are you just testing or have an advanced use-case? Create a local project.',\n 'onboarding.create_project.select_method.devops_platform':\n \"Do you want to benefit from all of {productName}'s features (like repository import and Pull Request decoration)?\",\n 'onboarding.create_project.select_method.devops_platform_second':\n 'Create your project from your favorite DevOps platform.',\n\n 'onboarding.create_project.select_method.no_alm_yet.admin':\n 'First, you need to set up a DevOps platform configuration.',\n 'onboarding.create_project.select_method.manual': 'Local project',\n 'onboarding.create_project.select_method.azure': 'From Azure DevOps',\n 'onboarding.create_project.select_method.bitbucket': 'From Bitbucket Server',\n 'onboarding.create_project.select_method.bitbucketcloud': 'From Bitbucket Cloud',\n 'onboarding.create_project.select_method.github': 'From GitHub',\n 'onboarding.create_project.select_method.gitlab': 'From GitLab',\n 'onboarding.create_project.import_select_method.manual': 'Create a local project',\n 'onboarding.create_project.import_select_method.azure': 'Import from Azure DevOps',\n 'onboarding.create_project.import_select_method.bitbucket': 'Import from Bitbucket Server',\n 'onboarding.create_project.import_select_method.bitbucketcloud': 'Import from Bitbucket Cloud',\n 'onboarding.create_project.import_select_method.github': 'Import from GitHub',\n 'onboarding.create_project.import_select_method.gitlab': 'Import from GitLab',\n 'onboarding.create_project.alm_not_configured':\n 'Contact your admin to set up the global configuration allowing you to import project from this DevOps Platform',\n 'onboarding.create_project.check_alm_supported': 'Checking if available',\n 'onboarding.create_project.project_key': 'Project key',\n 'onboarding.create_project.project_key.duplicate_key': 'The project key name is already taken.',\n 'onboarding.create_project.project_key.wrong_format':\n \"The provided value doesn't match the expected format.\",\n 'onboarding.create_project.project_key.description':\n \"The project key is a unique identifier for your project. It may contain up to 400 characters. Allowed characters are alphanumeric, '-' (dash), '_' (underscore), '.' (period) and ':' (colon), with at least one non-digit.\",\n 'onboarding.create_project.project_key.error.empty': 'You must provide at least one character.',\n 'onboarding.create_project.project_key.error.too_long': 'The provided key is too long.',\n 'onboarding.create_project.project_key.error.invalid_char':\n 'The provided key contains invalid characters.',\n 'onboarding.create_project.project_key.error.only_digits':\n 'The provided key contains only digits.',\n 'onboarding.create_project.display_name': 'Project display name',\n 'onboarding.create_project.display_name.description':\n 'Up to 255 characters. Some scanners might override the value you provide.',\n\n 'onboarding.create_project.main_branch_name': 'Main branch name',\n 'onboarding.create_project.main_branch_name.description':\n 'The name of your project’s default branch { learn_more }',\n\n 'onboarding.create_project.pr_decoration.information':\n 'Local projects won’t benefit from the features associated with DevOps Platforms integration unless you configure them in the project settings.',\n 'onboarding.create_project.repository_imported': 'Already imported',\n 'onboarding.create_project.import': 'Import',\n 'onboarding.create_project.see_project': 'See the project',\n 'onboarding.create_project.search_projects_by_name': 'Search for project name starting with...',\n 'onboarding.create_project.search_repositories_by_name':\n 'Search for repository name starting with...',\n 'onboarding.create_project.search_mode': 'Search for',\n 'onboarding.create_project.search_mode.project': 'Project',\n 'onboarding.create_project.search_mode.repository': 'Repository',\n 'onboarding.create_project.search_projects_repositories': 'Search for projects and repositories',\n 'onboarding.create_project.search_repositories': 'Search for a repository',\n 'onboarding.create_project.select_repositories': 'Select repositories',\n 'onboarding.create_project.select_all_repositories': 'Select all available repositories',\n\n 'onboarding.create_application.key.description':\n 'If specified, this value is used as the key instead of generating it from the name of the Application. Only letters, digits, dashes and underscores can be used.',\n 'onboarding.create_project.pat_form.title': 'Grant access to your repositories',\n 'onboarding.create_project.pat_form.help.azure':\n '{productName} needs a personal access token to access and list your repositories from Azure DevOps.',\n 'onboarding.create_project.pat_form.help.bitbucket':\n '{productName} needs a personal access token to access and list your repositories from Bitbucket Server.',\n 'onboarding.create_project.pat_form.help.bitbucket_cloud':\n '{productName} needs an app password to access and list your repositories from Bitbucket Cloud.',\n 'onboarding.create_project.pat_form.help.gitlab':\n '{productName} needs a personal access token to access and list your projects from GitLab.',\n 'onboarding.create_project.pat_form.pat_required': 'Please enter a personal access token',\n 'onboarding.create_project.wrong_binding_count':\n 'You must have at least 1 {alm} instance configured in order to use this method, but none were found. Either create a local project, or contact your system administrator.',\n 'onboarding.create_project.wrong_binding_count.admin':\n 'You must have at least 1 {alm} instance configured in order to use this method. You can configure instances under {url}.',\n 'onboarding.create_project.azure.no_url.admin':\n 'Your Azure DevOps instance configuration is missing a URL. We cannot import projects in the current state. You can configure instances under {url}.',\n 'onboarding.create_project.azure.no_url':\n 'Your Azure DevOps instance configuration is missing a URL. We cannot import projects in the current state. Please contact your system administrator.',\n 'onboarding.create_project.enter_pat': 'Personal Access Token',\n 'onboarding.create_project.bitbucket_cloud.enter_password': 'App password',\n 'onboarding.create_project.bitbucket_cloud.enter_username': 'BitBucket username',\n 'onboarding.create_project.pat_incorrect.azure': \"Your personal access couldn't be validated.\",\n 'onboarding.create_project.pat_incorrect.bitbucket':\n \"Your personal access couldn't be validated.\",\n 'onboarding.create_project.pat_incorrect.bitbucket_cloud':\n \"Your app password couldn't be validated.\",\n 'onboarding.create_project.pat_incorrect.gitlab':\n \"Your personal access couldn't be validated. Please make sure it has the right scope and that it is not expired.\",\n 'onboarding.create_project.pat.expired.info_message':\n 'You have to do this again as your token may have expired or has been revoked.',\n 'onboarding.create_project.pat.expired.info_message_contact':\n 'If this does not fix the issue, please contact your system administrator.',\n\n 'onboarding.create_project.pat_help.instructions.azure':\n 'To create a Personal Access Token on Azure, {link} and make sure to select the “Code (Read & Write)” scope.',\n 'onboarding.create_project.pat_help.instructions.link.azure': 'generate a token',\n\n 'onboarding.create_project.pat_help.instructions.gitlab':\n 'To create a Personal Access Token on GitLab, {link} by setting a name, for example “{productName}” and selecting the “read_api” scope.',\n 'onboarding.create_project.pat_help.instructions.gitlab.link': 'generate a token',\n\n 'onboarding.enter_username.instructions.bitbucket_cloud':\n 'You can find your username in your {link}',\n 'onboarding.enter_username.instructions.bitbucket_cloud.link': 'BitBucket profile settings',\n\n 'onboarding.create_project.enter_password.instructions.bitbucket_cloud':\n 'To create an app password on BitBucket, {link} by setting a name, for example “{productName}” and selecting the “Repositories: Read” permissions.',\n 'onboarding.create_project.enter_password.instructions.bitbucket_cloud.link':\n 'add an app password',\n\n 'onboarding.create_project.pat_help.instructions.bitbucket_server':\n 'To create a Personal Access Token on BitBucket Server, go to {link} and click on “Create token”. Set a name, for example “{productName}” and select the following permissions “Projects: Read” “Repositories: Read”.',\n 'onboarding.create_project.pat_help.instructions.bitbucket_server.link': 'HTTP access tokens',\n\n 'onboarding.create_project.pat_help.instructions2.bitbucket':\n 'Set a name, for example \"{productName}\", and select the following permissions:',\n 'onboarding.create_project.pat_help.instructions2.bitbucketcloud':\n 'Set a name, for example \"{productName}\", and select the following permissions:',\n\n 'onboarding.create_project.pat_help.instructions2.gitlab':\n 'Set a name, for example \"{productName}\", and select the following scope:',\n 'onboarding.create_project.pat_help.gitlab.read_api_permission': 'read_api',\n\n 'onboarding.create_project.no_bbs_projects':\n 'No projects could be fetched from Bitbucket Server. Contact your system administrator, or {link}.',\n 'onboarding.create_project.no_bbs_repos':\n 'No repositories were found for this project. Contact your system administrator, or {link}.',\n 'onboarding.create_project.update_your_token': 'update your personal access token',\n 'onboarding.create_project.no_bbs_repos.filter': 'No repositories match your filter.',\n 'onboarding.create_project.only_showing_X_first_repos':\n \"We're only displaying the first {0} repositories. If you're looking for a repository that's not in this list, use the search above.\",\n 'onboarding.create_project.see_on': 'See on {almName}',\n\n 'onboarding.create_project.search_prompt': 'Search for projects',\n 'onboarding.create_project.set_up': 'Set up',\n 'onboarding.create_project.subtitle_monorepo_setup_link': 'set up a monorepo',\n 'onboarding.create_project.azure.title': 'Azure project onboarding',\n 'onboarding.create_project.azure.subtitle': 'Import projects from one of your Azure projects',\n 'onboarding.create_project.azure.subtitle.with_monorepo':\n 'Import projects from one of your Azure projects or {monorepoSetupLink}.',\n 'onboarding.create_project.azure.no_projects':\n 'No projects could be fetched from Azure DevOps. Contact your system administrator, or {link}.',\n 'onboarding.create_project.azure.search_results_for_project_X': 'Search results for \"{0}\"',\n 'onboarding.create_project.azure.no_repositories':\n 'Could not fetch repositories for this project. Contact your system administrator, or {link}.',\n 'onboarding.create_project.azure.no_results': 'No repositories match your search query.',\n 'onboarding.create_project.bitbucketcloud.title': 'Bitbucket Cloud project onboarding',\n 'onboarding.create_project.bitbucketcloud.subtitle':\n 'Import projects from one of your Bitbucket Cloud workspaces',\n 'onboarding.create_project.bitbucketcloud.subtitle.with_monorepo':\n 'Import projects from one of your Bitbucket Cloud workspaces or {monorepoSetupLink}.',\n 'onboarding.create_project.bitbucketcloud.no_projects':\n 'No projects could be fetched from Bitbucket. Contact your system administrator, or {link}.',\n 'onboarding.create_project.bitbucketcloud.link': 'See on Bitbucket',\n 'onboarding.create_project.github.title': 'GitHub project onboarding',\n 'onboarding.create_project.github.subtitle':\n 'Import repositories from one of your GitHub organizations.',\n 'onboarding.create_project.github.subtitle.with_monorepo':\n 'Import repositories from one of your GitHub organizations or {monorepoSetupLink}.',\n 'onboarding.create_project.github.choose_organization': 'Choose an organization',\n 'onboarding.create_project.github.choose_repository': 'Choose the repository',\n 'onboarding.create_project.github.warning.message':\n 'Could not connect to GitHub. Please contact an administrator to configure GitHub integration.',\n 'onboarding.create_project.github.warning.message_admin':\n 'Could not connect to GitHub. Please make sure the GitHub instance is correctly configured in the {link} to create a new project from a repository.',\n 'onboarding.create_project.github.warning.message_admin.link':\n 'DevOps Platform integration settings',\n 'onboarding.create_project.github.no_orgs':\n \"We couldn't load any organizations with your key. Contact an administrator.\",\n 'onboarding.create_project.github.no_orgs_admin':\n \"We couldn't load any organizations. Make sure the GitHub App is installed in at least one organization and check the GitHub instance configuration in the {link}.\",\n 'onboarding.create_project.github.no_projects':\n 'No projects could be fetched from GitHub. Contact your system administrator.',\n 'onboarding.create_project.gitlab.title': 'GitLab project onboarding',\n 'onboarding.create_project.gitlab.subtitle': 'Import projects from one of your GitLab groups',\n 'onboarding.create_project.gitlab.subtitle.with_monorepo':\n 'Import projects from one of your GitLab groups or {monorepoSetupLink}.',\n 'onboarding.create_project.gitlab.no_projects':\n 'No projects could be fetched from GitLab. Contact your system administrator, or {link}.',\n 'onboarding.create_project.gitlab.link': 'See on GitLab',\n 'onboarding.create_project.bitbucket.title': 'Bitbucket Server project onboarding',\n 'onboarding.create_project.bitbucket.subtitle':\n 'Import projects from one of your Bitbucket server workspaces',\n 'onboarding.create_project.bitbucket.subtitle.with_monorepo':\n 'Import projects from one of your Bitbucket server workspaces or {monorepoSetupLink}.',\n 'onboarding.create_project.x_repositories_selected':\n '{count} {count, plural, one {repository} other {repositories}} selected',\n 'onboarding.create_project.x_repository_created':\n '{count} {count, plural, one {repository} other {repositories}} will be created as {count, plural, one {a project} other {projects}} in {productName}',\n 'onboarding.create_project.please_dont_leave':\n 'If you leave the page the import could fail. Are you sure you want to leave?',\n 'onboarding.create_project.import_in_progress':\n '{count} of {total} projects imported. Please do not close this page until the import is complete.',\n\n 'onboarding.create_project.monorepo.title': '{almName} monorepo project onboarding',\n 'onboarding.create_project.monorepo.subtitle':\n 'Create multiple {productName} projects corresponding to the same monorepo and bound to the same repository.',\n 'onboarding.create_project.monorepo.doc_link': 'Learn more and get help setting up your monorepo',\n 'onboarding.create_project.monorepo.choose_organization_and_repository':\n 'Choose the organization and the repository',\n 'onboarding.create_project.monorepo.choose_dop_setting': 'Choose the {almKey} configuration',\n 'onboarding.create_project.monorepo.choose_organization': 'Choose the organization',\n 'onboarding.create_project.monorepo.choose_organization.placeholder': 'List of organizations',\n 'onboarding.create_project.monorepo.choose_repository': 'Choose the repository',\n 'onboarding.create_project.monorepo.choose_repository.placeholder': 'List of repositories',\n 'onboarding.create_project.monorepo.choose_repository.no_already_bound_projects':\n 'This repository has no imported projects in {productName}',\n 'onboarding.create_project.monorepo.choose_repository.existing_already_bound_projects':\n \"This repository has already been imported, and it's linked to these projects in {productName}:\",\n 'onboarding.create_project.monorepo.no_orgs':\n \"We couldn't load any organizations with your key. Contact an administrator.\",\n 'onboarding.create_project.monorepo.no_orgs_admin':\n \"We couldn't load any organizations. Make sure the {almKey} App is installed in at least one organization and check the {almKey} instance configuration in the {link}.\",\n 'onboarding.create_project.monorepo.no_projects':\n 'No projects could be fetch from {almKey}. Contact your system administrator.',\n 'onboarding.create_project.monorepo.project_title': 'Create new projects',\n 'onboarding.create_project.monorepo.add_project': 'Add new project',\n 'onboarding.create_project.monorepo.remove_project': 'Remove project',\n 'onboarding.create_project.monorepo.warning.message':\n 'Could not connect to {almKey}. Please contact an administrator to configure {almKey} integration.',\n 'onboarding.create_project.monorepo.warning.message_admin':\n 'Could not connect to {almKey}. Please make sure the {almKey} instance is correctly configured in the {link} to create a new project from a repository.',\n 'onboarding.create_project.monorepo.warning.message_admin.link':\n 'DevOps Platform integration settings',\n\n 'onboarding.create_project.new_code_definition.title': 'Set up project for Clean as You Code',\n 'onboarding.create_x_project.new_code_definition.title':\n 'Set up {count, plural, one {project} other {# projects}} for Clean as You Code',\n 'onboarding.create_project.new_code_definition.description':\n 'The new code definition sets which part of your code will be considered new code. This helps you focus attention on the most recent changes to your project, enabling you to follow the Clean as You Code methodology. Learn more: {link}',\n 'onboarding.create_project.new_code_definition.description.link': 'Defining New Code',\n 'onboarding.create_project.new_code_definition.create_x_projects':\n 'Create {count, plural, one {project} other {# projects}}',\n 'onboarding.create_projects.new_code_definition.change_info':\n 'You can change this setting for each project individually at any time in the project administration settings.',\n 'onboarding.create_project.success':\n 'Your {count, plural, one {project has} other {# projects have}} been created.',\n 'onboarding.create_project.monorepo.success':\n 'Your monorepo has been set up successfully. {count, plural, one {1 new project was} other {# new projects were}} created',\n 'onboarding.create_project.success.admin':\n 'Project {project_link} has been successfully created.',\n 'onboarding.create_project.failure':\n 'Import of {count, plural, one {# project} other {# projects}} failed.',\n\n 'onboarding.token.header': 'Provide a token',\n 'onboarding.token.text':\n 'The token is used to identify you when an analysis is performed. If it has been compromised, you can revoke it at any point in time in your {link}.',\n 'onboarding.token.text.PROJECT_ANALYSIS_TOKEN':\n 'The project token is used to identify you when an analysis is performed. If it has been compromised, you can revoke it at any point in time in your {link}.',\n 'onboarding.token.text.GLOBAL_ANALYSIS_TOKEN':\n 'The global token is used to identify you when an analysis is performed. If it has been compromised, you can revoke it at any point in time in your {link}.',\n 'onboarding.token.text.user_account': 'user account',\n 'onboarding.token.generate': 'Generate',\n 'onboarding.token.generate.long': 'Generate a token',\n 'onboarding.token.generate.PROJECT_ANALYSIS_TOKEN': 'Generate a project token',\n 'onboarding.token.generate.GLOBAL_ANALYSIS_TOKEN': 'Generate a global token',\n 'onboarding.token.use_existing_token': 'Use existing token',\n 'onboarding.token.use_existing_token.label': 'Existing token value',\n 'onboarding.token.use_existing_token.help': 'Paste an existing token value into the input field.',\n 'onboarding.token.warning_project_token_scope':\n 'Please note that this token will only allow you to analyze the current project. If you want to use the same token to analyze multiple projects, you need to generate a global token in your {link}. See the {doc_link} for more information.',\n 'onboarding.token.name.label': 'Token name',\n 'onboarding.token.name.placeholder': 'Enter a name for your token',\n 'onboarding.token.name.help': 'Enter a name for your project token',\n 'onboarding.token.invalid_format': 'The token you have entered has invalid format.',\n 'onboarding.token.delete': 'Delete the token',\n\n 'onboarding.tutorial.env_variables': 'In the {field} field, enter {value} {extra}',\n 'onboarding.tutorial.env_variables.field': 'Value',\n 'onboarding.tutorial.env_variables.token_generator.value':\n 'an existing token, or a newly generated one:',\n\n 'onboarding.analysis.header': 'Run analysis on your project',\n 'onboarding.analysis.auto_refresh_after_analysis.done': 'Is my analysis done?',\n 'onboarding.analysis.auto_refresh_after_analysis.auto_refresh':\n 'If your analysis is successful, this page will automatically refresh in a few moments.',\n 'onboarding.analysis.auto_refresh_after_analysis.check_these_links':\n \"While you're waiting, check out these links to learn how to configure Branch Analysis and Pull Request Analysis:\",\n 'onboarding.analysis.auto_refresh_after_analysis.check_these_links.pr_analysis':\n 'Pull Request Analysis',\n 'onboarding.analysis.auto_refresh_after_analysis.check_these_links.branches': 'Branch Analysis',\n 'onboarding.analysis.auto_refresh_after_analysis.community.check_these_links':\n \"While you're waiting, why not consider upgrading to our {edition}? It offers additional features such as {branches} and {pull_requests}.\",\n 'onboarding.analysis.auto_refresh_after_analysis.community.check_these_links.edition':\n 'Developer Edition',\n\n 'onboarding.build': 'What option best describes your project?',\n 'onboarding.build.maven': 'Maven',\n 'onboarding.build.gradle': 'Gradle',\n 'onboarding.build.make': 'Make',\n 'onboarding.build.dotnet': '.NET',\n 'onboarding.build.dotnet.win_core': 'Windows + .NET Core',\n 'onboarding.build.dotnet.win_msbuild': 'Windows + .NET Framework',\n 'onboarding.build.dotnet.linux_core': 'Linux + .NET Core',\n 'onboarding.build.cpp': 'C or C++',\n 'onboarding.build.objectivec': 'Objective-C',\n 'onboarding.build.dart': 'Flutter or Dart',\n 'onboarding.build.other': 'Other (for JS, TS, Go, Python, PHP, ...)',\n\n 'onboarding.build.dotnet.variant': 'Which framework do you use?',\n 'onboarding.build.dotnet.variant.dotnet_core': '.NET Core',\n 'onboarding.build.dotnet.variant.dotnet_framework': '.NET Framework',\n\n 'onboarding.build.other.os': 'What is your OS?',\n 'onboarding.build.other.os.linux': 'Linux',\n 'onboarding.build.other.os.win': 'Windows',\n 'onboarding.build.other.os.mac': 'macOS',\n\n 'onboarding.build.other.architecture': 'What is your architecture?',\n 'onboarding.build.other.architecture.x86_64': 'x86_64',\n 'onboarding.build.other.architecture.arm64': 'ARM64',\n\n 'onboarding.build.cpp.autoconfig':\n 'Do you want to use automatic configuration or manual configuration?',\n 'onboarding.build.cpp.autoconfig.automatic': 'Automatic',\n 'onboarding.build.cpp.autoconfig.automatic.description':\n 'Automatic Configuration allows the onboarding of most projects. Getting started does not require any specific knowledge about the project or the language.',\n 'onboarding.build.cpp.autoconfig.manual': 'Manual',\n 'onboarding.build.cpp.autoconfig.manual.description':\n \"Manual Configuration provides enhanced control over the setup, making it more suitable for certain specific use-cases. However, it may not support all scenarios and requires a certain level of understanding about the project's build process.\",\n\n 'onboarding.analysis.docs': 'Please visit the {link} for more details.',\n 'onboarding.analysis.build_wrapper.header.linux':\n 'Download and unzip the Build Wrapper for Linux',\n 'onboarding.analysis.build_wrapper.header.win':\n 'Download and unzip the Build Wrapper for Windows',\n 'onboarding.analysis.build_wrapper.header.mac': 'Download and unzip the Build Wrapper for macOS',\n 'onboarding.analysis.build_wrapper.text':\n \"And add the executable's directory to the {env_var} environment variable\",\n 'onboarding.analysis.build_wrapper.execute':\n 'Execute the Build Wrapper as a prefix to your build command',\n 'onboarding.analysis.build_wrapper.execute_text':\n \"Run the following command in your project's folder.\",\n 'onboarding.analysis.build_wrapper.execute_build_command': '<your clean build command>',\n 'onboarding.analysis.build_wrapper.docs':\n 'Please visit the {link} of the Build Wrapper for more details.',\n 'onboarding.analysis.build_wrapper.docs_link': 'official documentation',\n\n 'onboarding.analysis.java.maven.header': 'Execute the Scanner for Maven',\n 'onboarding.analysis.java.maven.text':\n \"Running a {instance} analysis with Maven is straighforward. You just need to run the following command in your project's folder.\",\n 'onboarding.analysis.java.maven.docs_link': 'official documentation of the Scanner for Maven',\n 'onboarding.analysis.java.maven.text.custom':\n \"Run the following command in your project's folder.\",\n\n 'onboarding.analysis.java.gradle.header': 'Execute the Scanner for Gradle',\n 'onboarding.analysis.java.gradle.text.1':\n 'Running an analysis with Gradle is straighforward. You just need to declare the {plugin_code} plugin in your {groovy} or {kotlin} file:',\n 'onboarding.analysis.java.gradle.text.2': 'and run the following command:',\n 'onboarding.analysis.java.gradle.latest_version':\n 'You can find the latest version of the Gradle plugin {link}.',\n 'onboarding.analysis.java.gradle.docs_link': 'official documentation of the Scanner for Gradle',\n\n 'onboarding.analysis.msbuild.header': 'Download and unzip the SonarScanner for .NET',\n 'onboarding.analysis.msbuild.text':\n 'Visit the {link} to download the latest version for .NET framework. Make sure to add the directory containing {code} to the {path} environment variable.',\n 'onboarding.analysis.msbuild.execute': 'Execute the SonarScanner for .NET',\n 'onboarding.analysis.msbuild.execute.text':\n 'Running a {instance} analysis is straightforward. You just need to execute the following commands at the root of your solution.',\n 'onboarding.analysis.msbuild.docs_link': 'documentation of the SonarScanner for .NET',\n\n 'onboarding.analysis.sq_scanner.header.linux': 'Download and unzip the Scanner for Linux',\n 'onboarding.analysis.sq_scanner.header.win': 'Download and unzip the Scanner for Windows',\n 'onboarding.analysis.sq_scanner.header.mac': 'Download and unzip the Scanner for macOS',\n 'onboarding.analysis.sq_scanner.text':\n 'Visit the {link} to download the latest version, and add the {dir} directory to the {env_var} environment variable',\n 'onboarding.analysis.sq_scanner.prepare': 'Prepare the Scanner',\n 'onboarding.analysis.sq_scanner.prepare.flutter':\n 'Before performing the analysis, we highly recommend:',\n 'onboarding.analysis.sq_scanner.prepare.flutter.pub_get':\n 'retrieving all project dependencies declared in <snippet>pubspec.yaml</snippet>, for example, by running <snippet>flutter pub get</snippet> for Flutter projects, <snippet>dart pub get</snippet> for Dart projects, etc.',\n 'onboarding.analysis.sq_scanner.prepare.flutter.build':\n 'performing a full and successful build of your Flutter or Dart project',\n 'onboarding.analysis.sq_scanner.prepare.flutter.tip':\n 'Otherwise, you might get incomplete and potentially incorrect analysis results. Retrieving project dependencies alone may not be enough to produce a correct analysis, for example, when you analyze generated code.',\n 'onboarding.analysis.sq_scanner.execute': 'Execute the Scanner',\n 'onboarding.analysis.sq_scanner.execute.text':\n \"Running a {instance} analysis is straightforward. You just need to execute the following commands in your project's folder.\",\n 'onboarding.analysis.sq_scanner.execute.text.custom':\n \"Run the following commands in your project's folder.\",\n 'onboarding.analysis.sq_scanner.docs': 'Please visit the {link} for more details.',\n 'onboarding.analysis.sq_scanner.docs_use_case':\n 'Please visit the {link} for more details, and the {useCaseLink} to know more about this use case.',\n 'onboarding.analysis.sq_scanner.docs_link': 'official documentation of the Scanner',\n 'onboarding.analysis.sq_scanner.sonar_token_env.header':\n 'Configure a SONAR_TOKEN environment variable in your CI settings',\n 'onboarding.analysis.sq_scanner.sonar_token_env.var_name': 'Add an environment variable called',\n 'onboarding.analysis.sq_scanner.sonar_token_env.var_value': 'Give it the following value',\n 'onboarding.analysis.sqscanner.docs.gradle.title':\n 'official documentation of the Scanner for Gradle',\n 'onboarding.analysis.sqscanner.docs.gradle.example_project.title':\n 'live Gradle-based example project',\n\n 'onboarding.analysis.dotnetcore.global': 'Install the SonarScanner .NET Core Global Tool',\n 'onboarding.analysis.dotnetcore.global.text':\n 'As a prerequisite you need to have the sonarscanner tool installed globally using the following command:',\n 'onboarding.analysis.dotnetcore.global.text.path':\n 'Make sure dotnet tools folder is in your path. See dotnet global tools documentation for more information.',\n\n 'onboarding.tutorial.return_to_list': 'Choose another option',\n 'onboarding.tutorial.ci_outro.all_set.title': \"You're all set!\",\n 'onboarding.tutorial.ci_outro.done': 'And you are done!',\n 'onboarding.tutorial.ci_outro.refresh_text':\n \"If everything is running successfully, once the analysis is complete you'll be redirected to the Overview page of your project where the new analysis results will be displayed. This can take a few minutes.\",\n 'onboarding.tutorial.ci_outro.commit': 'Commit and push your code to start the analysis.',\n 'onboarding.tutorial.ci_outro.commit.why.gitlab':\n 'Each new push you make on your branches or merge requests will trigger a new analysis in {productName}. We will decorate merge requests directly on GitLab for you.',\n 'onboarding.tutorial.ci_outro.commit.why.github':\n 'Each new push you make on your branches or pull requests will trigger a new analysis in {productName}. We will decorate pull requests directly on GitHub for you.',\n 'onboarding.tutorial.ci_outro.commit.why.bitbucket':\n 'Each new push you make on your branches or pull requests will trigger a new analysis in {productName}. We will decorate pull requests directly on Bitbucket for you.',\n 'onboarding.tutorial.ci_outro.commit.why.bitbucketcloud':\n 'Each new push you make on your branches or pull requests will trigger a new analysis in {productName}. We will decorate pull requests directly on Bitbucket for you.',\n 'onboarding.tutorial.ci_outro.commit.why.azure':\n 'Each new push you make on your branches or pull requests will trigger a new analysis in {productName}. We will decorate pull requests directly on Azure for you.',\n 'onboarding.tutorial.ci_outro.commit.why.no_branches':\n 'Each new push you make on your main branch will trigger a new analysis in {productName}.',\n 'onboarding.tutorial.ci_outro.refresh': 'This page will then refresh with your analysis results.',\n 'onboarding.tutorial.ci_outro.refresh.why':\n \"If the page doesn't refresh after a while, please double-check the analysis configuration, and check your logs.\",\n 'onboarding.tutorial.other.project_key.sentence':\n 'Create a {file} file in your repository and paste the following code:',\n 'onboarding.tutorial.other.project_key.monorepo.sentence':\n 'Create a {file} file at the root of your project and paste the following code:',\n 'onboarding.tutorial.other.project_key.monorepo.info':\n 'Repeat this step for all the projects in your monorepo',\n 'onboarding.tutorial.cfamilly.compilation_database_info':\n 'If you have trouble using the Build Wrapper, you can try one of the alternative methods to {link}.',\n 'onboarding.tutorial.cfamilly.compilation_database_info.link': 'generate a compilation database',\n 'onboarding.tutorial.cfamily.examples_repositories_description':\n 'Check out our C and C++ sample projects with {productName} analysis configured',\n\n 'onboarding.tutorial.page.title': 'Analysis Method',\n 'onboarding.tutorial.page.description':\n 'Use this page to manage and set-up the way your analyses are performed.',\n 'onboarding.tutorial.choose_method': 'How do you want to analyze your repository?',\n 'onboarding.tutorial.choose_method.devops_platform.description':\n 'Do you want to integrate with your favorite CI? Choose one of the following tutorials.',\n 'onboarding.tutorial.choose_method.local.description':\n 'Are you just testing or have an advanced use-case? Analyze your project locally.',\n 'onboarding.tutorial.choose_method.local': 'Locally',\n 'onboarding.tutorial.choose_method.other-ci': 'Other CI',\n 'onboarding.tutorial.choose_method.jenkins': 'With Jenkins',\n 'onboarding.tutorial.choose_method.github-actions': 'With GitHub Actions',\n 'onboarding.tutorial.choose_method.gitlab-ci': 'With GitLab CI',\n 'onboarding.tutorial.choose_method.azure-pipelines': 'With Azure Pipelines',\n 'onboarding.tutorial.choose_method.bitbucket-pipelines': 'With Bitbucket Pipelines',\n 'onboarding.tutorial.breadcrumbs.home': 'Analysis Method',\n 'onboarding.tutorial.breadcrumbs.local': 'Locally',\n 'onboarding.tutorial.breadcrumbs.other-ci': 'Other CI',\n 'onboarding.tutorial.breadcrumbs.jenkins': 'Jenkins',\n 'onboarding.tutorial.breadcrumbs.github-actions': 'GitHub Actions',\n 'onboarding.tutorial.breadcrumbs.gitlab-ci': 'GitLab CI',\n 'onboarding.tutorial.breadcrumbs.azure-pipelines': 'Azure Pipelines',\n 'onboarding.tutorial.breadcrumbs.bitbucket-pipelines': 'Bitbucket Pipelines',\n 'onboarding.mode.help.manual':\n 'Use this for testing or advanced use-case. Other modes are recommended to help you set up your CI environment.',\n 'onboarding.mode.help.otherci':\n \"{productName} integrates with your workflow no matter which CI tool you're using.\",\n\n 'onboarding.tutorial.with.yaml.gradle':\n 'Update your {groovy} or {kotlin} file with the {sq} plugin and its configuration:',\n\n 'onboarding.tutorial.with.bitbucket_ci.title': 'Analyze your project with Bitbucket CI',\n 'onboarding.tutorial.with.bitbucket_pipelines.variables.title': 'Create repository variables',\n 'onboarding.tutorial.with.bitbucket_pipelines.yaml.title':\n 'Create your pipelines builds configuration',\n 'onboarding.tutorial.with.bitbucket_pipelines.variables.intro':\n 'In your Bitbucket repository, go to {repository_variables} and create two new variables:',\n 'onboarding.tutorial.with.bitbucket_pipelines.variables.intro.link':\n 'Repository settings > Repository variables',\n 'onboarding.tutorial.with.bitbucket_pipelines.variables.name.sentence':\n 'In the {name} field, enter',\n 'onboarding.tutorial.with.bitbucket_pipelines.variables.name.sentence.name': 'Name',\n 'onboarding.tutorial.with.bitbucket_pipelines.variables.add.sentence': 'Click on {add}.',\n 'onboarding.tutorial.with.bitbucket_pipelines.variables.add.sentence.add': 'Add',\n 'onboarding.tutorial.with.bitbucket_pipelines.variables.secured.sentence':\n 'Make sure {secured} is check.',\n 'onboarding.tutorial.with.bitbucket_pipelines.variables.secured.sentence.secured': 'Secured',\n\n 'onboarding.tutorial.with.github_ci.title': 'Analyze your project with GitHub CI',\n 'onboarding.tutorial.with.github_action.create_secret.title': 'Create GitHub Secrets',\n 'onboarding.tutorial.with.github_action.create_secret.monorepo_project_level_token_info':\n 'If you use project-level tokens, {link} for each project in your monorepo and create the associated secrets as per previous steps (secrets names need to be unique per project e.g. SONAR_TOKEN_1, SONAR_TOKEN_2...)',\n 'onboarding.tutorial.with.github_action.create_secret.monorepo_project_level_token_info.link':\n 'generate a token',\n 'onboarding.tutorial.with.github_action.create_secret.monorepo_global_token_info':\n 'If you use global tokens, request a global token from your admin and follow previous steps.',\n 'onboarding.tutorial.with.github_action.monorepo.see_yaml_instructions':\n 'Create or update your .github/workflows/build.yml YAML file at the root of your monorepository with this content',\n 'onboarding.tutorial.with.github_action.secret.intro':\n 'In your GitHub repository, go to {settings_secret} and create below new secrets:',\n 'onboarding.tutorial.with.github_action.secret.intro.link': 'Settings > Secrets',\n 'onboarding.tutorial.with.github_action.secret.name.sentence': 'In the {name} field, enter',\n 'onboarding.tutorial.with.github_action.secret.name.sentence.name': 'Name',\n 'onboarding.tutorial.with.github_action.secret.new.sentence': 'Click on {new_secret}.',\n 'onboarding.tutorial.with.github_action.secret.new.sentence.new_secret': 'New repository secret',\n 'onboarding.tutorial.with.github_action.secret.add.sentence': 'Click on {add_secret}.',\n 'onboarding.tutorial.with.github_action.secret.add.sentence.add_secret': 'Add secret',\n 'onboarding.tutorial.with.github_action.yaml.title': 'Create Workflow YAML File',\n 'onboarding.tutorial.with.github_action.yaml.create_yml':\n 'Create or update your {file} YAML file with the following content:',\n 'onboarding.tutorial.with.github_action.dart':\n 'Add the following steps to your GitHub Actions Workflow after build of your Flutter or Dart project:',\n\n 'onboarding.tutorial.with.gitlab_ci.title': 'Analyze your project with GitLab CI',\n 'onboarding.tutorial.with.gitlab_ci.project_key.title': 'Set your project key',\n 'onboarding.tutorial.with.gitlab_ci.project_key.maven.step2':\n 'Add the following to your {file} file:',\n 'onboarding.tutorial.with.gitlab_ci.project_key.gradle.step2':\n 'Add the following to your {file} or {file2} file:',\n 'onboarding.tutorial.with.gitlab_ci.project_key.other.step2':\n 'Create a {file} file in your repository and paste the following code:',\n 'onboarding.tutorial.with.gitlab_ci.project_key.dart.step2':\n 'Create a {file} file in your repository and paste the following code:',\n 'onboarding.tutorial.with.gitlab_ci.project_key.dotnet.step2':\n 'Create a {file} file in your repository and paste the following code:',\n 'onboarding.tutorial.with.gitlab_ci.project_key.cpp.step2':\n 'Create a {file} file in your repository and paste the following code:',\n 'onboarding.tutorial.with.gitlab_ci.project_key.objectivec.step2':\n 'Create a {file} file in your repository and paste the following code:',\n\n 'onboarding.tutorial.with.gitlab_ci.variables.title': 'Add environment variables',\n 'onboarding.tutorial.with.gitlab_ci.variables.description.link': 'Settings > CI/CD > Variables',\n 'onboarding.tutorial.with.gitlab_ci.variables.section.title':\n 'Define the {productName} Token environment variable.',\n 'onboarding.tutorial.with.gitlab_ci.variables.section.description':\n 'In GitLab, go to {link} to add the following variable and make sure it is available for your project:',\n 'onboarding.tutorial.with.gitlab_ci.variables.edit.token.tooltip':\n 'Use an existing token or generate a new one.',\n 'onboarding.tutorial.with.gitlab_ci.variables.step1': 'Key {value} {extra}',\n\n 'onboarding.tutorial.with.gitlab_ci.variables.step3': 'Uncheck the {value} checkbox.',\n 'onboarding.tutorial.with.gitlab_ci.variables.step3.value': 'Protect Variable',\n 'onboarding.tutorial.with.gitlab_ci.variables.section.step4': 'Check the {value} checkbox.',\n 'onboarding.tutorial.with.gitlab_ci.variables.section.step4.value': 'Mask Variable',\n 'onboarding.tutorial.with.gitlab_ci.variables.section2.title':\n 'Define the {productName} URL environment variable.',\n 'onboarding.tutorial.with.gitlab_ci.variables.section2.description':\n 'Still in {link} add a new variable and make sure it is available for your project:',\n 'onboarding.tutorial.with.gitlab_ci.variables.section2.step4':\n 'Leave the {value} checkbox unchecked.',\n 'onboarding.tutorial.with.gitlab_ci.yaml.title': 'Create or update the configuration file',\n 'onboarding.tutorial.with.gitlab_ci.yaml.description':\n 'Create or update your {filename} file with the following content.',\n 'onboarding.tutorial.with.gitlab_ci.yaml.filename': '.gitlab-ci.yml',\n 'onboarding.tutorial.with.gitlab_ci.yaml.baseconfig':\n 'Note that this is a minimal base configuration to run a {productName} analysis on your main branch and merge requests, and fetch the vulnerability report (if applicable).',\n 'onboarding.tutorial.with.gitlab_ci.yaml.existing':\n 'If you already have a pipeline configured and running, you might want to add the example above to your existing yml file.',\n 'onboarding.tutorial.with.gitlab_ci.yaml.premium':\n 'GitLab vulnerability report is only available with GitLab Ultimate. You may safely remove the sonarqube-vulnerability-report stage if you have not subscribed to this service.',\n\n 'onboarding.tutorial.with.jenkins.title': 'Analyze your project with Jenkins',\n 'onboarding.tutorial.with.jenkins.alm_selection.title': 'Select your DevOps platform',\n 'onboarding.tutorial.with.jenkins.prereqs.title': 'Prerequisites',\n 'onboarding.tutorial.with.jenkins.prereqs.intro.sentence':\n 'To run your project analyses with Jenkins, the following plugins must be {installed} and {configured}.',\n 'onboarding.tutorial.with.jenkins.prereqs.intro.sentence.installed': 'installed',\n 'onboarding.tutorial.with.jenkins.prereqs.intro.sentence.configured': 'configured',\n 'onboarding.tutorial.with.jenkins.prereqs.plugins.branch_source.bitbucket':\n 'Bitbucket Branch Source plugin for Jenkins - version 2.7 or later',\n 'onboarding.tutorial.with.jenkins.prereqs.plugins.branch_source.bitbucketcloud':\n 'Bitbucket Branch Source plugin for Jenkins - version 2.7 or later',\n 'onboarding.tutorial.with.jenkins.prereqs.plugins.branch_source.github':\n 'GitHub Branch Source plugin for Jenkins - version 2.7.1 or later',\n 'onboarding.tutorial.with.jenkins.prereqs.plugins.branch_source.gitlab':\n 'GitLab Branch Source plugin for Jenkins - version 1.5.3 or later',\n 'onboarding.tutorial.with.jenkins.prereqs.plugins.gitlab_plugin':\n 'GitLab plugin for Jenkins - version 1.5.13 or later',\n 'onboarding.tutorial.with.jenkins.prereqs.plugins.sonar_scanner':\n '{productName} Scanner plugin for Jenkins - version 2.11 or later',\n 'onboarding.tutorial.with.jenkins.prereqs.step_by_step_guide':\n 'For a step by step guide on installing and configuring those plugins in Jenkins, visit the {link} documentation page.',\n 'onboarding.tutorial.with.jenkins.prereqs.step_by_step_guide.link': 'Analysis Prerequisites',\n 'onboarding.tutorial.with.jenkins.prereqs.following_are_recommendations':\n 'We recommend using the configuration in the following steps for the best results, but you can customize it as needed.',\n 'onboarding.tutorial.with.jenkins.prereqs.done': 'Configure Analysis',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.title':\n 'Create a Multibranch Pipeline Job',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.intro':\n 'Create a Multibranch Pipeline in order to automatically analyze all your branches and pull requests.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step1.sentence':\n \"From Jenkins' dashboard, click {new_item} and create a {type}.\",\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step1.sentence.new_item': 'New Item',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step1.sentence.type':\n 'Multibranch Pipeline Job',\n\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucket.sentence':\n 'Under {tab}, add a {source} source and enter the following information:',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucket.sentence.tab':\n 'Branch Sources',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucket.sentence.source':\n 'Bitbucket',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucket.server.label': 'Server',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucket.server.action':\n 'select the instance hosting the repository you want to analyze.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucket.creds.label':\n 'Credentials',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucket.creds.action':\n 'select the Bitbucket Server credentials.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucket.owner.label': 'Owner',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucket.owner.action':\n 'enter your project key.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucket.repo.label': 'Repository',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucket.repo.action':\n 'select the repository you want to analyze.',\n\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucketcloud.sentence':\n 'Under {tab}, add a {source} source and enter the following information:',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucketcloud.sentence.tab':\n 'Branch Sources',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucketcloud.sentence.source':\n 'Bitbucket',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucketcloud.server.label':\n 'Server',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucketcloud.server.action':\n 'Make sure that Bitbucket Cloud is selected.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucketcloud.creds.label':\n 'Credentials',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucketcloud.creds.action':\n 'select the Bitbucket Cloud credentials.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucketcloud.owner.label':\n 'Owner',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucketcloud.owner.action':\n 'enter your workspace ID.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucketcloud.repo.label':\n 'Repository',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.bitbucketcloud.repo.action':\n 'select the repository you want to analyze.',\n\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.github.sentence':\n 'Under {tab}, add a {source} source and enter the following information:',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.github.sentence.tab':\n 'Branch Sources',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.github.sentence.source': 'GitHub',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.github.creds.label': 'Credentials',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.github.creds.action':\n 'select or add your GitHub credentials.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.github.repo_url.label':\n 'Repository HTTPS URL',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.github.repo_url.action':\n 'enter your repository URL.',\n\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.gitlab.sentence':\n 'Under {tab}, add a {source} source and enter the following information:',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.gitlab.sentence.tab':\n 'Branch Sources',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.gitlab.sentence.source':\n 'GitLab Project',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.gitlab.creds.label':\n 'Checkout Credentials',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.gitlab.creds.action':\n 'select or add your GitLab credentials.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.gitlab.owner.label': 'Owner',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.gitlab.owner.action':\n 'enter the name of your user or your group.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.gitlab.repo.label': 'Projects',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.gitlab.repo.action':\n 'select your project.',\n\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.label': 'Behaviors',\n\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.branches_prs.action':\n 'Exclude branches that are also filed as PRs.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.branches_prs.label':\n 'Discover branches',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.branches_mrs.action':\n 'Exclude branches that are also filed as MRs.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.branches_mrs.label':\n 'Discover branches',\n\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.discover_prs.action':\n 'The current pull request revision.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.discover_prs.label':\n 'Discover pull requests from origin',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.discover_mrs.action':\n 'The current merge request revision.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.discover_mrs.label':\n 'Discover merge requests from origin',\n\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.ref_specs.label':\n 'Specify ref specs',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.ref_specs.add_behaviour.sentence':\n 'By default, this behavior is not active. If you do not see it, click on {add} to see the list of available behaviors, and select {ref_spec}.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.ref_specs.add_behaviour.sentence.add':\n 'Add',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.ref_specs.add_behaviour.sentence.ref_spec':\n 'Specify ref specs',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.ref_specs.set_pr_ref_specs.sentence':\n 'In order to correctly compute new code for Pull Requests, the scanner will need the refs of the target branch. Make sure the {ref_spec} value will include any target branches (the default value should be enough). Example:',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.ref_specs.set_pr_ref_specs.sentence.ref_spec':\n 'Ref Spec',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.ref_specs.set_mr_ref_specs.sentence':\n 'In order to correctly compute new code for Merge Requests, the scanner will need the refs of the target branch. Make sure the {ref_spec} value will include any target branches (the default value should be enough). Example:',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.behaviors.ref_specs.set_mr_ref_specs.sentence.ref_spec':\n 'Ref Spec',\n\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step2.leave_defaults':\n 'You can leave the other Branch Source settings at the defaults.',\n\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step3.sentence':\n 'Jump to the {tab} section and make sure the parameters are set as follows:',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step3.sentence.tab':\n 'Build Configuration',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step3.mode.label': 'Mode',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step3.mode.action': 'by Jenkinsfile',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step3.script_path.label': 'Script Path',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step3.script_path.action': 'Jenkinsfile',\n\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step4.sentence': 'Click {save}.',\n 'onboarding.tutorial.with.jenkins.multi_branch_pipeline.step4.sentence.save': 'Save',\n\n 'onboarding.tutorial.with.jenkins.pipeline.title': 'Create a Pipeline Job',\n 'onboarding.tutorial.with.jenkins.pipeline.intro':\n 'Create a Pipeline in order to automatically analyze your project.',\n 'onboarding.tutorial.with.jenkins.pipeline.step1.sentence':\n \"From Jenkins' dashboard, click {new_item} and create a {type}.\",\n 'onboarding.tutorial.with.jenkins.pipeline.step1.sentence.new_item': 'New Item',\n 'onboarding.tutorial.with.jenkins.pipeline.step1.sentence.type': 'Pipeline Job',\n\n 'onboarding.tutorial.with.jenkins.pipeline.step2.sentence':\n 'Under {tab}, choose {option}. You must set a unique, secret token for this field.',\n 'onboarding.tutorial.with.jenkins.pipeline.step2.sentence.tab': 'Build Triggers',\n 'onboarding.tutorial.with.jenkins.pipeline.step2.sentence.option': 'Trigger builds remotely',\n\n 'onboarding.tutorial.with.jenkins.pipeline.gitlab.step2.trigger.sentence':\n 'Under {tab}, choose {option}. Write down the webhook URL provided. You will need it when configuring the webhook in GitLab.',\n 'onboarding.tutorial.with.jenkins.pipeline.gitlab.step2.trigger.sentence.tab': 'Build Triggers',\n 'onboarding.tutorial.with.jenkins.pipeline.gitlab.step2.trigger.sentence.option':\n 'Build when a change is pushed to GitLab',\n 'onboarding.tutorial.with.jenkins.pipeline.gitlab.step2.pick_triggers.sentence':\n 'Under {triggers}, only select {push_events}.',\n 'onboarding.tutorial.with.jenkins.pipeline.gitlab.step2.pick_triggers.sentence.triggers':\n 'Enabled GitLab triggers',\n 'onboarding.tutorial.with.jenkins.pipeline.gitlab.step2.pick_triggers.sentence.push_events':\n 'Push events',\n 'onboarding.tutorial.with.jenkins.pipeline.gitlab.step2.click_advanced.sentence':\n 'Click on {advanced}',\n 'onboarding.tutorial.with.jenkins.pipeline.gitlab.step2.click_advanced.sentence.advanced':\n 'Advanced...',\n 'onboarding.tutorial.with.jenkins.pipeline.gitlab.step2.secret_token.sentence':\n 'Find the {secret_token} text field, and click on {generate}. Write down the secret token. You will need it when configuring the webhook in GitLab.',\n 'onboarding.tutorial.with.jenkins.pipeline.gitlab.step2.secret_token.sentence.secret_token':\n 'Secret token',\n 'onboarding.tutorial.with.jenkins.pipeline.gitlab.step2.secret_token.sentence.generate':\n 'Generate',\n\n 'onboarding.tutorial.with.jenkins.pipeline.step3.sentence':\n 'Under {tab}, make sure the parameters are set as follows:',\n 'onboarding.tutorial.with.jenkins.pipeline.step3.sentence.tab': 'Pipeline',\n 'onboarding.tutorial.with.jenkins.pipeline.step3.definition.label': 'Definition',\n 'onboarding.tutorial.with.jenkins.pipeline.step3.definition.action': 'Pipeline script from SCM',\n 'onboarding.tutorial.with.jenkins.pipeline.step3.scm.sentence':\n '{label} Configure your SCM. Make sure to only build your main branch. For example, if your main branch is called \"main\", put \"*/main\" under {branches_to_build}.',\n 'onboarding.tutorial.with.jenkins.pipeline.step3.scm.sentence.label': 'SCM:',\n 'onboarding.tutorial.with.jenkins.pipeline.step3.scm.sentence.branches_to_build':\n 'Branches to build',\n 'onboarding.tutorial.with.jenkins.pipeline.step3.script_path.label': 'Script Path',\n 'onboarding.tutorial.with.jenkins.pipeline.step3.script_path.action': 'Jenkinsfile',\n\n 'onboarding.tutorial.with.jenkins.pipeline.step4.sentence': 'Click {save}.',\n 'onboarding.tutorial.with.jenkins.pipeline.step4.sentence.save': 'Save',\n\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.title': 'Create a Bitbucket Server Webhook',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.title':\n 'Create a Bitbucket Cloud Webhook',\n 'onboarding.tutorial.with.jenkins.webhook.github.title': 'Create a GitHub Webhook',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.title': 'Create a GitLab Webhook',\n 'onboarding.tutorial.with.jenkins.webhook.intro.sentence':\n 'Create a Webhook in your repository to trigger the Jenkins job on push. You may skip this step if you already have a Webhook configured.',\n 'onboarding.tutorial.with.jenkins.webhook.step1.sentence':\n 'Go to the {link} and enter the following information:',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.step1.link':\n 'Bitbucket Server Webhook creation page for your repository',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.step1.link':\n 'Bitbucket Cloud Webhook creation page for your repository',\n 'onboarding.tutorial.with.jenkins.webhook.github.step1.link':\n 'GitHub Webhook creation page for your repository',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step1.link':\n 'GitLab Webhook creation page for your repository',\n 'onboarding.tutorial.with.jenkins.webhook.step1.name.label': 'Name',\n 'onboarding.tutorial.with.jenkins.webhook.step1.name.action': 'give a unique name.',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.step1.url.label': 'URL',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.step1.url.action':\n 'Enter the following URL, replacing the values between *** as needed:',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.step1.url.warning':\n 'The Bitbucket Server URL must be identical to the one in your Jenkins configuration. Watch out for any missing or extra \"/\" at the end.',\n 'onboarding.tutorial.with.jenkins.webhook.github.step1.url.label': 'URL',\n 'onboarding.tutorial.with.jenkins.webhook.github.step1.url.action':\n 'Enter the following URL, replacing the values between *** as needed:',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step1.url_with_branches.label': 'URL',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step1.url_with_branches.action':\n 'Enter the following URL, replacing the values between *** as needed:',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step1.url_no_branches.label': 'URL',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step1.url_no_branches.action':\n 'Enter the URL you wrote down in the previous step.',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step1.secret_token.label': 'Secret Token',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step1.secret_token.action':\n 'Enter the generated token you wrote down in the previous step.',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.step2.sentence':\n 'Under {events}, make sure the following options are checked:',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.step2.sentence.events': 'Events',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.step2.sentence':\n 'Under {triggers}, select {option} and make sure the following options are checked:',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.step2.sentence.triggers': 'Triggers',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.step2.sentence.option':\n 'Choose from a full list of triggers',\n 'onboarding.tutorial.with.jenkins.webhook.github.step2.sentence':\n 'Under {events} select {option} and check the following:',\n 'onboarding.tutorial.with.jenkins.webhook.github.step2.sentence.events':\n 'Which events would you like to trigger this webhook?',\n 'onboarding.tutorial.with.jenkins.webhook.github.step2.sentence.option':\n 'Let me select individual events',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step2.sentence':\n 'Under {trigger} check the following:',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step2.sentence.trigger': 'Trigger',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.step2.repo.label': 'Repository',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.step2.repo.action': 'Push',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.step2.pr.label': 'Pull Request',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.step2.pr.action': 'Opened',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.step2.repo.label': 'Repository',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.step2.repo.action': 'Push',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.step2.pr.label': 'Pull Request',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.step2.pr.action': 'Created',\n 'onboarding.tutorial.with.jenkins.webhook.github.step2.repo': 'Pushes',\n 'onboarding.tutorial.with.jenkins.webhook.github.step2.pr': 'Pull Requests',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step2.repo': 'Push events',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step2.mr': 'Merge request events',\n 'onboarding.tutorial.with.jenkins.webhook.github.step3.sentence': 'Click {add_webhook}.',\n 'onboarding.tutorial.with.jenkins.webhook.github.step3.sentence.add_webhook': 'Add webhook',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.step3.sentence': 'Click {save}.',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.step3.sentence.save': 'Save',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.step3.sentence': 'Click {create}.',\n 'onboarding.tutorial.with.jenkins.webhook.bitbucket.step3.sentence.create': 'Create',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step3.sentence': 'Click {add_webhook}.',\n 'onboarding.tutorial.with.jenkins.webhook.gitlab.step3.sentence.add_webhook': 'Add webhook',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.title': 'Create a Jenkinsfile',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.jenkinsfile_step.sentence':\n 'Create a {file} file in your repository and paste the following code:',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.maven.step3.replace.sentence':\n 'Make sure to replace {default} with the name you gave to your Maven tool {in_jenkins}.',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.maven.step3.replace.sentence.default':\n 'Default Maven',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.maven.step3.replace.sentence.in_jenkins':\n 'in Jenkins',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.maven.step3.help1.sentence':\n 'To get the name of your Maven tool in Jenkins, navigate to {path}.',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.maven.step3.help1.sentence.path':\n 'Manage Jenkins > Global Tool Configuration',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.maven.step3.help2.sentence':\n 'The name is located under the {path} section, in the {name} field.',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.maven.step3.help2.sentence.path':\n 'Maven > Maven installations',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.maven.step3.help2.sentence.name': 'Name',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.gradle.step2.sentence':\n 'Add the following to your {groovy} or {kotlin} file:',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.dotnet.build_agent': 'Choose your build agent.',\n\n 'onboarding.tutorial.with.jenkins.dotnet.msbuild.prereqs.title.sentence':\n 'Prerequisite: Add a {default_msbuild} tool.',\n 'onboarding.tutorial.with.jenkins.dotnet.msbuild.prereqs.title.sentence.default_msbuild':\n 'MSBuild',\n 'onboarding.tutorial.with.jenkins.dotnet.msbuild.prereqs.info':\n 'This step need to be done only once per jenkins instance.',\n 'onboarding.tutorial.with.jenkins.dotnet.msbuild.prereqs.step1.sentence':\n 'In Jenkins, make sure to have the {msbuild} installed.',\n 'onboarding.tutorial.with.jenkins.dotnet.msbuild.prereqs.step1.sentence.msbuild':\n 'MSBuild Plugin',\n 'onboarding.tutorial.with.jenkins.dotnet.msbuild.prereqs.step2.sentence': 'Navigate to {path}.',\n 'onboarding.tutorial.with.jenkins.dotnet.msbuild.prereqs.step2.sentence.path':\n 'Manage Jenkins > Global Tool Configuration',\n 'onboarding.tutorial.with.jenkins.dotnet.msbuild.prereqs.step3.sentence':\n 'Under {msbuild} click on {add_msbuild} and give a {name} that will be used in the last step. Refer to the {msbuild_plugin} documentation on how to install the tool:',\n 'onboarding.tutorial.with.jenkins.dotnet.msbuild.prereqs.step3.sentence.msbuild': 'MSBuild',\n 'onboarding.tutorial.with.jenkins.dotnet.msbuild.prereqs.step3.sentence.msbuild_plugin':\n 'MSBuild Plugin',\n 'onboarding.tutorial.with.jenkins.dotnet.msbuild.prereqs.step3.sentence.add_msbuild':\n 'Add MSBuild',\n 'onboarding.tutorial.with.jenkins.dotnet.msbuild.prereqs.step3.sentence.name': 'Name',\n\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.title.sentence':\n 'Prerequisite: Add a {default_scanner} tool.',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.title.sentence.default_scanner':\n 'SonarScanner for .NET',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.info':\n 'This step needs to be done only once per jenkins instance or if you need different scanner versions.',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.step1.sentence':\n 'In Jenkins, navigate to {path}.',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.step1.sentence.path':\n 'Manage Jenkins > Global Tool Configuration',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.step2.sentence':\n 'Under {default_scanner} click on {add_scanner_for_msbuild}.',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.step2.sentence.default_scanner':\n 'SonarScanner for .NET',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.step2.sentence.add_scanner_for_msbuild':\n 'Add SonarScanner for .NET',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.step3.sentence':\n 'Choose a {name} that will be used in the last step:',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.step3.sentence.name': 'Name',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.step4.sentence': 'Check {install_auto}',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.step4.sentence.install_auto':\n 'Install automatically',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.step5.sentence':\n 'Under {install_from} select the corresponding .NET Core scanner required for you project.',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.step5.sentence.install_from':\n 'Install from GitHub',\n 'onboarding.tutorial.with.jenkins.dotnet.scanner.prereqs.step5.sentence.install_auto':\n 'Install automatically',\n\n 'onboarding.tutorial.with.jenkins.jenkinsfile.other.step3.replace.sentence':\n 'Make sure to replace {default} with the name you gave to your {productName} Scanner tool {in_jenkins}.',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.other.step3.replace.sentence.default':\n 'SonarScanner',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.other.step3.replace.sentence.in_jenkins':\n 'in Jenkins',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.other.step3.help1.sentence':\n 'To get the name of your {productName} Scanner tool in Jenkins, navigate to {path}.',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.other.step3.help1.sentence.path':\n 'Manage Jenkins > Global Tool Configuration',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.other.step3.help2.sentence':\n 'The name is located under the {path} section, in the {name} field.',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.other.step3.help2.sentence.path':\n '{productName} Scanner > {productName} Scanner installations',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.other.step3.help2.sentence.name': 'Name',\n 'onboarding.tutorial.with.jenkins.jenkinsfile.cfamilly.agent_setup':\n 'We assume the Jenkins agent has the necessary tools to build your project.',\n\n 'onboarding.tutorial.with.azure_pipelines.os': 'What is your agent host?',\n 'onboarding.tutorial.with.azure_pipelines.architecture': 'What is your agent architecture?',\n 'onboarding.tutorial.with.azure_pipelines.title':\n 'Analyze your project with Azure DevOps Pipelines',\n 'onboarding.tutorial.with.azure_pipelines.ExtensionInstallation.title':\n 'Install {productName} extension for Azure DevOps',\n 'onboarding.tutorial.with.azure_pipelines.ExtensionInstallation.sentence':\n 'From your Azure DevOps instance, navigate to the Visual Studio Marketplace and install the {link} by clicking the {button} button.',\n 'onboarding.tutorial.with.azure_pipelines.ExtensionInstallation.sentence.link':\n '{productName} extension',\n 'onboarding.tutorial.with.azure_pipelines.ExtensionInstallation.sentence.button': 'Get it free',\n 'onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.title':\n 'Add a new {productName} Service Endpoint in your project',\n 'onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step1.sentence':\n 'In Azure DevOps, go to {menu}.',\n 'onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step1.sentence.menu':\n 'Project settings > Service connections',\n 'onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step2.sentence':\n 'Add a new service connection of type {type}.',\n 'onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step2.sentence.type': '{productName}',\n 'onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step3.sentence':\n 'Enter your {productName} server url: {url} {button}',\n 'onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step4.sentence':\n 'Enter an existing token, or a newly generated one',\n 'onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step5.sentence':\n 'Enter a memorable connection name.',\n 'onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step6.sentence':\n 'Create the service connection.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.title': 'Configure analysis',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info':\n 'The following steps assume you are using the Azure Pipelines classic editor. Check out our {doc_link} for the YAML counterpart.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info.doc_link':\n 'Azure DevOps integration page',\n\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.sentence':\n 'In Azure DevOps, create or edit a build {pipeline} to make Build Wrapper available on the build agent.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.script.sentence':\n 'Add a {task} task, select {inline} mode and add the following script to download and decompress the Build Wrapper on the build agent.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.win.sentence.task':\n 'PowerShell script',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.nix.sentence.task':\n 'Bash script',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.win.sentence.inline':\n 'inline',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.nix.sentence.inline':\n 'inline',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.ccpp.sentence':\n 'Add a new {task} task {before} your build task.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare_additional.ccpp':\n 'In {additional} in the {advanced} section, add a new property: {property} {button}',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare_additional.ccpp.additional':\n 'Additional Properties',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare_additional.ccpp.advanced':\n 'Advanced',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build.ccpp.sentence':\n 'Add or modify your build {task} task. For the analysis to happen, your build has to be run through a command line so that it can be wrapped-up by the build-wrapper.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build.ccpp.sentence.task':\n 'Command Line',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_script.ccpp.sentence':\n 'Run {build_wrapper} executable. Pass in as the arguments (1) the output directory configured in the previous task and (2) the command that runs a clean build of your project (not an incremental build). Example:',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_script.ccpp.sentence.build_wrapper':\n 'Build Wrapper',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.ccpp.sentence':\n 'Add a new {task} task {after} your build task. Consider running this task right after the previous one as the build environment should not be significantly altered before running the analysis.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence':\n 'In Azure DevOps, create or edit a build {pipeline} and add a new {task} task {before} your build task:',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.pipeline': 'Pipeline',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.task':\n 'Prepare Analysis Configuration',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.before': 'before',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence':\n 'Select the {endpoint} you created in Step 2.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence.endpoint':\n '{productName} server endpoint',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis':\n 'Under {section}, select {run_analysis_value}.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.section':\n 'Choose the way to run the analysis',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.dotnet':\n 'Integrate with MSBuild',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.maven':\n 'Integrate with Maven or Gradle',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.gradle':\n 'Integrate with Maven or Gradle',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.cpp':\n 'Use standalone scanner',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.objectivec':\n 'Use standalone scanner',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.other':\n 'Use standalone scanner',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.manual.sentence':\n 'Select the {mode} mode.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.manual.sentence.mode':\n 'Manually provide configuration',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence':\n 'Add a new {task} task {after} your build task.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence.task': 'Run Code Analysis',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence.after': 'after',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.key.sentence':\n 'In the {project_key} field, enter {key} {button}',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.key.sentence.project_key':\n 'Project Key',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.advanced_properties.sentence':\n 'Expand the {section} and replace the {properties} with the following snippet',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.advanced_properties.sentence.section':\n 'Advanced section',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.advanced_properties.sentence.properties':\n 'Additional Properties',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.title':\n 'Add a new Java tool installer task:',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.sentence':\n 'Under {field}, select {value}',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.java_version':\n 'JDK version',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.or_higher': '(or higher)',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.java_architecture':\n 'JDK architecture',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.java_source':\n 'JDK source',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.pre-installed':\n 'Pre-installed',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java': 'Edit or add a new {0} task:',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.settings.sentence':\n 'Under {section}, check {option}',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.settings.sentence.section':\n 'Code Analysis',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.settings.sentence.option':\n 'Run {productName} Analysis',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence':\n \"Add a new {task} task to publish {productName}'s Quality Gate results on your build pipeline summary.\",\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.info.sentence1':\n 'This task may increase your build time as your pipeline will have to wait for {productName} to process the analysis report. It is highly recommended but optional.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence.task':\n 'Publish Quality Gate Result',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence':\n 'Under the {tab} tab of your pipeline, check {continuous_integration} and select all the branches for which you want the {productName} analysis to run automatically.',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.tab':\n 'Triggers',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.continuous_integration':\n 'Enable continuous integration',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.no_branches.sentence':\n 'Under the {tab} tab of your pipeline, check {continuous_integration} and select the main branch',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.no_branches.sentence.tab':\n 'Triggers',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.no_branches.sentence.continuous_integration':\n 'Enable continuous integration',\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection':\n \"To make sure your Pull Requests are analyzed automatically and aren't merged when they're failing their quality gate, check out the {link}.\",\n 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection.link': 'documentation',\n\n 'onboarding.tutorial.no_scan_rights':\n 'You do not have permission to analyze this project. Please contact the project administrator.',\n\n //------------------------------------------------------------------------------\n //\n // BRANCHES\n //\n //------------------------------------------------------------------------------\n 'branches.branch': 'Branch',\n 'branches.main_branch': 'Main Branch',\n 'branches.pr': 'PR',\n 'branches.see_the_pr': 'See the PR',\n 'branches.see_the_pr_on_x': 'See the PR on {0}',\n\n //------------------------------------------------------------------------------\n //\n // BRANCH-LIKE NAVIGATION\n //\n //------------------------------------------------------------------------------\n 'branch_like_navigation.manage': 'Manage branches and Pull Requests',\n 'branch_like_navigation.search_for_branch_like': 'Search for branches or Pull Requests...',\n 'branch_like_navigation.list': 'Branches and Pull Requests',\n 'branch_like_navigation.pull_requests': 'Pull Requests',\n 'branch_like_navigation.pull_requests_targeting': 'Pull Requests targeting \"{branch}\"',\n 'branch_like_navigation.orphan_pull_requests': 'Orphan Pull Requests',\n 'branch_like_navigation.orphan_pull_requests.tooltip':\n 'When the base of a Pull Request is deleted, this Pull Request becomes orphan.',\n 'branch_like_navigation.for_merge_into_x_from_y': 'for merge into {target} from {branch}',\n 'branch_like_navigation.for_merge_into_x_from_y.title': 'for merge into {0} from {1}',\n 'branch_like_navigation.no_branch_support.title':\n 'Get the most out of SonarQube Server with branch and PR/MR analysis',\n 'branch_like_navigation.no_branch_support.title.pr':\n 'Get the most out of SonarQube Server with branch and PR analysis',\n 'branch_like_navigation.no_branch_support.title.mr':\n 'Get the most out of SonarQube Server with branch and MR analysis',\n 'branch_like_navigation.no_branch_support.content':\n 'With Developer Edition you can analyze every pull/merge request. You can also watch the quality of your release branches by analyzing each one individually in SonarQube Server.',\n 'branch_like_navigation.no_branch_support.content_x.pr':\n 'With Developer Edition you can analyze every pull request and get the results in {alm}. You can also watch the quality of your release branches by analyzing each one individually in SonarQube Server.',\n 'branch_like_navigation.no_branch_support.content_x.mr':\n 'With Developer Edition you can analyze every merge request and get the results in {alm}. You can also watch the quality of your release branches by analyzing each one individually in SonarQube Server.',\n 'branch_like_navigation.only_one_branch.title':\n 'Learn how to analyze branches in SonarQube Server',\n 'branch_like_navigation.only_one_branch.content':\n 'Quickly set up branch analysis and get separate insights for each of your branches and Pull Requests.',\n 'branch_like_navigation.only_one_branch.documentation': 'Branches documentation',\n 'branch_like_navigation.only_one_branch.pr_analysis': 'Pull Request analysis',\n 'branch_like_navigation.tutorial_for_ci': 'Show me how to set up my CI',\n\n //------------------------------------------------------------------------------\n //\n // APPLICATIONS\n //\n //------------------------------------------------------------------------------\n 'application.cannot_access_all_child_projects1':\n 'You must have access to all the projects within this Application in order to browse it.',\n 'application.cannot_access_all_child_projects2': 'Please contact your project administrator.',\n\n //------------------------------------------------------------------------------\n //\n // PORTFOLIOS\n //\n //------------------------------------------------------------------------------\n 'portfolio.has_always_been_x': 'has always been {rating}',\n 'portfolio.was_x_y': 'was {rating} {date}',\n 'portfolio.x_in_y': '{project_branches} in {rating}',\n 'portfolio.project_branch': 'project branch',\n 'portfolio.project_branches': 'project branches',\n 'portfolio.has_qg_status': 'Has Quality Gate Status',\n 'portfolio.have_qg_status': 'Have Quality Gate Status',\n 'portfolio.empty': 'This portfolio is empty.',\n 'portfolio.no_lines_of_code': 'All projects in this portfolio are empty',\n 'portfolio.not_computed': 'This portfolio is not yet computed.',\n 'portfolio.app.empty': 'This application is empty.',\n 'portfolio.app.no_lines_of_code': 'All projects in this application are empty',\n 'portfolio.metric_trend': 'Metric trend',\n 'portfolio.lowest_rated_project_branches': 'Lowest rated project branches',\n 'portfolio.health_factors': 'Portfolio health factors',\n 'portfolio.activity_link': 'See full history of analyses',\n 'portfolio.measures_link': 'Measures',\n 'portfolio.language_breakdown_link': 'Language breakdown',\n 'portfolio.breakdown': 'Portfolio breakdown',\n 'portfolio.number_of_projects': 'Number of project branches',\n 'portfolio.number_of_lines': 'Number of lines of code',\n 'portfolio.details': 'Portfolio Details',\n 'portfolio.details.breakdown': 'Breakdown by projects, applications, and nested portfolios',\n\n 'portfolio.metric_domain.security': 'Security',\n 'portfolio.metric_domain.security_review': 'Security Review',\n\n //------------------------------------------------------------------------------\n //\n // METRIC DOMAINS HELP TEXT\n //\n //------------------------------------------------------------------------------\n\n 'portfolio.metric_domain.releasability.help':\n 'Ratio of projects in the Portfolio that have passed the Quality Gate.',\n 'portfolio.metric_domain.reliability.help':\n 'Average Reliability rating for all projects in the portfolio.',\n 'portfolio.metric_domain.vulnerabilities.help':\n 'Average security rating for all projects in the portfolio.',\n 'portfolio.metric_domain.security_hotspots.help':\n 'Average security review rating for all projects in the portfolio.',\n 'portfolio.metric_domain.maintainability.help':\n 'Average maintainability rating for all projects in the portfolio.',\n\n //------------------------------------------------------------------------------\n //\n // ENCRYPTION\n //\n //------------------------------------------------------------------------------\n 'encryption.form_intro':\n 'Secret key is registered. You can encrypt any property value with the following form:',\n 'encryption.form_note':\n 'Note that the secret key can be changed, but all the encrypted properties will have to be updated. {moreInformationLink}',\n 'encryption.encrypted_value': 'Encrypted Value:',\n 'encryption.generate_secret_key': 'Generate Secret Key',\n 'encryption.generate_new_secret_key': 'Generate New Secret Key',\n 'encryption.encrypt': 'Encrypt',\n 'encryption.secret_key_description':\n 'Secret key is required to be able to encrypt properties. {moreInformationLink}',\n 'encryption.secret_key': 'Secret Key',\n 'encryption.how_to_use': 'How To Use',\n 'encryption.how_to_use.content1':\n 'Store the secret key in the file {secret_file} of the server. This file can be relocated by defining the property {property} in {propreties_file}',\n 'encryption.how_to_use.content2':\n 'Restrict access to this file by making it readable and by owner only',\n 'encryption.how_to_use.content3':\n 'Restart the server if the property {property} has been set or changed.',\n 'encryption.how_to_use.content4':\n 'For each property that you want to encrypt, generate the encrypted value and replace the original value wherever it is stored (configuration files, command lines).',\n\n //------------------------------------------------------------------------------\n //\n // USERS\n //\n //------------------------------------------------------------------------------\n 'users.page': 'Users',\n 'users.page.description': 'Create and administer individual users.',\n 'users.page.managed_description':\n 'Your instance is managed by {provider}. No modification is allowed except for tokens and SCM account information.',\n 'users.page.managed_description.recommendation':\n 'We recommend that you delete local users to ensure all operations are done on your identity provider. Read more about {link}.',\n 'users.page.managing_users': 'managing users',\n 'users.info': 'User',\n 'users.deactivate': 'Deactivate',\n 'users.deactivate_user': 'Deactivate User',\n 'users.deactivate_user.confirmation': 'Are you sure you want to deactivate \"{0} ({1})\"?',\n 'users.delete_user': \"Delete user's personal information\",\n 'users.delete_user.help':\n 'A user account cannot be reactivated once their personal information is deleted. {link}',\n 'users.delete_user.help.link': 'Learn more',\n 'users.delete_user.documentation': 'Authentication',\n 'users.create_user': 'Create User',\n 'users.create_user.scm_account_new': 'New SCM account',\n 'users.create_user.scm_account_x': \"SCM account '{0}'\",\n 'users.update': 'Update users',\n 'users.list': 'Users list',\n 'users.update_user': 'Update User',\n 'users.cannot_update_delegated_user':\n 'You cannot update the name and email of this user, as it is controlled by an external identity provider.',\n 'users.minimum_x_characters': 'Minimum {0} characters',\n 'users.login_already_used': 'This login is already in use. Please choose another one.',\n 'users.login_invalid_characters': 'Login should contain only letters, numbers, and .-_@',\n 'users.login_start_with_letter_or_number': 'Login should start with _ or alphanumeric.',\n 'users.email': 'Email',\n 'users.email.invalid': 'Invalid email',\n 'users.last_connection': 'Last connection',\n 'users.last_sonarlint_connection': 'Last SonarQube for IDE connection',\n 'users.last_sonarlint_connection.help_text':\n 'The time of the last connection from SonarQube for IDE indicates that the user used SonarQube for IDE in connected mode.',\n 'users.update_users_groups': \"Update {0}'s group membership\",\n 'users.view_users_groups': \"View {0}'s group membership\",\n 'users.update_groups': 'Update Groups',\n 'users.update_groups.saml_enabled':\n \"Updating a group's membership when SAML is enabled will be temporary. The group membership will be updated the next time the user logs in.\",\n 'users.view_groups': 'View Groups',\n 'users.manage_user': 'Update {0}',\n 'users.update_tokens': 'Update tokens',\n 'users.update_tokens_for_x': 'Update tokens for user {0}',\n 'users.user_name': 'Name',\n 'users.add': 'Add user',\n 'users.remove': 'Remove user',\n 'users.search_description': 'Search users by login or name',\n 'users.activity_filter.label': 'Filter users by activity',\n 'users.activity_filter.placeholder': 'All users',\n 'users.activity_filter.helptext.sonarqube':\n 'Users are considered active if they connected to {productName} at least once in the past 30 days.',\n 'users.activity_filter.helptext.sonarlint':\n 'Users are considered active with SonarQube for IDE if they used SonarQube for IDE in connected mode at least once in the past 30 days.',\n 'users.activity_filter.all_users': 'All users',\n 'users.activity_filter.active_sonarlint_users': 'Active users with SonarQube for IDE',\n 'users.activity_filter.active_sonarqube_users': 'Active users without SonarQube for IDE',\n 'users.activity_filter.inactive_users': 'Inactive users',\n 'users.tokens': 'Tokens',\n 'users.user_X_tokens': 'Tokens of {user}',\n 'users.tokens.sure': 'Sure?',\n 'users.tokens.sure_X': 'Are you sure you want to revoke token {token}?',\n 'users.tokens.revoke': 'Revoke',\n 'users.tokens.revoke_label': 'Revoke token {0}',\n 'users.tokens.remove_label': 'Remove expired token {0}',\n 'users.no_tokens': 'No tokens',\n 'users.generate': 'Generate',\n 'users.tokens.PROJECT_ANALYSIS_TOKEN': 'Project Analysis Token',\n 'users.tokens.PROJECT_ANALYSIS_TOKEN.short': 'Project',\n 'users.tokens.GLOBAL_ANALYSIS_TOKEN': 'Global Analysis Token',\n 'users.tokens.GLOBAL_ANALYSIS_TOKEN.short': 'Global',\n 'users.tokens.USER_TOKEN': 'User Token',\n 'users.tokens.USER_TOKEN.short': 'User',\n 'users.tokens.generate': 'Generate Tokens',\n 'users.tokens.name': 'Name',\n 'users.tokens.enter_name': 'Enter Token Name',\n 'users.tokens.type': 'Type',\n 'users.tokens.select_type': 'Select Token Type',\n 'users.tokens.project': 'Project',\n 'users.tokens.select_project': 'Select Project',\n 'users.tokens.expires_in': 'Expires in',\n 'users.tokens.expiration.30': '30 days',\n 'users.tokens.expiration.90': '90 days',\n 'users.tokens.expiration.365': '1 year',\n 'users.tokens.expiration.0': 'No expiration',\n 'users.tokens.new_token_created':\n 'New token \"{0}\" has been created. Make sure you copy it now, you won\\'t be able to see it again!',\n 'users.generate_new_token': 'Generate New Token',\n 'users.new_token': 'New token value',\n 'users.change_admin_password.page': 'Change password',\n 'users.change_admin_password.instance_is_at_risk': 'Secure your {productName} instance',\n 'users.change_admin_password.header': 'Default Administrator credentials are still used',\n 'users.change_admin_password.description':\n \"Your {productName} instance is still using default administrator credentials. You must change the password for the 'admin' account to secure your {productName} instance.\",\n 'users.change_admin_password.form.header': \"Change the password for user 'admin'\",\n 'users.change_admin_password.form.success': \"The admin user's password was successfully changed.\",\n 'users.change_admin_password.form.continue_to_app': 'Continue to {productName}',\n 'users.filter.by': 'Filter by',\n\n //------------------------------------------------------------------------------\n //\n // GROUPS\n //\n //------------------------------------------------------------------------------\n 'user_groups.page': 'Groups',\n 'user_groups.page.description': 'Create and administer groups of users.',\n 'user_groups.page.group_header': 'Name',\n 'user_groups.page.managed_description':\n 'Your instance is managed by {provider}. No modification is allowed.',\n 'user_groups.page.managed_description.recommendation':\n 'We recommend you delete local groups. All other operations should be done on your identity provider. Read more about {link}.',\n 'user_groups.page.managing_groups': 'managing groups',\n 'user_groups.anyone.description':\n 'Anybody who browses the application belongs to this group. If authentication is not enforced, assigned permissions also apply to non-authenticated users.',\n 'groups.delete_group': 'Delete Group',\n 'groups.delete_group.confirmation': 'Are you sure you want to delete \"{0}\"?',\n 'groups.create_group': 'Create Group',\n 'groups.update_group': 'Update Group',\n 'groups.users.edit': 'Change {0} members',\n 'groups.users.view': 'View {0} members',\n 'groups.edit': 'Edit {0}',\n 'group_membership.remove_user.error': 'User {0} is not a member of group {1}',\n\n //------------------------------------------------------------------------------\n //\n // MAINTENANCE\n //\n //------------------------------------------------------------------------------\n 'maintenance.page': 'Maintenance',\n 'maintenance.upgrade_failed': 'Upgrade Failed',\n 'maintenance.upgrade_failed.text':\n 'Database connection cannot be established. Please check database status and JDBC settings.',\n 'maintenance.migration_not_supported': 'Migration not supported',\n 'maintenance.migration_not_supported.text': 'Migration is not supported on embedded databases.',\n 'maintenance.back_up_database': 'Back up your database',\n 'maintenance.back_up_database.1':\n 'When upgrading commences, you will no longer be able to back up your database or recover any lost data.',\n 'maintenance.back_up_database.2': 'Continue only after you have backed up your database.',\n 'maintenance.upgrade_database': 'Upgrade database',\n 'maintenance.upgrade_database.1': 'Upgrading your database can take several minutes.',\n 'maintenance.upgrade_database.2': 'For guidance, view the {link}',\n 'maintenance.upgrade_database.2.link': 'SonarQube Server upgrade guide',\n 'maintenance.upgrade': 'Start upgrade',\n 'maintenance.database_migration': 'Database Migration',\n 'maintenance.database_is_up_to_date': 'Database is up-to-date',\n 'maintenance.is_down': '{instance} is down',\n 'maintenance.sonarqube_is_down.text':\n 'Something went wrong. Please contact your system administrator.',\n 'maintenance.try_again': 'Try Again',\n 'maintenance.is_under_maintenance': '{instance} is under maintenance',\n 'maintenance.sonarqube_is_under_maintenance.1': 'While waiting, install {link} in your IDE!',\n 'maintenance.sonarqube_is_under_maintenance_link.1': 'SonarQube for IDE',\n 'maintenance.sonarqube_is_under_maintenance.2':\n 'If you are an administrator and have no idea why this message is being shown, you should read the {link}.',\n 'maintenance.sonarqube_is_under_maintenance_link.2': 'upgrade guide',\n 'maintenance.is_starting': '{instance} is starting',\n 'maintenance.is_up': '{instance} is up',\n 'maintenance.all_systems_opetational': 'All systems operational.',\n 'maintenance.is_offline': '{instance} is offline',\n 'maintenance.sonarqube_is_offline.text':\n 'The connection to {productName} is lost. Please contact your system administrator.',\n 'maintenance.running.progress': '{completed} migrations completed out of {total}',\n 'maintenance.running.estimate': 'Estimated completion time: {date}',\n\n //------------------------------------------------------------------------------\n //\n // INDEXING\n //\n //------------------------------------------------------------------------------\n 'indexation.in_progress': 'Reindexing in progress.',\n 'indexation.details_unavailable': 'Details are unavailable until this process is complete.',\n 'indexation.features_partly_available':\n 'Most features are available. Some details only show upon completion. {link}',\n 'indexation.features_partly_available.link': 'More info',\n 'indexation.progression': '{count} out of {total} projects reindexed.',\n 'indexation.progression_with_error':\n '{count} out of {total} projects reindexed with some {link}.',\n 'indexation.progression_with_error.link': 'tasks failing',\n 'indexation.completed': 'All project data has been reloaded.',\n 'indexation.completed_with_error':\n '{productName} completed the reload of project data. Some {link} causing some projects to remain unavailable.',\n 'indexation.completed_with_error.link': 'tasks failed or canceled',\n 'indexation.admin_link': 'See {link} for more information.',\n 'indexation.page_unavailable.title.issues': 'Issues page is temporarily unavailable',\n 'indexation.page_unavailable.title.portfolios': 'Portfolios page is temporarily unavailable',\n 'indexation.page_unavailable.title':\n '{componentQualifier} {componentName} is temporarily unavailable',\n 'indexation.page_unavailable.description': '{productName} is reindexing project data.',\n 'indexation.page_unavailable.description.additional_information':\n 'This page is unavailable until this process is complete. {link}',\n 'indexation.filter_unavailable.description':\n 'This filter is unavailable until this process is complete.',\n 'indexation.learn_more': 'Learn more:',\n 'indexation.reindexing': 'Reindexing',\n 'indexation.filters_unavailable':\n 'Some filters are unavailable until this process is complete. {link}',\n 'indexation.upgrade_survey_link':\n 'Help us improve the upgrade experience. <link>Click here to share your thoughts.</link>',\n\n //------------------------------------------------------------------------------\n //\n // HOMEPAGE\n //\n //------------------------------------------------------------------------------\n 'homepage.current':\n 'This page is your homepage. Click to revert to the default homepage. Click on the top-left logo to find it anytime.',\n 'homepage.current.is_default':\n 'This page is your homepage. Click on the top-left logo to find it anytime.',\n 'homepage.check': 'Click to make the current page your homepage.',\n\n //------------------------------------------------------------------------------\n //\n // FAVORITE\n //\n //------------------------------------------------------------------------------\n 'favorite.action.TRK.add': 'Add this project to favorites',\n 'favorite.action.TRK.remove': 'Remove this project from favorites',\n 'favorite.action.VW.add': 'Add this portfolio to favorites',\n 'favorite.action.VW.remove': 'Remove this portfolio from favorites',\n 'favorite.action.SVW.add': 'Add this sub-portfolio to favorites',\n 'favorite.action.SVW.remove': 'Remove this sub-portfolio from favorites',\n 'favorite.action.APP.add': 'Add this application to favorites',\n 'favorite.action.APP.remove': 'Remove this application from favorites',\n 'favorite.action.TRK.add_x': 'Add project {0} to favorites',\n 'favorite.action.TRK.remove_x': 'Remove project {0} from favorites',\n 'favorite.action.VW.add_x': 'Add portfolio {0} to favorites',\n 'favorite.action.VW.remove_x': 'Remove portfolio {0} from favorites',\n 'favorite.action.SVW.add_x': 'Add sub-portfolio {0} to favorites',\n 'favorite.action.SVW.remove_x': 'Remove sub-portfolio {0} from favorites',\n 'favorite.action.APP.add_x': 'Add application {0} to favorites',\n 'favorite.action.APP.remove_x': 'Remove application {0} from favorites',\n\n //------------------------------------------------------------------------------\n //\n // WEBHOOKS\n //\n //------------------------------------------------------------------------------\n 'webhooks.page': 'Webhooks',\n 'webhooks.create': 'Create Webhook',\n 'webhooks.delete': 'Delete Webhook',\n 'webhooks.delete.confirm': 'Are you sure you want to delete the webhook \"{0}\"?',\n 'webhooks.description0':\n 'Webhooks are used to notify external services when a project analysis is done.',\n 'webhooks.description1':\n 'An HTTP POST request including a JSON payload is sent to each of the provided URLs. Learn more in the {url}.',\n 'webhooks.deliveries.show': 'Show recent deliveries',\n 'webhooks.show_actions': 'Show actions for webhook {0}',\n 'webhooks.deliveries_for_x': 'Recent deliveries of {0}',\n 'webhooks.delivery.duration_x': 'Duration: {0}',\n 'webhooks.delivery.payload': 'Payload:',\n 'webhooks.delivery.response_x': 'Response: {0}',\n 'webhooks.delivery.server_unreachable': 'Server Unreachable',\n 'webhooks.documentation_link': 'Webhooks documentation',\n 'webhooks.last_execution': 'Last delivery',\n 'webhooks.last_execution.none': 'Never',\n 'webhooks.last_execution.open_for_x': 'Open last delivery of {0}',\n 'webhooks.latest_delivery_for_x': 'Last delivery of {0}',\n 'webhooks.maximum_reached':\n 'You reached your maximum number of {0} webhooks. You can still update or delete an existing one.',\n 'webhooks.name': 'Name',\n 'webhooks.name.required': 'Name is required.',\n 'webhooks.no_result': 'No webhook defined.',\n 'webhooks.update': 'Update Webhook',\n 'webhooks.secret': 'Secret',\n 'webhooks.secret_header': 'Has secret?',\n 'webhooks.secret.bad_format': 'Secret length must be between 16 and 200 characters.',\n 'webhooks.secret.description':\n \"If provided, secret will be used as the key to generate the HMAC hex (lowercase) digest value in the 'X-Sonar-Webhook-HMAC-SHA256' header.\",\n 'webhooks.secret.description.update':\n 'If blank, any secret previously configured will be removed. If not set, the secret will remain unchanged.',\n 'webhooks.secret.field_mask.description': 'Hidden for security reasons: {link}.',\n 'webhooks.secret.field_mask.link': ' edit secret',\n 'webhooks.url': 'URL',\n 'webhooks.url.bad_format': 'Bad format of URL.',\n 'webhooks.url.bad_protocol': 'URL must start with \"http://\" or \"https://\".',\n 'webhooks.url.description':\n 'Server endpoint that will receive the webhook payload, for example: \"http://my_server/foo\". If HTTP Basic authentication is used, HTTPS is recommended to avoid man in the middle attacks. Example: \"https://myLogin:myPassword@my_server/foo\"',\n 'webhooks.url.required': 'URL is required.',\n\n //------------------------------------------------------------------------------\n //\n // COMPONENT REPORT\n //\n //------------------------------------------------------------------------------\n 'component_report.report': '{0} PDF report',\n 'component_report.download': 'Download {0} PDF report',\n 'component_report.no_email_to_subscribe': 'Email subscription requires an email address.',\n 'component_report.subscribe_x': 'Subscribe to {0} report',\n 'component_report.unsubscribe_x': 'Unsubscribe from {0} report',\n 'component_report.unsubscribe': 'Unsubscribe from report',\n 'component_report.unsubscribe.description':\n 'If you no longer wish to receive these reports via email, you can unsubscribe by clicking on the button below.',\n 'component_report.subscribe_x_success':\n 'Subscription successful. You will receive a {frequency} report for this {qualifier} by email.',\n 'component_report.subscribe_x_success_no_frequency':\n 'Subscription successful. You will start receiving a report for this {qualifier} by email',\n 'component_report.unsubscribe_x_success':\n 'You have successfully unsubscribed from receiving {frequency} PDF report about this {qualifier}',\n 'component_report.unsubscribe_x_success_no_frequency':\n 'You have successfully unsubscribed from receiving PDF report about this {qualifier}',\n 'component_report.unsubscribe_success':\n \"Subscription successfully canceled. You won't receive these reports by email anymore.\",\n 'component_report.unsubscribe.page_title': 'Unsubscribe from report',\n\n //------------------------------------------------------------------------------\n //\n // GUIDING\n //\n //------------------------------------------------------------------------------\n 'guiding.step_x_of_y': '{0} of {1}',\n\n //------------------------------------------------------------------------------\n //\n // MODE TOUR\n //\n //------------------------------------------------------------------------------\n 'mode_tour.name': 'Standard Experience and MQR mode tour',\n 'mode_tour.link': 'Learn more about the modes in documentation',\n 'mode_tour.step1.title': 'Welcome to SonarQube Server {version}!',\n 'mode_tour.step1.img_alt':\n 'Visual presentation of the difference of the issue in the two new modes',\n 'mode_tour.step1.description':\n '<p1>We have introduced two modes - <b>Standard Experience</b> and <b>Multi-Quality Rule (MQR) Mode</b> - to empower you and your team to either continue using familiar workflows or explore new concepts.</p1><p>Take this tour to see what the difference is between them.</p>',\n 'mode_tour.step2.title': 'Standard Experience',\n 'mode_tour.step2.img_alt':\n 'Visual presentation of the new look of Standard Experience badges: Vulnerability, Bug and Code Smell',\n 'mode_tour.step2.description':\n '<p1>The Standard Experience encompasses the use of rule types such as <b>Vulnerabilities</b>, <b>Bugs</b>, and <b>Code Smells</b>. Each rule has a single type and severity level, which you can customize with appropriate permissions.</p1><p>This approach focuses on assigning severity to a rule based on the single software quality (e.g., Security, Reliability, or Maintainability) on which it has the most significant impact.</p>',\n 'mode_tour.step3.title': 'Multi-Quality Rule Mode',\n 'mode_tour.step3.img_alt':\n 'Visual presentation of the new Software Quality badges: Security, Reliability and Maintainability and their connection to the corresponding Standard Experience badges',\n 'mode_tour.step3.description':\n \"<p1>The new Multi-Quality Rule Mode aims to more accurately represent an issue's impact on all software qualities. </p1><p>It does this by assigning a separate severity to a rule for each software quality (Security, Reliability, and Maintainability), which replaces the types (Vulnerabilities, Bugs, and Code Smells). You can customize the severity level with appropriate permissions.</p><p>This approach focuses on ensuring the impact on all software qualities is clear, not just the one most severely impacted.</p>\",\n 'mode_tour.step4.title': 'Switch modes',\n 'mode_tour.step4.img_alt':\n 'Visual presentation of switch between Standard Experience and MQR mode in the Administation settings',\n 'mode_tour.step4.description':\n '<p1>You are currently in <b>{mode}</b>.</p1><p>It can be changed with sufficient permissions by going to Administration > Configuration > General Settings > Mode.</p><p>Your instance will start in the mode that most closely resembles the software version you are upgrading from.</p>',\n 'mode_tour.step5.title': 'You can replay the tour from the help section',\n\n //------------------------------------------------------------------------------\n //\n // Developer Server Extension\n //\n //------------------------------------------------------------------------------\n\n 'application_console.edit': 'Edit Application',\n 'application_console.project_inaccessible': 'You do not have access to this project',\n 'application_console.branches': 'Application Branches',\n 'application_console.branches.action_x': 'Open application branch {0} actions',\n 'application_console.branches.edit_x': 'Edit application branch {0}',\n 'application_console.branches.enable_x': 'Check to enable project {0} in this branch',\n 'application_console.branches.delete_x': 'Delete application branch {0}',\n 'application_console.branches.cannot_access_all_child_projects':\n 'You must have access to all projects in this Application in order to administer branches.',\n 'application_console.branches.cancel': 'Cancel',\n 'application_console.branches.configuration': 'Branch configuration',\n 'application_console.branches.create': 'Create branch',\n 'application_console.branches.create.verb': 'Create',\n 'application_console.branches.create.help':\n \"For each project of your Application, choose a project branch that will be displayed inside the Application's branch.\",\n 'application_console.branches.delete': 'Delete branch',\n 'application_console.branches.delete.warning_x': 'Are you sure you want to delete \"{0}\" ?',\n 'application_console.branches.help':\n \"Track branches other than the main branch of this application's projects.\",\n 'application_console.branches.main_branch': 'Main Branch',\n 'application_console.branches.update': 'Update branch',\n 'application_console.branches.update.verb': 'Update',\n 'application_console.branches.rename': 'Rename branch',\n 'application_console.branches.no_branches':\n 'No branches yet. You can create branches once projects are selected for this Application.',\n 'application_console.page': 'Edit Definition',\n 'application_console.delete_application': 'Delete Application',\n 'application_console.recompute': 'Recompute',\n 'application_console.refresh_started': 'Your application will be recomputed soon',\n 'application_console.do_you_want_to_delete': 'Are you sure that you want to delete \"{0}\"?',\n\n 'ai_generated_code.page': 'AI-Generated Code',\n 'ai_generated_code.contains_code': 'Contains AI-generated code',\n 'ai_generated_code.description':\n '<p>Select this option if your project contains AI-generated code.</p><p>This is the first step to obtain Sonar’s <link>AI Code Assurance</link>.</p>',\n 'ai_generated_code_protected.title': 'Your AI-generated code is protected',\n 'ai_generated_code_protected.description':\n 'The quality gate used by this project is qualified for AI Code Assurance.',\n 'ai_generated_code_not_protected.title':\n 'Protect your AI-generated code with ‘AI Code Assurance’',\n 'ai_generated_code_not_protected.description':\n 'The quality gate used by this project is not qualified for AI Code Assurance.',\n 'ai_generated_code.change_quality_gate': 'Change Quality Gate',\n 'ai_generated_code.success_message': 'AI-generated Code setting has been successfully updated.',\n\n //------------------------------------------------------------------------------\n //\n // Enterprise Server Extension\n //\n //------------------------------------------------------------------------------\n\n 'views.add': 'Add',\n 'views.all': 'All',\n 'views.apply': 'Apply',\n 'views.by_default': 'All remaining projects not associated to \"{0}\"',\n 'views.by_language': 'All projects whose language is',\n 'views.by_manual_measure': 'All projects whose manual measure',\n 'views.by_manual_measure.none_available':\n 'No metrics available. Please create a manual metric with type \"Text\" on the \"Manual Metrics\" page.',\n 'views.is': 'is',\n 'views.by_none': 'Following manually selected projects:',\n 'views.by_regexp': 'All projects matching regular expression',\n 'views.cannot_delete_referred_view':\n 'Portfolio \"{0}\" must be removed from the following portfolio(s) before it is deleted:',\n 'views.collapse': 'collapse',\n 'views.refresh': 'Refresh',\n 'views.recompute': 'Recompute',\n 'views.recompute_all': 'Recompute All',\n 'views.create': 'Create',\n 'views.create_new': 'Create Portfolio',\n 'views.create_success': 'Portfolio was successfully created',\n 'views.criteria': 'Criteria',\n 'views.deleted_metric': '<deleted manual metric>',\n 'views.deleted_project': 'Deleted project',\n 'views.deleted_server': 'Server has been removed',\n 'views.deleted_view':\n 'The definition of this portfolio has probably been deleted and this portfolio will not appear anymore once the portfolios have all been rebuilt.',\n 'views.delete_success': 'Portfolio definition \"{0}\" has been successfully deleted',\n 'views.delete_view': 'delete',\n 'views.delete.project': 'Remove Project',\n 'views.delete.subview': 'Delete Portfolio',\n 'views.delete.view': 'Delete Portfolio',\n 'views.remove_x': 'Remove {0}',\n 'view.refresh.started': 'All portfolios will be recomputed soon',\n 'view.refresh.started.one': 'Your portfolio will be recomputed soon',\n 'views.do_you_want_to_change_selection_mode':\n 'This action will replace any existing project selection on portfolio \"{0}\". Do you want to continue?',\n 'views.is_referenced_by': 'This will automatically delete \"{0}\" from all its parent portfolios',\n 'views.do_you_want_to_delete_x': 'Are you sure that you want to delete \"{0}\"?',\n 'views.do_you_want_to_remove_x': 'Are you sure that you want to remove \"{0}\"?',\n 'views.do_you_want_to_delete_subview': 'Are you sure that you want to delete portfolio \"{0}\"?',\n 'views.do_you_want_to_delete_project_from_view':\n 'Are you sure that you want to remove project \"{0}\" from portfolio \"{1}\"?',\n 'views.do_you_want_to_delete_project_from_subview':\n 'Are you sure that you want to remove project \"{0}\" from portfolio \"{1}\"?',\n 'views.duplicate_key': 'A portfolio with the key \"{0}\" already exists',\n 'views.edit': 'Edit',\n 'views.edit_subview': 'Edit \"{0}\"',\n 'views.edit_view': 'Edit \"{0}\"',\n 'views.filter_projects': 'Filter',\n 'views.associate.view.explain': 'Associate projects with one of the following options:',\n 'views.associate.subview.explain': 'Associate projects with one of the following options:',\n 'views.empty.language': \"can't be blank\",\n 'views.empty.regexp': \"can't be blank\",\n 'views.empty': 'empty',\n 'views.expand': 'expand',\n 'views.hierarchy': 'hierarchy',\n 'views.invalid.criteria': 'Only one criteria can be used (regexp, language or manual measure)',\n 'views.invalid.key':\n '\"{0}\" is invalid. Only letters, digits, dashes and underscores are supported.',\n 'views.invalid.regexp': 'is not a valid java regular expression, for example [a-zA-Z]*-[0-9]+',\n 'views.invalid.tag_key': \"can't be blank\",\n 'views.invalid.tag_value': \"can't be blank if a value is specified\",\n 'views.language.desc': 'Filter on a language',\n 'views.language': 'Language',\n 'views.list': 'Portfolios',\n 'views.mode.standard': 'Standard',\n 'views.mode.local': 'Reference',\n 'views.move': 'Move',\n 'views.move.project': 'Move \"{0}\" into',\n 'views.move.select.new.parent.view': 'Select destination',\n 'views.move.subview': 'Move \"{0}\" into',\n 'views.application.branches': 'Select branches to compute',\n 'views.new_portfolio': 'Add Portfolio',\n 'views.new_application': 'Add Application',\n 'views.new_child_to': 'Add Portfolio to \"{0}\"',\n 'views.new_application_to': 'Add Application to \"{0}\"',\n 'views.none': 'No portfolios',\n 'views.no_project': 'No project',\n 'views.no_server': 'No server',\n 'views.no_server_available': 'No server available',\n 'views.open_dashbard': 'Open Dashboard',\n 'views.projects_distribution': 'Projects distribution',\n 'views.projects_distribution.in': '{count} in {rating}',\n 'views.projects_distribution.quality_gate': '{rating}: {count}',\n 'views.projects.add': 'Add Projects',\n 'views.projects.associate': 'Associate Projects to \"{0}\"',\n 'views.projects.associated': 'Associated Projects',\n 'views.referenced_x': 'Referenced {0}',\n\n 'views.structure.nav': 'Portfolio structure navigation menu',\n\n //\n // When updating the line below, please also update com.sonar.views.batch.ViewFilters.languageFilter(View)\n //\n 'views.projects.by_regexp': 'All projects matching regular expression \"{0}\"',\n 'views.projects.by_tag': 'All projects whose {0} is {1}',\n 'views.projects.selection_mode': 'Projects and branches selection mode',\n 'views.projects.selection_mode.NONE': 'None',\n 'views.projects.selection_mode.NONE.description':\n 'No project branches are associated to this portfolio.',\n 'views.projects.selection_mode.MANUAL': 'Manual',\n 'views.projects.selection_mode.MANUAL.root': 'Manual',\n 'views.projects.selection_mode.MANUAL.description':\n 'This portfolio contains only manually selected project branches.',\n 'views.projects.selection_mode.MANUAL.branches_selection': 'Edit selected branches',\n 'views.projects.selection_mode.MANUAL.branches_selection.description':\n 'Only branches excluded from purge are available for selection',\n 'views.projects.selection_mode.REGEXP': 'By regular expression',\n 'views.projects.selection_mode.REGEXP.root': 'By regular expression',\n 'views.projects.selection_mode.REGEXP.description':\n 'This portfolio contains the {branch} branch of every project matching {regexp}.',\n 'views.projects.selection_mode.REST': 'All Remaining Projects',\n 'views.projects.selection_mode.REST.root': 'All Projects',\n 'views.projects.selection_mode.REST.description':\n 'This portfolio contains the {branch} branch of every project that does not belong to any other sub-portfolio, referenced portfolio, or referenced application, within this hierarchy.',\n 'views.projects.selection_mode.TAGS': 'By tags',\n 'views.projects.selection_mode.TAGS.root': 'By tags',\n 'views.projects.selection_mode.TAGS.description':\n 'This portfolio contains the {branch} branch of every project marked by the following tags: {tags}.',\n 'views.projects.selection_mode.main_branch': 'main',\n 'views.already_selected_in': '\"{0}\" is already selected in \"{1}\"',\n 'views.projects.select_language': 'Language',\n 'views.projects.set': 'Associate Projects',\n 'views.projects': 'Projects',\n 'views.regexp.desc':\n 'A valid regular expression, eg. \".*Business\" to match project names or keys that end with \"Business\".',\n 'views.regexp': 'Regexp',\n 'views.remove_project': 'Remove',\n 'views.search': 'Search',\n 'views.set_criteria': 'Set criteria',\n 'views.server': 'Server',\n 'views.structure.name': 'Structure of the portfolio',\n 'views.tag.desc': 'Manual measure',\n 'views.tag': 'Manual measure',\n 'views.update': 'Update',\n 'views.update_success': 'Portfolio was successfully updated',\n 'views.view': 'Portfolio',\n 'views.advanced_settings': 'Advanced Settings',\n 'views.key.description':\n 'If specified, this value is used as the key instead of generating it from the name of the Portfolio.',\n 'views.key.valid_characters':\n 'Only letters, digits, dashes, dots, colons and underscores can be used, with at least one non-digit.',\n 'views.project_already_selected_in_x': 'Already manually selected in \"{0}\"',\n 'views.project_already_selected.help':\n 'Ensure that each project/branch is included only once in the portfolio hierarchy. The portfolio computation will fail otherwise. Please note that projects may still be selected multiple times, if a dynamic selection mode is used (by tag or by regular expression).',\n 'views.app_x_already_selected': 'Application \"{0}\" was already manually added to this hierarchy.',\n 'views.app_already_selected.help':\n 'Ensure that each application/branch is included only once in the portfolio hierarchy. The portfolio computation will fail otherwise.',\n\n 'portfolio.edit_selection_mode': 'Edit selection mode',\n 'portfolio.selection_mode': 'Project selection mode',\n 'portfolio.regexp': 'Regexp',\n 'portfolio.regexp.description':\n 'A valid regular expression, eg. \".*Business\" to match project names or keys that end with \"Business\".',\n 'portfolio.tags': 'Tag selection',\n 'portfolio.branch': 'Branch selection',\n 'portfolio.branch.description':\n 'The branch name that will be selected for every project if it exists. Leave empty to select the main branch.',\n 'portfolio.custom_measure': 'Custom Measure',\n 'portfolio.deprecated_custom_measure_mode':\n '\"By Custom Measure\" selection mode is deprecated. Please use \"By Tags\" instead.',\n\n 'portfolio_console.project_inaccessible': 'You do not have access to this project',\n\n // background task\n 'background_task.type.VIEW_REFRESH': 'Portfolio Recomputation',\n\n // Governance Page\n 'governance.x_portfolios': '{count} portfolios',\n 'governance.section.releasability': 'Releasability',\n 'governance.section.reliability': 'Reliability',\n 'governance.section.review': 'Security Review',\n 'governance.section.security': 'Security',\n 'governance.section.maintainability': 'Maintainability',\n 'governance.section.application.reliability': 'Bugs',\n 'governance.section.application.security': 'Vulnerabilities',\n 'governance.section.application.security_hotspots_reviewed': 'Hotspots Reviewed',\n 'governance.section.application.maintainability': 'Code Smells',\n 'governance.projects': 'Projects',\n 'governance.x_projects_failed': '{0} project(s) failed',\n 'governance.x_projects_in_y': '{projectCount} project(s) in {rating}',\n 'governance.and': 'and',\n 'governance.has_always_been_x': 'has always been {rating}',\n 'governance.was': 'was',\n 'governance.not_computed.VW': 'This portfolio is not yet computed.',\n 'governance.not_computed.APP': 'This application is not yet computed.',\n 'governance.no_projects.VW': 'This portfolio is empty.',\n 'governance.no_projects.APP': 'This application is empty.',\n 'governance.no_ncloc.VW': 'This portfolio contains only empty projects.',\n 'governance.no_ncloc.APP': 'This application contains only empty projects.',\n 'governance.show_all': 'Show All',\n 'governance.no_security_review_rating': 'Not yet computed',\n\n // Metrics\n 'metric.releasability_effort.name': 'Total Number of Projects not Production Ready',\n 'metric.releasability_effort.description': 'Total number of projects not production ready',\n\n // Report\n 'report.page': 'Executive Report',\n 'report.cant_download': \"You don't have right permissions to see the report.\",\n 'report.can_download': 'You can print the main information from this page into a PDF file.',\n 'report.configured_globally_note': '(configured globally)',\n 'report.configuration': 'Advanced Configuration',\n 'report.frequency': 'Frequency',\n 'report.frequency.admin': 'Customize the frequency used to send PDF reports for that portfolio.',\n 'report.frequency.default': 'Default',\n 'report.frequency.default.description': 'Globally configured value is used.',\n 'report.frequency.daily': 'Daily',\n 'report.frequency.daily.description':\n 'Report is sent during the first portfolio calculation of the day (if any).',\n 'report.frequency.daily.effective': 'every day',\n 'report.frequency.weekly': 'Weekly',\n 'report.frequency.weekly.description':\n 'Report is sent during the first portfolio calculation of the week (if any), starting from Midnight on Monday.',\n 'report.frequency.weekly.effective': 'every week',\n 'report.frequency.monthly': 'Monthly',\n 'report.frequency.monthly.description':\n 'Report is sent during the first portfolio calculation of the month (if any), starting from the first day of the current month.',\n 'report.frequency.monthly.effective': 'every month',\n 'report.recipients': 'Other Recipients',\n 'report.recipients.admin':\n 'Add email addresses of people who do not have an account on SonarQube Server but still want to get PDF reports for that portfolio.',\n 'report.work_duration.x_days': '{0} days',\n 'report.work_duration.one_day': '1 day',\n 'report.work_duration.x_hours': '{0} hours',\n 'report.work_duration.one_hour': '1 hour',\n 'report.work_duration.x_minutes': '{0} minutes',\n 'report.work_duration.one_minute': '1 minute',\n 'report.work_duration.about': '~ {0}',\n 'report.delete_recipient': 'Delete recipient {0}',\n\n 'application_settings.page': 'Application Settings',\n 'application_settings.report': 'Application Report Settings',\n 'application_settings.report.frequency': 'Application Reports Frequency',\n\n 'portfolios.search': 'Search for portfolios...',\n 'portfolios.search_in_structure': 'Search in structure...',\n 'portfolios.explore_portfolios': 'Explore Portfolios',\n 'portfolios.search_all_portfolios': 'Search all Portfolios',\n 'portfolios.create_portfolio': 'Create Portfolio',\n 'portfolios.edit_portfolio': 'Edit Portfolio',\n\n 'portfolios.empty.title.filtered.favorite':\n \"We couldn't find any results matching selected criteria in your favorites.\",\n 'portfolios.empty.title.filtered.all': \"We couldn't find any results matching selected criteria.\",\n 'portfolios.empty.title.unfiltered.favorite': \"You don't have any favorite portfolios yet.\",\n 'portfolios.empty.title.unfiltered.all': 'There are no portfolios yet.',\n\n 'portfolios.empty.description.filtered.favorite':\n 'Would you like to search among all portfolios?',\n 'portfolios.empty.description.filtered.all':\n 'Try changing your search query to get some results.',\n 'portfolios.empty.description.unfiltered.favorite':\n 'To easily access portfolios your are interested in, mark them as favorite.',\n 'portfolios.empty.description.unfiltered.all':\n 'Portfolios offer an overview of the quality of all projects within each of them.',\n\n 'portfolio_overview.title': 'Overview',\n 'portfolio_overview.desciption':\n 'A summary of information from the project branches that was chosen for this portfolio. To learn more about how portfolio ratings are calculated, see {link}.',\n 'portfolio_overview.desciption.link': 'managing portfolios documentation',\n\n 'portfolio_overview.breakdown': 'Portfolio Breakdown',\n 'portfolio_overview.intro':\n 'A detailed list of ratings for this portfolio and the projects, applications, and nested portfolios contained within it that you are allowed to browse. Switch between new code and overall code to see the ratings. Learn more about <link>portfolio breakdowns</link>.',\n\n 'portfolio_overview.empty': 'This portfolio is empty.',\n 'portfolio_overview.empty.description':\n 'Add projects and applications to your portfolio definition to compute quality metrics.',\n 'portfolio_overview.no_lines_of_code': 'All projects in this portfolio are empty',\n 'portfolio_overview.not_computed': 'This portfolio is not yet computed.',\n 'portfolio_overview.need_recompute':\n 'Measures on new code have been added. Recompute the portfolio to see the new measures.',\n\n 'portfolio_overview.risk.no_measure': 'Not yet computed',\n\n 'portfolio_overview.projects_distribution': 'Projects distribution',\n 'portfolio_overview.projects_x': '{0} Projects',\n 'portfolio_overview.lines_of_code_x': '{count} Lines of code',\n 'portfolio_overview.activity': 'Activity',\n 'portfolio_overview.measures': 'Measures',\n 'portfolio_overview.language_breakdown': 'Language Breakdown',\n 'portfolio_overview.metric_trend': 'Metric trend',\n 'portfolio_overview.risk': 'Risk',\n 'portfolio_overview.overall_code': 'Overall Code',\n 'portfolio_overview.new_code': 'New Code',\n 'portfolio_overview.project_branches_x': '{0} selected project branches',\n 'portfolio_overview.project_branches_all': 'All selected project branches',\n 'portfolio_overview.project_branches_rating': '{link} in {rating}',\n 'portfolio_overview.see_all': 'See All',\n 'portfolio_overview.cannot_see_all': 'Some projects are inaccessible',\n 'portfolio_overview.cannot_see_all.help':\n 'You do not have access to all projects in this portfolio',\n\n 'portfolio_overview.new_code_definition':\n 'The metrics below show ratings on both New Code (code that has been added or changed according to your New Code definition) and Overall Code. With {cayc}, your focus is on New Code to ensure the code you write today is clean and safe. {link}.',\n 'portfolio_overview.new_code_definition.link': 'Learn more about New vs Overall Code',\n 'portfolio_overview.cayc_definition.link': 'Clean as You Code',\n\n 'portfolio_overview.releasability.title': 'Releasability',\n 'portfolio_overview.releasability.description':\n 'Ratio of passing Quality Gates over failing ones. The Quality Gate of a project can have conditions both on New Code and Overall Code.',\n 'portfolio_overview.releasability.help':\n \"This rating is based on the ratio of passing Quality Gates over failing ones for all projects in your Portfolio. Projects' Quality Gates have conditions on both New Code and Overall Code.\",\n 'portfolio_overview.releasability.rating.help':\n 'This rating is based on the ratio of passing Quality Gates over failing ones. The Quality Gate of a project can have conditions both on New Code and Overall Code.',\n 'portfolio_overview.releasability.portfolio_health': 'Portfolio health',\n 'portfolio_overview.releasability.pagination': '{0} of {1}',\n 'portfolio_overview.releasability.no_failing_projects':\n 'None of the projects have a failing Quality Gate.',\n 'portfolio_overview.releasability.project_inaccessible':\n 'You do not have access to any of the failing project branches.',\n\n 'portfolio_overview.reliability_rating.title': 'Reliability',\n 'portfolio_overview.reliability_rating.description':\n 'Average reliability rating. Issues in this domain mark code where you will get behavior other than what was expected.',\n\n 'portfolio_overview.security_rating.title': 'Security',\n 'portfolio_overview.security_rating.description':\n 'Average security rating. Issues in this domain mark potential weaknesses to hackers.',\n\n 'portfolio_overview.security_review_rating.title': 'Security Review',\n 'portfolio_overview.security_review_rating.description':\n 'Average security review rating. This domain represents potential security risks in the form of hotspots and their review status.',\n\n 'portfolio_overview.sqale_rating.title': 'Maintainability',\n 'portfolio_overview.sqale_rating.description':\n 'Average maintainability rating. Issues in this domain mark code that will be more difficult to update competently than it should.',\n\n //------------------------------------------------------------------------------\n //\n // License Extension\n //\n //------------------------------------------------------------------------------\n\n 'license.usage': 'License Usage',\n 'license.usage.description':\n 'In order to determine how much each project contributes, the license takes into account the number of {link} on the largest branch of that project. Lines of test code do not count towards your license usage.',\n 'license.usage.description.link': 'lines of code',\n 'license.usage.download.download': 'Download projects license usage',\n 'license.component_navigation.button.LICENSING': 'Go to License page',\n 'license.component_navigation.button.LICENSING_LOC': 'Go to License page',\n 'license.enter_your_license': 'Please enter your license key.',\n 'license.enter_license': 'Enter your license key',\n 'license.enter_license_for_x': 'Enter your license key for {0}',\n 'license.expiresAt': 'Expiration',\n 'license.expiresAt.error': 'Your license has expired. Please set a new license.',\n 'license.isSupported': 'Support included',\n 'license.lines_of_code': 'Lines of Code',\n 'license.edition': 'Edition',\n 'license.edition.error': 'Please provide a valid license for your edition.',\n 'license.near_threshold':\n 'You have almost reached your lines of code limit. Please contact SonarSource to increase the threshold.',\n 'license.official_version_message_start':\n 'Installing a Commercial Edition on top of a non official distribution of SonarQube Server is not supported. As a consequence, all analyses are suspended. Please download and install',\n 'license.official_version_message_link': 'an official SonarQube Server distribution',\n 'license.official_version_message_end': 'provided by SonarSource.',\n 'license.plugins': 'Features included',\n 'license.question_about_changing_license':\n 'Here you can set or update your SonarQube Server license.',\n 'license.question_about_license':\n 'In case of any issue or question about licenses, please check the documentation on {docLink}, or send an email to {emailLink}.',\n 'license.question_about_license.doc_link': 'License Administration',\n 'license.reached_threshold':\n 'You have reached your lines of code limit. Please contact SonarSource to increase the threshold.',\n 'license.replace_you_license': 'Replace your current license key with your new one',\n 'license.serverId': 'Server ID',\n 'license.serverId.error.intro':\n 'Your license is no longer valid because the ServerID has changed.',\n 'license.serverId.error.old_server_id': 'Old Server ID:',\n 'license.serverId.error.new_server_id': 'New Server ID:',\n 'license.serverId.error.sq_version': 'SonarQube Server version:',\n 'license.serverId.error.action':\n 'If you have a license for this new ServerID, please set it now. Otherwise, please contact us at {link} and we will provide you with an updated license key.',\n 'license.serverId.error.grace_period.expiration_warning':\n 'After this time, your license will be invalid. Please request a new license promptly by contacting us at {link}.',\n 'license.serverId.error.action.link': 'contact@sonarsource.com',\n 'license.serverId.error.grace_period.can_activate':\n 'Meanwhile, you can temporarily use your license for the next 7 days.',\n 'license.serverId.error.grace_period.activate_button': 'Extend once',\n 'license.serverId.error.grace_period.activate_dialog_header': 'Activate grace period',\n 'license.serverId.error.grace_period.activate_confirmation':\n 'This temporary grace period will end in 7 days within your valid license time frame and cannot be extended.',\n 'license.serverId.error.grace_period.activated': 'Your grace period will end on {date}.',\n 'license.serverId.error.grace_period.expired':\n 'Your grace period has expired. Please update your license to continue using SonarQube Server.',\n 'license.set_new_license': 'Set new license',\n 'license.title': 'SonarSource license',\n 'license.threshold.tooltip': 'This is your notification threshold',\n 'license.threshold.title': 'Notification threshold',\n 'license.threshold.current_threshold': 'Corresponding to {0} lines of code before limit.',\n 'license.threshold.explanation':\n 'Once you reach this point, you will receive an email to inform you that you are approaching your limit of authorized lines of code for analysis.',\n 'license.threshold.edit': 'Edit notification threshold',\n 'license.threshold.warning_threshold.name': 'Threshold',\n 'license.threshold.warning_threshold.description':\n 'Send an email notification when there are less lines of code remaining for analysis than the notification threshold.',\n 'license.type': 'Type',\n 'license.up_to_x': 'Up to {0}',\n 'license.validation_error': 'This is not a valid license key format',\n 'license.x_lines_analyzed': '{0} lines currently analyzed',\n 'license.your_server_id': 'Note that the license should be compatible with your server ID:',\n 'license.prompt.title': 'License needed',\n 'license.prompt.description': 'You must set a license to be able to perform new analyses. {url}.',\n 'license.prompt.link': 'Go to License page',\n 'license.no_license_yet': \"Don't have a license yet? {link}.\",\n 'license.request_a_license': 'Request a trial license',\n 'license.need_renewal': 'Already purchased a license but need a new key? Reach out to {email}.',\n 'license.not_production_database_warning':\n 'This server ID is valid only for the embedded database, which should be considered disposable. Consider configuring an external database for long-term use prior to requesting your license.',\n 'license.support.title': 'Support',\n 'license.instance_not_supported':\n 'This instance is not supported. Please contact SonarSource to get support.',\n};\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { SystemUpgradeDownloadUrls } from './system';\n\nexport enum EditionKey {\n community = 'community',\n developer = 'developer',\n enterprise = 'enterprise',\n datacenter = 'datacenter',\n}\n\nexport interface Edition {\n downloadProperty: keyof SystemUpgradeDownloadUrls;\n homeUrl: string;\n key: EditionKey;\n name: string;\n}\n\nexport interface License {\n canActivateGracePeriod: boolean;\n contactEmail: string;\n edition: string;\n expiresAt: string;\n gracePeriodEndDate?: string;\n gracePeriodExpired?: boolean;\n isExpired: boolean;\n isOfficialDistribution: boolean;\n isSupported: boolean;\n isValidEdition: boolean;\n isValidServerId: boolean;\n loc: number;\n maxLoc: number;\n plugins: string[];\n remainingLocThreshold: number;\n serverId: string;\n type: string;\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nexport interface SystemUpgradeDownloadUrls {\n downloadDatacenterUrl?: string;\n downloadDeveloperUrl?: string;\n downloadEnterpriseUrl?: string;\n downloadUrl: string;\n}\n\nexport enum ProductName {\n SonarQubeCommunityBuild = 'SonarQube Community Build',\n SonarQubeServer = 'SonarQube Server',\n}\n\nexport enum ProductNameForUpgrade {\n SonarQubeCommunityBuild = 'SONARQUBE_COMMUNITY_BUILD',\n SonarQubeServer = 'SONARQUBE_SERVER',\n}\n\nexport interface SystemUpgrade extends SystemUpgradeDownloadUrls {\n changeLogUrl?: string;\n description?: string;\n product?: ProductNameForUpgrade;\n releaseDate?: string;\n version: string;\n}\n\nexport enum InstanceType {\n SonarQube = 'SonarQube',\n SonarCloud = 'SonarCloud',\n}\n\nexport enum MigrationStatus {\n noMigration = 'NO_MIGRATION',\n notSupported = 'NOT_SUPPORTED',\n required = 'MIGRATION_REQUIRED',\n running = 'MIGRATION_RUNNING',\n succeeded = 'MIGRATION_SUCCEEDED',\n failed = 'MIGRATION_FAILED',\n}\n\nexport interface MigrationsStatusResponse {\n completedSteps?: number;\n expectedFinishTimestamp?: string;\n message?: string;\n startedAt?: string;\n status: MigrationStatus;\n totalSteps?: number;\n}\n\nexport enum AuthMethod {\n Basic = 'BASIC',\n OAuth = 'OAUTH',\n}\n\nexport type EmailConfiguration = EmailConfigurationAuth & EmailConfigurationCommon;\nexport type EmailConfigurationAuth = EmailNotificationBasicAuth | EmailNotificationOAuth;\nexport type EmailConfigurationBasicAuth = EmailNotificationBasicAuth & EmailConfigurationCommon;\nexport type EmailConfigurationOAuth = EmailNotificationOAuth & EmailConfigurationCommon;\n\ninterface EmailConfigurationCommon {\n fromAddress: string;\n fromName: string;\n host: string;\n id?: string;\n port: string;\n securityProtocol: string;\n subjectPrefix: string;\n username: string;\n}\n\ninterface EmailNotificationBasicAuth {\n authMethod: AuthMethod.Basic;\n basicPassword: string;\n readonly isBasicPasswordSet?: boolean;\n}\n\ninterface EmailNotificationOAuth {\n authMethod: AuthMethod.OAuth;\n readonly isOauthClientIdSet?: boolean;\n readonly isOauthClientSecretSet?: boolean;\n oauthAuthenticationHost: string;\n oauthClientId: string;\n oauthClientSecret: string;\n oauthTenant: string;\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nexport function isDefined<T>(x: T | undefined | null): x is T {\n return x !== undefined && x !== null;\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { IntlShape, createIntl, createIntlCache } from 'react-intl';\nimport { fetchL10nBundle } from '../api/l10n';\nimport { defaultMessages } from '../l10n/default';\nimport { AppState } from '../types/appstate';\nimport { EditionKey } from '../types/editions';\nimport { L10nBundle, L10nBundleRequestParams } from '../types/l10nBundle';\nimport { ProductName } from '../types/system';\nimport { Dict } from '../types/types';\nimport { toISO8601WithOffsetString } from './dates';\nimport { isDefined } from './types';\n\nconst DEFAULT_LOCALE = 'en';\nconst DEFAULT_MESSAGES: Dict<string> = {\n // eslint-disable-next-line camelcase\n default_error_message: 'The request cannot be processed. Try again later.',\n};\n\nlet intl: IntlShape;\n\nexport function getIntl() {\n return intl;\n}\n\nexport function getMessages() {\n return getL10nBundleFromCache().messages ?? DEFAULT_MESSAGES;\n}\n\nexport function getCurrentLocale() {\n return getL10nBundleFromCache().locale ?? DEFAULT_LOCALE;\n}\n\nexport function getCurrentL10nBundle() {\n return getL10nBundleFromCache();\n}\n\nexport async function loadL10nBundle(appState: AppState | undefined) {\n const browserLocale = getPreferredLanguage();\n const cachedBundle = getL10nBundleFromCache();\n\n const params: L10nBundleRequestParams = {};\n\n if (browserLocale) {\n params.locale = browserLocale;\n\n if (\n cachedBundle.locale &&\n browserLocale.startsWith(cachedBundle.locale) &&\n cachedBundle.timestamp &&\n cachedBundle.messages\n ) {\n params.ts = cachedBundle.timestamp;\n }\n }\n\n const { effectiveLocale, messages: translatedMessages } = await fetchL10nBundle(params).catch(\n (response) => {\n if (response?.status !== 304) {\n // eslint-disable-next-line no-console\n console.error(`Unexpected status code: ${response.status}`);\n }\n\n return {\n effectiveLocale: cachedBundle.locale ?? browserLocale ?? DEFAULT_LOCALE,\n messages: cachedBundle.messages ?? {},\n };\n },\n );\n\n /**\n * If using the default locale, we want the defaultMessages to take precedence. Only additional\n * messages from extensions will be added to them. The core.properties translation file is\n * legacy.\n *\n * Otherwise, we want the translated messages to take precedence, so that we overwrite the\n * defaults properly.\n */\n const messages =\n effectiveLocale === DEFAULT_LOCALE\n ? { ...translatedMessages, ...defaultMessages }\n : { ...defaultMessages, ...translatedMessages };\n\n const bundle = {\n timestamp: toISO8601WithOffsetString(new Date()),\n locale: effectiveLocale,\n messages,\n };\n\n persistL10nBundleInCache(bundle);\n\n const cache = createIntlCache();\n\n intl = createIntl(\n {\n locale: effectiveLocale,\n messages,\n\n /*\n * This sets a default value for translations, so devs do not need to pass the {productName}\n * value to every instance of FormattedMessage.\n * It is a bit of a hack, abusing this config item that is normally for tag replacement only,\n * hence the ts-expect-error tag\n */\n defaultRichTextElements: {\n // @ts-expect-error\n productName: getProductName(appState),\n },\n },\n cache,\n );\n\n return intl;\n}\n\nfunction getPreferredLanguage() {\n return window.navigator.languages ? window.navigator.languages[0] : window.navigator.language;\n}\n\nfunction getL10nBundleFromCache(): L10nBundle {\n return (window as unknown as any).sonarQubeL10nBundle ?? {};\n}\n\nfunction persistL10nBundleInCache(bundle: L10nBundle) {\n (window as unknown as any).sonarQubeL10nBundle = bundle;\n}\n\nfunction getProductName(appState?: AppState) {\n if (isDefined(appState?.edition)) {\n return appState?.edition === EditionKey.community\n ? ProductName.SonarQubeCommunityBuild\n : ProductName.SonarQubeServer;\n }\n\n return 'SonarQube';\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { getIntl, getMessages } from './l10nBundle';\n\nexport function hasMessage(...keys: string[]): boolean {\n const messageKey = keys.join('.');\n\n return getMessages()[messageKey] !== undefined;\n}\n\nexport function translate(...keys: string[]): string {\n const messageKey = keys.join('.');\n const l10nMessages = getMessages();\n\n if (process.env.NODE_ENV === 'development' && !l10nMessages[messageKey]) {\n // eslint-disable-next-line no-console\n console.error(`No message for: ${messageKey}`);\n }\n\n const intl = getIntl();\n // fallback to old if in extension\n return intl ? intl.formatMessage({ id: messageKey }) : l10nMessages[messageKey];\n}\n\n/**\n * @param messageKey @deprecated Use react-intl instead\n */\nexport function translateWithParameters(\n messageKey: string,\n ...parameters: Array<string | number>\n): string {\n const message = getMessages()[messageKey];\n\n if (message) {\n return parameters\n .map((parameter) => String(parameter))\n .reduce((acc, parameter, index) => acc.replaceAll(`{${index}}`, () => parameter), message);\n }\n\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(`No message for: ${messageKey}`);\n }\n\n return `${messageKey}.${parameters.join('.')}`;\n}\n\nexport function getLocalizedMetricName(\n metric: { key: string; name?: string },\n short = false,\n): string {\n const bundleKey = `metric.${metric.key}.${short ? 'short_name' : 'name'}`;\n\n if (hasMessage(bundleKey)) {\n return translate(bundleKey);\n } else if (short) {\n return getLocalizedMetricName(metric);\n }\n\n return metric.name || metric.key;\n}\n\nexport function getLocalizedCategoryMetricName(metric: { key: string; name?: string }) {\n const bundleKey = `metric.${metric.key}.extra_short_name`;\n\n return hasMessage(bundleKey) ? translate(bundleKey) : getLocalizedMetricName(metric, true);\n}\n\nexport function getLocalizedMetricDomain(domainName: string) {\n const bundleKey = `metric_domain.${domainName}`;\n\n return hasMessage(bundleKey) ? translate(bundleKey) : domainName;\n}\n\nexport function getMonthName(index: number) {\n const months = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ];\n\n return translate(months[index]);\n}\n\nexport function getShortMonthName(index: number) {\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ];\n\n return translate(months[index]);\n}\n\nexport function getWeekDayName(index: number) {\n const weekdays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n\n return weekdays[index] ? translate(weekdays[index]) : '';\n}\n\nexport function getShortWeekDayName(index: number) {\n const weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\n return weekdays[index] ? translate(weekdays[index]) : '';\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction stringifyPrimitive(v: any) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n}\n\nexport function stringify(obj: any, sep?: any, eq?: any, name?: any) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj)\n .map((k) => {\n const ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k]\n .map((v: any) => {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n })\n .join(sep);\n }\n\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n })\n .filter(Boolean)\n .join(sep);\n }\n\n if (!name) {\n return '';\n }\n\n return (\n encodeURIComponent(stringifyPrimitive(name)) + eq + encodeURIComponent(stringifyPrimitive(obj))\n );\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport axios, { AxiosResponse } from 'axios';\nimport { isNil, omitBy } from 'lodash';\nimport { Dict } from '../types/types';\nimport { getCookie } from './cookies';\nimport handleRequiredAuthentication from './handleRequiredAuthentication';\nimport { translate } from './l10n';\nimport { stringify } from './stringify-queryparams';\nimport { getBaseUrl } from './system';\n\nconst FAST_RETRY_TIMEOUT = 500;\nconst SLOW_RETRY_TIMEOUT = 3000;\n\nexport function getCSRFTokenName(): string {\n return 'X-XSRF-TOKEN';\n}\n\nexport function getCSRFTokenValue(): string {\n const cookieName = 'XSRF-TOKEN';\n const cookieValue = getCookie(cookieName);\n if (!cookieValue) {\n return '';\n }\n return cookieValue;\n}\n\n/**\n * Return an object containing a special http request header used to prevent CSRF attacks.\n */\nexport function getCSRFToken(): Dict<string> {\n // Fetch API in Edge doesn't work with empty header,\n // so we ensure non-empty value\n const value = getCSRFTokenValue();\n return value ? { [getCSRFTokenName()]: value } : {};\n}\n\nexport type RequestData = Dict<any>;\n\nexport function omitNil(obj: RequestData): RequestData {\n return omitBy(obj, isNil);\n}\n\n/**\n * Default options for any request\n */\nconst DEFAULT_OPTIONS: {\n credentials: RequestCredentials;\n method: string;\n} = {\n credentials: 'same-origin',\n method: 'GET',\n};\n\n/**\n * Default request headers\n */\nconst DEFAULT_HEADERS = {\n Accept: 'application/json',\n};\n\n/**\n * Request\n */\nclass Request {\n private data?: RequestData;\n private isJSON = false;\n\n // eslint-disable-next-line no-useless-constructor\n constructor(\n private readonly url: string,\n private readonly options: { method?: string } = {},\n ) {}\n\n getSubmitData(customHeaders: any = {}): { options: RequestInit; url: string } {\n let { url } = this;\n const options: RequestInit = { ...DEFAULT_OPTIONS, ...this.options };\n\n if (this.data) {\n if (this.data instanceof FormData) {\n options.body = this.data;\n } else if (this.isJSON) {\n customHeaders['Content-Type'] = 'application/json';\n options.body = JSON.stringify(this.data);\n } else {\n const strData = stringify(omitNil(this.data));\n if (options.method === 'GET') {\n url += '?' + strData;\n } else {\n customHeaders['Content-Type'] = 'application/x-www-form-urlencoded';\n options.body = strData;\n }\n }\n }\n\n options.headers = {\n ...DEFAULT_HEADERS,\n ...customHeaders,\n };\n return { url, options };\n }\n\n submit(): Promise<Response> {\n const { url, options } = this.getSubmitData({ ...getCSRFToken() });\n return window.fetch(getBaseUrl() + url, options);\n }\n\n setMethod(method: string): this {\n this.options.method = method;\n return this;\n }\n\n setData(data?: RequestData, isJSON = false): this {\n if (data) {\n this.data = data;\n this.isJSON = isJSON;\n }\n return this;\n }\n}\n\n/**\n * Make a request\n */\nexport function request(url: string): Request {\n return new Request(url);\n}\n\n/**\n * Make a cors request\n */\nexport function corsRequest(url: string, mode: RequestMode = 'cors'): Request {\n const options: RequestInit = { mode };\n const request = new Request(url, options);\n request.submit = function () {\n const { url, options } = this.getSubmitData();\n return window.fetch(url, options);\n };\n return request;\n}\n\n/**\n * Check that response status is ok\n */\nexport function checkStatus(response: Response, bypassRedirect = false): Promise<Response> {\n return new Promise((resolve, reject) => {\n if (response.status === HttpStatus.Unauthorized && !bypassRedirect) {\n handleRequiredAuthentication();\n reject(response);\n } else if (isSuccessStatus(response.status)) {\n resolve(response);\n } else {\n reject(response);\n }\n });\n}\n\n/**\n * Parse response as JSON\n */\nexport function parseJSON(response: Response): Promise<any> {\n return response.json();\n}\n\n/**\n * Parse response as Text\n */\nexport function parseText(response: Response): Promise<string> {\n return response.text();\n}\n\n/**\n * Parse error response of failed request\n */\nexport function parseError(response: Response): Promise<string> {\n const DEFAULT_MESSAGE = translate('default_error_message');\n return parseJSON(response)\n .then(parseErrorResponse)\n .catch(() => DEFAULT_MESSAGE);\n}\n\nexport function parseErrorResponse(response?: AxiosResponse | Response): string {\n const DEFAULT_MESSAGE = translate('default_error_message');\n let data;\n if (!response) {\n return DEFAULT_MESSAGE;\n }\n if ('data' in response) {\n ({ data } = response);\n } else {\n data = response;\n }\n const { message, errors } = data;\n return (\n message ?? errors?.map((error: { msg: string }) => error.msg).join('. ') ?? DEFAULT_MESSAGE\n );\n}\n\n/**\n * Shortcut to do a GET request and return a Response\n */\nexport function get(url: string, data?: RequestData, bypassRedirect = false): Promise<Response> {\n return request(url)\n .setData(data)\n .submit()\n .then((response) => checkStatus(response, bypassRedirect));\n}\n\n/**\n * Shortcut to do a GET request and return response text\n */\nexport function getText(url: string, data?: RequestData, bypassRedirect = false): Promise<string> {\n return get(url, data, bypassRedirect).then(parseText);\n}\n\n/**\n * Shortcut to do a CORS GET request and return response json\n */\nexport function getCorsJSON(url: string, data?: RequestData): Promise<any> {\n return corsRequest(url)\n .setData(data)\n .submit()\n .then((response) => {\n if (isSuccessStatus(response.status)) {\n return parseJSON(response);\n }\n return Promise.reject(response);\n });\n}\n\n/**\n * Shortcut to do a POST request and return response json\n */\nexport function postJSON(url: string, data?: RequestData, bypassRedirect = false): Promise<any> {\n return request(url)\n .setMethod('POST')\n .setData(data)\n .submit()\n .then((response) => checkStatus(response, bypassRedirect))\n .then(parseJSON);\n}\n\n/**\n * Shortcut to do a POST request with a json body and return response json\n */\nexport function postJSONBody(\n url: string,\n data?: RequestData,\n bypassRedirect = false,\n): Promise<any> {\n return request(url)\n .setMethod('POST')\n .setData(data, true)\n .submit()\n .then((response) => checkStatus(response, bypassRedirect))\n .then(parseJSON);\n}\n\n/**\n * Shortcut to do a POST request\n */\nexport function post(url: string, data?: RequestData, bypassRedirect = false): Promise<void> {\n return new Promise((resolve, reject) => {\n request(url)\n .setMethod('POST')\n .setData(data)\n .submit()\n .then((response) => checkStatus(response, bypassRedirect))\n .then(() => resolve(), reject);\n });\n}\n\n/**\n * Shortcut to do a DELETE request\n */\nexport function deleteJSON(url: string, data?: RequestData): Promise<Response> {\n return request(url)\n .setMethod('DELETE')\n .setData(data)\n .submit()\n .then((response) => checkStatus(response));\n}\n\nfunction tryRequestAgain<T>(\n repeatAPICall: () => Promise<T>,\n tries: { max: number; slowThreshold: number },\n stopRepeat: (response: T) => boolean,\n repeatErrors: number[] = [],\n lastError?: Response,\n) {\n tries.max--;\n if (tries.max !== 0) {\n return new Promise<T>((resolve) => {\n setTimeout(\n () => resolve(requestTryAndRepeatUntil(repeatAPICall, tries, stopRepeat, repeatErrors)),\n tries.max > tries.slowThreshold ? FAST_RETRY_TIMEOUT : SLOW_RETRY_TIMEOUT,\n );\n });\n }\n return Promise.reject(lastError);\n}\n\nexport function requestTryAndRepeatUntil<T>(\n repeatAPICall: () => Promise<T>,\n tries: { max: number; slowThreshold: number },\n stopRepeat: (response: T) => boolean,\n repeatErrors: number[] = [],\n) {\n return repeatAPICall().then(\n (r) => {\n if (stopRepeat(r)) {\n return r;\n }\n return tryRequestAgain(repeatAPICall, tries, stopRepeat, repeatErrors);\n },\n (error: Response) => {\n if (repeatErrors.length === 0 || repeatErrors.includes(error.status)) {\n return tryRequestAgain(repeatAPICall, tries, stopRepeat, repeatErrors, error);\n }\n return Promise.reject(error);\n },\n );\n}\n\nexport function isSuccessStatus(status: number) {\n return status >= 200 && status < 300;\n}\n\n// Adapted from https://nodejs.org/api/http.html#http_http_HTTP_STATUS\nexport enum HttpStatus {\n Ok = 200,\n Created = 201,\n NoContent = 204,\n MultipleChoices = 300,\n MovedPermanently = 301,\n Found = 302,\n BadRequest = 400,\n Unauthorized = 401,\n Forbidden = 403,\n NotFound = 404,\n InternalServerError = 500,\n NotImplemented = 501,\n BadGateway = 502,\n ServiceUnavailable = 503,\n GatewayTimeout = 504,\n}\n\nexport const axiosToCatch = axios.create();\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { RequestData, get, parseJSON } from '../../helpers/request';\n\ninterface CustomHeader {\n accept?: string;\n apiVersion?: string;\n isJSON?: boolean;\n}\n\ninterface RequestOptions {\n bypassRedirect?: boolean;\n customHeaders?: CustomHeader; // used only in SonarCloud\n isExternal?: boolean; // used only in SonarCloud\n useQueryParams?: boolean; // used only in SonarCloud\n}\n\n/**\n * Shortcut to do a GET request and return response json\n */\nexport function getJSON(\n url: string,\n data?: RequestData,\n options: RequestOptions = {},\n): Promise<any> {\n return get(url, data, options.bypassRedirect).then(parseJSON);\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { getJSON } from '~sonar-aligned/helpers/request';\nimport { Feature } from '../types/features';\n\nexport function getAvailableFeatures(): Promise<Feature[]> {\n return getJSON('/api/features/list');\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { addGlobalErrorMessage } from '~design-system';\nimport handleRequiredAuthentication from '../../helpers/handleRequiredAuthentication';\nimport { HttpStatus, parseError } from '../../helpers/request';\n\ninterface ThrowGlobalErrorOptions {\n redirectUnauthorizedNoReasons?: boolean;\n returnErrorReasons?: boolean; // used only in SC\n}\n\nexport function throwGlobalError(\n param: Response | any,\n options: ThrowGlobalErrorOptions = {},\n): Promise<Response | any> {\n if (param.response instanceof Response) {\n /* eslint-disable-next-line no-console */\n console.warn('DEPRECATED: response should not be wrapped, pass it directly.');\n param = param.response;\n }\n\n if (param instanceof Response) {\n return parseError(param)\n .then(\n (...args) => {\n addGlobalErrorMessage(...args);\n if (options.redirectUnauthorizedNoReasons && param.status === HttpStatus.Unauthorized) {\n handleRequiredAuthentication();\n }\n },\n () => {\n /* ignore parsing errors */\n },\n )\n .then(() => Promise.reject(param));\n }\n\n // Axios response object\n if (param.data?.message) {\n addGlobalErrorMessage(param.data?.message);\n\n return Promise.reject(param);\n }\n\n return Promise.reject(param);\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport { throwGlobalError } from '~sonar-aligned/helpers/error';\nimport { getJSON } from '~sonar-aligned/helpers/request';\nimport { BranchParameters } from '~sonar-aligned/types/branch-like';\nimport { AppState } from '../types/appstate';\nimport { Extension, NavigationComponent } from '../types/types';\n\nexport function getComponentNavigation(\n data: { component: string } & BranchParameters,\n): Promise<NavigationComponent> {\n return getJSON('/api/navigation/component', data);\n}\n\nexport function getMarketplaceNavigation(): Promise<{ ncloc: number; serverId: string }> {\n return getJSON('/api/navigation/marketplace').catch(throwGlobalError);\n}\n\nexport function getSettingsNavigation(): Promise<{\n extensions: Extension[];\n showUpdateCenter: boolean;\n}> {\n return getJSON('/api/navigation/settings').catch(throwGlobalError);\n}\n\nexport function getGlobalNavigation(): Promise<AppState> {\n return getJSON('/api/navigation/global', undefined, { bypassRedirect: true });\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport axios from 'axios';\nimport { throwGlobalError } from '~sonar-aligned/helpers/error';\nimport { getJSON } from '~sonar-aligned/helpers/request';\nimport { HttpStatus, parseJSON, post } from '../helpers/request';\nimport { IdentityProvider, Paging } from '../types/types';\nimport {\n ChangePasswordResults,\n CurrentUser,\n HomePage,\n NoticeType,\n RestUserBase,\n RestUserDetailed,\n} from '../types/users';\n\nconst USERS_ENDPOINT = '/api/v2/users-management/users';\n\nexport function getCurrentUser(): Promise<CurrentUser> {\n return getJSON('/api/users/current', undefined, { bypassRedirect: true });\n}\n\nexport function dismissNotice(notice: NoticeType) {\n return post('/api/users/dismiss_notice', { notice }).catch(throwGlobalError);\n}\n\nexport function changePassword(data: {\n login: string;\n password: string;\n previousPassword?: string;\n}) {\n return post('/api/users/change_password', data).catch(async (response) => {\n if (response.status === HttpStatus.BadRequest) {\n const { result } = await parseJSON(response);\n return Promise.reject<ChangePasswordResults>(result);\n }\n\n return throwGlobalError(response);\n });\n}\n\nexport function getIdentityProviders(): Promise<{ identityProviders: IdentityProvider[] }> {\n return getJSON('/api/users/identity_providers').catch(throwGlobalError);\n}\n\nexport function getUsers<T extends RestUserBase>(data: {\n active?: boolean;\n groupId?: string;\n 'groupId!'?: string;\n managed?: boolean;\n pageIndex?: number;\n pageSize?: number;\n q: string;\n sonarLintLastConnectionDateFrom?: string;\n sonarLintLastConnectionDateTo?: string;\n sonarQubeLastConnectionDateFrom?: string;\n sonarQubeLastConnectionDateTo?: string;\n}) {\n return axios.get<{ page: Paging; users: T[] }>(USERS_ENDPOINT, {\n params: data,\n });\n}\n\nexport function postUser(data: {\n email?: string;\n login: string;\n name: string;\n password?: string;\n scmAccounts: string[];\n}) {\n return axios.post<RestUserDetailed>(USERS_ENDPOINT, data);\n}\n\nexport function updateUser(\n id: string,\n data: Partial<Pick<RestUserDetailed, 'email' | 'name' | 'scmAccounts'>>,\n) {\n return axios.patch<RestUserDetailed>(`${USERS_ENDPOINT}/${id}`, data);\n}\n\nexport function deleteUser({ id, anonymize }: { anonymize?: boolean; id: string }) {\n return axios.delete(`${USERS_ENDPOINT}/${id}`, { params: { anonymize } });\n}\n\nexport function setHomePage(homepage: HomePage): Promise<void | Response> {\n return post('/api/users/set_homepage', homepage).catch(throwGlobalError);\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\n// Do not import dependencies in this helper, to keep initial bundle load as small as possible\n\nimport { ExtensionRegistryEntry, ExtensionStartMethod } from '../types/extension';\nimport { Dict } from '../types/types';\nimport { getEnhancedWindow } from './browser';\n\nconst WEB_ANALYTICS_EXTENSION = 'sq-web-analytics';\n\nconst extensions: Dict<ExtensionRegistryEntry> = {};\n\nfunction registerExtension(key: string, start: ExtensionStartMethod, providesCSSFile = false) {\n extensions[key] = { start, providesCSSFile };\n}\n\nfunction setWebAnalyticsPageChangeHandler(pageHandler: (pathname: string) => void) {\n registerExtension(WEB_ANALYTICS_EXTENSION, pageHandler);\n}\n\nexport function installExtensionsHandler() {\n getEnhancedWindow().registerExtension = registerExtension;\n}\n\nexport function installWebAnalyticsHandler() {\n getEnhancedWindow().setWebAnalyticsPageChangeHandler = setWebAnalyticsPageChangeHandler;\n}\n\nexport function getExtensionFromCache(key: string): ExtensionRegistryEntry | undefined {\n return extensions[key];\n}\n\nexport function getWebAnalyticsPageHandlerFromCache(): Function | undefined {\n return extensions[WEB_ANALYTICS_EXTENSION]?.start;\n}\n","/*\n * SonarQube\n * Copyright (C) 2009-2025 SonarSource SA\n * mailto:info AT sonarsource DOT com\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * along with this program; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n */\n\nimport axios from 'axios';\nimport 'react-day-picker/dist/style.css';\nimport { addGlobalErrorMessage } from '~design-system';\nimport { getAvailableFeatures } from '../api/features';\nimport { getGlobalNavigation } from '../api/navigation';\nimport { getCurrentUser } from '../api/users';\nimport { installExtensionsHandler, installWebAnalyticsHandler } from '../helpers/extensionsHandler';\nimport { loadL10nBundle } from '../helpers/l10nBundle';\nimport { axiosToCatch, parseErrorResponse } from '../helpers/request';\nimport { getBaseUrl, getSystemStatus, initAppVariables } from '../helpers/system';\nimport './styles/sonar.ts';\n\ninstallWebAnalyticsHandler();\ninstallExtensionsHandler();\ninitAppVariables();\ninitApplication();\n\nasync function initApplication() {\n axiosToCatch.interceptors.response.use((response) => response.data);\n axiosToCatch.defaults.baseURL = getBaseUrl();\n axiosToCatch.defaults.headers.patch['Content-Type'] = 'application/merge-patch+json';\n axios.defaults.headers.patch['Content-Type'] = 'application/merge-patch+json';\n axios.defaults.baseURL = getBaseUrl();\n\n axios.interceptors.response.use(\n (response) => response.data,\n (error) => {\n const { response } = error;\n addGlobalErrorMessage(parseErrorResponse(response));\n\n return Promise.reject(response);\n },\n );\n\n const appState = isMainApp()\n ? await getGlobalNavigation().catch((error) => {\n // eslint-disable-next-line no-console\n console.error(error);\n return undefined;\n })\n : undefined;\n\n const [l10nBundle, currentUser, availableFeatures] = await Promise.all([\n loadL10nBundle(appState),\n isMainApp() ? getCurrentUser() : undefined,\n isMainApp() ? getAvailableFeatures() : undefined,\n ]).catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Application failed to start', error);\n throw error;\n });\n\n const startReactApp = await import('./utils/startReactApp').then((i) => i.default);\n startReactApp(l10nBundle, currentUser, appState, availableFeatures);\n}\n\nfunction isMainApp() {\n const { pathname } = window.location;\n\n return (\n getSystemStatus() === 'UP' &&\n !pathname.startsWith(`${getBaseUrl()}/sessions`) &&\n !pathname.startsWith(`${getBaseUrl()}/maintenance`) &&\n !pathname.startsWith(`${getBaseUrl()}/setup`) &&\n !pathname.startsWith(`${getBaseUrl()}/formatting/help`)\n );\n}\n"],"file":"js/main-DFHP3MKj.js"}