{"version":3,"file":"static/js/466.cf7dcf69.chunk.js","mappings":"0GAsBA,IAtB2B,SAAAA,GACvB,MAAO,CACHC,GAAID,EAAKE,IACTC,KAAM,OACNC,MAAOJ,EAAKI,MACZC,YAAaL,EAAKK,YAClBC,kBAAmBN,EAAKM,mBAAqBN,EAAKK,YAClDE,UAAWP,EAAKO,UAChBC,cAAeR,EAAKQ,cACpBC,YAAa,IAAIC,KAAKV,EAAKQ,eAAeG,eAAe,QAAS,CAC9DC,KAAM,UACNC,MAAO,OACPC,IAAK,YAETC,YACIf,EAAKe,aACLC,OAAOC,SAASC,OAAhBF,uBACJG,YAAanB,EAAKmB,YAClBC,MAAOpB,EAAKoB,OAAS,KAE7B,C,mHChBMC,EAA2B,SAACC,EAAWC,GAAmC,IAAxBC,EAAaC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC9DG,EAAmB,IAAIC,IAAI,6BAUjC,OATAD,EAAiBE,aAAaC,IAAI,OAAQR,GAC1CK,EAAiBE,aAAaC,IAAI,MAAOT,GACzCM,EAAiBE,aAAaC,IAAI,UAAW,sBAC7CH,EAAiBE,aAAaC,IAC1B,WACAC,MAAMC,QAAQT,IAAkBA,EAAcE,OACxCF,EAAcU,KAAK,KACnB,oBAEHN,EAAiBO,IAC5B,EAEMC,EAA4B,SAAAd,GAC9B,IAAMe,EAAoB,IAAIR,IAC1B,8CAGJ,OADAQ,EAAkBP,aAAaC,IAAI,IAAKT,GACjCe,EAAkBF,IAC7B,EAEMG,EAA4B,SAAAhB,GAC9B,IAAMiB,EAAoB,IAAIV,IAAI,mDAElC,OADAU,EAAkBT,aAAaC,IAAI,MAAOT,GACnCiB,EAAkBJ,IAC7B,EA+CA,EA7CqB,SAAAK,GACjB,IAAMlB,EAAYkB,EAAMlB,WAAaN,OAAOC,SAASkB,KAC/CZ,EAAYiB,EAAMjB,WAAa,GAC/BC,EAAgBgB,EAAMhB,eAAiB,GAE7C,OACIiB,EAAAA,EAAAA,MAAA,OAAKC,UAAU,0BAAyBC,SAAA,EACpCC,EAAAA,EAAAA,KAAA,KACIF,UAAS,4BAAAG,OACLL,EAAMM,MAAQ,UAAY,IAE9BX,KAAMd,EACFC,EACAC,EACAC,GAEJuB,OAAO,SACPC,IAAI,sBAAqBL,UAEzBC,EAAAA,EAAAA,KAACK,EAAAA,GAAW,CAACC,KAAM,QAEvBN,EAAAA,EAAAA,KAAA,KACIF,UAAS,4BAAAG,OACLL,EAAMM,MAAQ,UAAY,IAE9BX,KAAMC,EAA0Bd,GAChCyB,OAAO,SACPC,IAAI,sBAAqBL,UAEzBC,EAAAA,EAAAA,KAACO,EAAAA,GAAY,CAACD,KAAM,QAExBN,EAAAA,EAAAA,KAAA,KACIF,UAAS,4BAAAG,OACLL,EAAMM,MAAQ,UAAY,IAE9BX,KAAMG,EAA0BhB,GAChCyB,OAAO,SACPC,IAAI,sBAAqBL,UAEzBC,EAAAA,EAAAA,KAACQ,EAAAA,GAAY,CAACF,KAAM,SAIpC,C,6FC7CO,SAASG,EAAeC,EAAKC,GAGhC,OAAID,EAAI5B,QAAU6B,EACPD,EAGJA,EAAIE,MAAM,EAAGD,GAAO,KAC/B,CAEO,IAAME,EAAwB,SAAAC,GACjC,OAAOA,EAAOC,OAAO,GAAGC,cAAgBF,EAAOF,MAAM,EACzD,C,+DC1CMK,EAAQ,eAAAC,GAAAC,EAAAA,EAAAA,UAAAC,EAAAA,EAAAA,KAAAC,MAAG,SAAAC,IAAA,IAAAC,EAAA,OAAAH,EAAAA,EAAAA,KAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACQ,OAAlBJ,EAAM,IAAIK,MAAOH,EAAAI,OAAA,SAEb,IAAIC,SAAQ,SAACC,GAChBR,EAAIS,OAAS,kBAAMD,GAAQ,EAAM,EACjCR,EAAIU,QAAU,kBAAMF,GAAQ,EAAO,EAGnCR,EAAIW,IAAM,sDAAsD,IAAIpE,MAAQqE,SAChF,KAAE,wBAAAV,EAAAW,OAAA,GAAAd,EAAA,KACL,kBAVa,OAAAJ,EAAAmB,MAAA,KAAAxD,UAAA,KAYd,K,yNCIA,EAhBmC,SAAAzB,GAC/B,MAAO,CACHC,GAAID,EAAKE,IACTC,KAAM,eACNC,MAAOJ,EAAKI,MACZ8E,SAAUlF,EAAKkF,SACf7E,YAAaL,EAAKK,YAClBC,kBAAmBN,EAAKM,mBAAqBN,EAAKK,YAClDe,MAAOpB,EAAKoB,OAAS,KACrB+D,kBAAmBnF,EAAKmF,kBACxBC,gBAAiBpF,EAAKoF,gBACtBrE,YAAaf,EAAKe,YAClBI,YAAanB,EAAKmB,YAE1B,E,8KCDAkE,EAAAA,EAAAA,IAAe,CAACC,EAAAA,EAAYC,EAAAA,EAAYC,EAAAA,IAExC,IAiIA,EAjIsB,SAAAhD,GAClB,IAAAiD,GAA0CC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,SAAAH,EAAA,GAA/CI,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtCI,GAA0BL,EAAAA,EAAAA,WAAS,GAAMM,GAAAJ,EAAAA,EAAAA,SAAAG,EAAA,GAAlCE,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,GAAYC,EAAAA,EAAAA,aAAW,eAAAtC,GAAAC,EAAAA,EAAAA,UAAAC,EAAAA,EAAAA,KAAAC,MAAC,SAAAC,EAAMmC,GAAQ,IAAAC,EAAA,OAAAtC,EAAAA,EAAAA,KAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEN,OAFMF,EAAAC,KAAA,EAE9BgC,EAAM,IAAIzE,IAAIwE,GAAShC,EAAAI,OAAA,SACtB6B,GAAG,cAAAjC,EAAAC,KAAA,EAAAD,EAAAkC,GAAAlC,EAAA,SAAAA,EAAAI,OAAA,SAEH,SAAO,KAAD5B,OAAoBwD,IAC5BG,MAAK,SAAApF,GACF,OAAOA,EAAMqF,OACjB,IACCC,OAAM,WACH,OAAO,IACX,KAAE,wBAAArC,EAAAW,OAAA,GAAAd,EAAA,kBAEb,gBAAAyC,GAAA,OAAA7C,EAAAmB,MAAA,KAAAxD,UAAA,EAb4B,GAa1B,IAgCH,OA9BAmF,EAAAA,EAAAA,YAAU,WACN,GAAK5E,MAAMC,QAAQO,EAAMqD,eAAzB,CAIA,IAAMgB,EAAsB,eAAAC,GAAA/C,EAAAA,EAAAA,UAAAC,EAAAA,EAAAA,KAAAC,MAAG,SAAA8C,IAAA,IAAAlB,EAAA,OAAA7B,EAAAA,EAAAA,KAAAI,MAAA,SAAA4C,GAAA,cAAAA,EAAA1C,KAAA0C,EAAAzC,MAAA,OACkB,OAAvCsB,GAAaoB,EAAAA,EAAAA,SAAOzE,EAAMqD,eAAamB,EAAAzC,KAAA,EAEvCG,QAAQwC,IACV1E,EAAMqD,cAAcsB,KAAI,SAAAC,GACpB,OAAOjB,EAAUiB,EAAahG,MAClC,KACFoF,MAAK,SAAAa,GACHA,EAAOC,SAAQ,SAAClG,EAAOmG,GACnB1B,EAAc0B,GAAOnG,MAAQA,CACjC,IAEA0E,EAAiBD,EACrB,IAAG,KAAD,mBAAAmB,EAAAhC,OAAA,GAAA+B,EAAA,KACL,kBAd2B,OAAAD,EAAA7B,MAAA,KAAAxD,UAAA,KAgB5BoF,GAlBA,CAmBJ,GAAG,CAACrE,EAAMqD,cAAeM,KAEzBS,EAAAA,EAAAA,YAAU,YACN/C,EAAAA,EAAAA,KAAW2C,MAAK,SAAAP,GACZC,EAASD,EACb,GACJ,GAAG,IAEIjE,MAAMC,QAAQ4D,IAAkBA,EAAcnE,QACjDkB,EAAAA,EAAAA,KAAC4E,EAAAA,EAAM,CACH9E,UACImD,EAAcnE,OAAS,EACjB,0BACA,yCAEV+F,aAAc,EACdC,cAAe,EACfC,OAAQ,QACRC,SAAU,CACNC,SAAS,GAEbC,SAAU,CACNC,MAAO,IACPC,sBAAsB,GAE1BC,WAAY,CACRC,UAAWrC,EAAcnE,OAAS,GAEtCyG,WAAYtC,EAAcnE,OAAS,EACnC0G,MAAI,EAAAzF,SAEHkD,EAAcsB,KAAI,SAAAC,GAAY,OAC3BxE,EAAAA,EAAAA,KAACyF,EAAAA,EAAW,CAAA1F,UACRF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,eAAcC,SAAA,EACzBC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,2BAA0BC,UACrCC,EAAAA,EAAAA,KAAA,OACIF,UAAU,iCACV4F,IAAKlB,EAAahH,MAClB0E,IACIsC,EAAahG,OACbmH,OAIZ9F,EAAAA,EAAAA,MAAA,OAAKC,UAAU,wBAAuBC,SAAA,EAClCF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,6BAA4BC,SAAA,EACvCC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,sBAAqBC,SAC9ByE,EAAahH,SAElBwC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,yBAAwBC,SACjCyE,EAAalC,eAGtBzC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,gCAA+BC,SAAA,EAC1CC,EAAAA,EAAAA,KAAA,KACIF,UAAU,4BACV8F,wBAAyB,CACrBC,OAAQrB,EAAa9G,sBAG3B8G,EAAarG,aACVqG,EAAajG,aAAe8E,KAC7BrD,EAAAA,EAAAA,KAAC8F,EAAAA,IAAM,CACHC,QAAS,WACL3H,OAAO4H,KACH3C,GACMmB,EAAajG,aAEbiG,EAAarG,YACnB,SACA,uBAER,EAAE4B,SACL,yBAzCHyE,EAAanH,GAgDjB,OAItB2C,EAAAA,EAAAA,KAACiG,EAAAA,EAAW,CAACC,eAAe,SAASC,kBAAkB,OAE/D,E,WC3Ie,SAASC,EAAUlF,GAAwB,IAArBmF,EAAInF,EAAJmF,KAAMC,EAAGpF,EAAHoF,IAAK9I,EAAK0D,EAAL1D,MACtC+I,EAAOF,EACb,OACIxG,EAAAA,EAAAA,MAAA,OAAKC,UAAU,aAAYC,SAAA,CACtBwG,IAAQvG,EAAAA,EAAAA,KAACuG,EAAI,CAACzG,UAAU,sBACzBE,EAAAA,EAAAA,KAAA,OAAKF,UAAU,kBAAiBC,SAAEuG,KAClCtG,EAAAA,EAAAA,KAAA,OAAKF,UAAU,oBAAmBC,SAAEvC,MAGhD,CCWA,IA+ZA,EA/Za,WAAO,IAADgJ,EACf3D,GAAsCC,EAAAA,EAAAA,YAAUC,GAAAC,EAAAA,EAAAA,SAAAH,EAAA,GAAzC4D,EAAW1D,EAAA,GAAE2D,EAAc3D,EAAA,GAClCI,GAA0CL,EAAAA,EAAAA,UAAS,IAAGM,GAAAJ,EAAAA,EAAAA,SAAAG,EAAA,GAA/CF,EAAaG,EAAA,GAAEF,EAAgBE,EAAA,GACtCuD,GAA0C7D,EAAAA,EAAAA,UAAS,MAAK8D,GAAA5D,EAAAA,EAAAA,SAAA2D,EAAA,GAAjDE,EAAaD,EAAA,GAAEE,EAAgBF,EAAA,GACtCG,GAA4BjE,EAAAA,EAAAA,YAAUkE,GAAAhE,EAAAA,EAAAA,SAAA+D,EAAA,GAA/BE,EAAMD,EAAA,GAAEE,EAASF,EAAA,GACxBG,GAA0BrE,EAAAA,EAAAA,YAAUsE,GAAApE,EAAAA,EAAAA,SAAAmE,EAAA,GAA7BE,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAEtBG,GAA+BC,EAAAA,EAAAA,KAAvBC,EAAKF,EAALE,MAAOC,EAAWH,EAAXG,aAEf1D,EAAAA,EAAAA,YAAU,WACN,IAAM2D,EAAc,eAAAzG,GAAAC,EAAAA,EAAAA,UAAAC,EAAAA,EAAAA,KAAAC,MAAG,SAAAC,IAAA,IAAAoC,EAAA,OAAAtC,EAAAA,EAAAA,KAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAC2B,OAA1C+B,EAAG,GAAAzD,OAAM2H,gBAAiC,qBAAAnG,EAAAE,KAAA,EAExC+F,EAAYhE,GACbE,MAAK,SAAAiE,GACFnB,EAAemB,EAAIpB,YACvB,IACC3C,OAAM,kBAAMwD,EAAS,KAAK,IAAE,KAAD,mBAAA7F,EAAAW,OAAA,GAAAd,EAAA,KACnC,kBARmB,OAAAJ,EAAAmB,MAAA,KAAAxD,UAAA,KASpB8I,GACJ,GAAG,CAACD,KAEJ1D,EAAAA,EAAAA,YAAU,WACN,IAAM8D,EAAU,eAAA5D,GAAA/C,EAAAA,EAAAA,UAAAC,EAAAA,EAAAA,KAAAC,MAAG,SAAA8C,IAAA,IAAA4D,EAAA,OAAA3G,EAAAA,EAAAA,KAAAI,MAAA,SAAA4C,GAAA,cAAAA,EAAA1C,KAAA0C,EAAAzC,MAAA,OAcd,OAZGoG,EAAS,KASTA,EAAS,IAAI9I,IAAI,GAADgB,OACT7B,OAAOC,SAASC,QAAM2B,OAAG2H,gBAAiC,oBAEpExD,EAAAzC,KAAA,EAEK+F,EAAYK,GAAQnE,MAAK,SAAAiE,GAC3B,IAAMG,EAAO5I,MAAMC,QAAQwI,EAAIhB,eACzBgB,EAAIhB,cAActC,KAAI,SAAA0D,GAAQ,OAC1BC,EAAAA,EAAAA,GAAmBD,EAAS,IAEhC,GACAhF,EAAgB7D,MAAMC,QAAQwI,EAAI5E,eAClC4E,EAAI5E,cAAcsB,KAAI,SAAAC,GAAY,OAC9B2D,EAA2B3D,EAAa,IAE5C,GAEA4D,GAAkB/D,EAAAA,EAAAA,SAAO2D,GAC/BI,EAAmBC,MAAK,SAACC,EAAOC,GAC5B,IAAMC,EACa,UAAfF,EAAM/K,KACA,IAAIO,KAAKwK,EAAMG,WAAaH,EAAMI,SAClC,IAAI5K,KAAKwK,EAAM1K,eAMzB,OAJmB,UAAf2K,EAAMhL,KACA,IAAIO,KAAKyK,EAAME,WAAaF,EAAMG,SAClC,IAAI5K,KAAKyK,EAAM3K,gBAEN4K,CACvB,IAEA1B,EAAiBsB,GACjBlF,EAAiBD,EACrB,IAAG,KAAD,mBAAAmB,EAAAhC,OAAA,GAAA+B,EAAA,KACL,kBA7Ce,OAAAD,EAAA7B,MAAA,KAAAxD,UAAA,KA+ChBiJ,GACJ,GAAG,CAACJ,KAEJ1D,EAAAA,EAAAA,YAAU,WACN,IAAM2E,EAAS,eAAAC,GAAAzH,EAAAA,EAAAA,UAAAC,EAAAA,EAAAA,KAAAC,MAAG,SAAAwH,IAAA,IAAAnF,EAAA,OAAAtC,EAAAA,EAAAA,KAAAI,MAAA,SAAAsH,GAAA,cAAAA,EAAApH,KAAAoH,EAAAnH,MAAA,OACgC,OAA1C+B,EAAG,GAAAzD,OAAM2H,gBAAiC,WAAAkB,EAAAnH,KAAA,EAExC+F,EAAYhE,GACbE,MAAK,SAAAiE,GACF,IAAMkB,EAAUlB,EAAImB,OAAOC,QACvB,SAAAC,GAAY,OAAAA,EAATC,YAA8B1C,CAAW,IAGhDS,EACI6B,EAAQjK,OACFiK,EACAlB,EAAImB,OAAOC,QACP,SAAAG,GAAY,OAAAA,EAATD,aACgB1C,EAAc,GAAG4C,UAAU,IAGhE,IACCvF,OAAM,kBAAMoD,EAAU,KAAK,IAAE,KAAD,mBAAA4B,EAAA1G,OAAA,GAAAyG,EAAA,KACpC,kBAnBc,OAAAD,EAAAvG,MAAA,KAAAxD,UAAA,KAoBX4H,GACAkC,GAER,GAAG,CAAClC,EAAaiB,KAEjB1D,EAAAA,EAAAA,YAAU,WACN,IAAMsF,EAAQ,eAAAC,GAAApI,EAAAA,EAAAA,UAAAC,EAAAA,EAAAA,KAAAC,MAAG,SAAAmI,IAAA,IAAA9F,EAAA,OAAAtC,EAAAA,EAAAA,KAAAI,MAAA,SAAAiI,GAAA,cAAAA,EAAA/H,KAAA+H,EAAA9H,MAAA,OAC+D,OAAxE+B,EAAG,GAAAzD,OAAM2H,gBAAiC,oBAAA3H,OAAmBwG,GAAWgD,EAAA9H,KAAA,EAEtE+F,EAAYhE,GACbE,MAAK,SAAAiE,GACFP,EAASO,EACb,IACC/D,OAAM,kBAAMwD,EAAS,KAAK,IAAE,KAAD,mBAAAmC,EAAArH,OAAA,GAAAoH,EAAA,KACnC,kBARa,OAAAD,EAAAlH,MAAA,KAAAxD,UAAA,KASV4H,GACA6C,GAER,GAAG,CAAC7C,EAAaiB,IAEjB,IAAIW,EAAO,CACP,sBAAuB,EACvB,6BAA8B,EAC9B,sBAAuB,EACvB,sBAAuB,EACvB,2BAA4B,EAC5B,wBAAyB,EACzB,mCAAoC,EACpC,aAAc,EACd,qBAAsB,EACtB,yBAA0B,EAC1B,sBAAuB,GACvB,kCAAmC,GACnC,YAAa,GACb,oBAAqB,GACrB,8BAA+B,GAC/B,2BAA4B,GAC5B,sCAAuC,GACvC,+BAAgC,GAChC,yCAA0C,IAG9C,OACIxI,EAAAA,EAAAA,MAAA6J,EAAAA,SAAA,CAAA3J,SAAA,CACK0H,IACGzH,EAAAA,EAAAA,KAAC2J,EAAAA,IAAiB,CACdtM,GAAG,QACHyC,UAAU,YACVtC,MAAM,uBACNoM,KAAK,WAGb5J,EAAAA,EAAAA,KAAC6J,EAAAA,EAAM,KACP7J,EAAAA,EAAAA,KAAC8J,EAAa,CAAC7G,cAAeA,KAE9BjD,EAAAA,EAAAA,KAAC+J,EAAAA,IAAI,CAAAhK,UACDC,EAAAA,EAAAA,KAACgK,EAAAA,IAAM,CAACC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAEpK,UACzBF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,sBAAqBC,SAAA,EAChCF,EAAAA,EAAAA,MAAA,MAAIC,UAAU,wBAAuBC,SAAA,CAAC,mBAElCC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,QAAOC,UAClBF,EAAAA,EAAAA,MAACuK,EAAAA,IAAI,CACDtK,UAAU,+BACVK,OAAO,SACPZ,KAAI,8BAAAU,OAAgCwG,GAAc1G,SAAA,CACrD,aACYC,EAAAA,EAAAA,KAACqK,EAAAA,GAAU,aAKhCrK,EAAAA,EAAAA,KAAA,OAAKF,UAAU,qBAAoBC,UAC/BC,EAAAA,EAAAA,KAACsK,EAAAA,EAAQ,CAACC,UAAwB,OAAb1D,QAAa,IAAbA,OAAa,EAAbA,EAAejG,MAAM,EAAG,cAM5DyG,IACGrH,EAAAA,EAAAA,KAACwK,EAAAA,EAAS,CACNC,MAAI,EACJC,SACI7K,EAAAA,EAAAA,MAAA,MAAIC,UAAU,wBAAuBC,SAAA,CAAC,wBAElCF,EAAAA,EAAAA,MAAA,KAAAE,SAAA,CAAG,kBAAgB0G,MACnBzG,EAAAA,EAAAA,KAAA,OAAKF,UAAU,QAAOC,UAClBF,EAAAA,EAAAA,MAACuK,EAAAA,IAAI,CACDtK,UAAU,+BACVK,OAAO,SACPZ,KAAI,kCAAAU,OAAoCwG,GAAc1G,SAAA,CACzD,sBACqBC,EAAAA,EAAAA,KAACqK,EAAAA,GAAU,YAK7CtK,UACIF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,wBAAuBC,SAAA,EAC5B,OAALsH,QAAK,IAALA,OAAK,EAALA,EAAOsD,gBACJ3K,EAAAA,EAAAA,KAAC4K,EAAS,CACNvE,KAAMwE,EAAAA,GACNrN,MAAO,WACP8I,IAAKe,EAAMsD,gBAGb,OAALtD,QAAK,IAALA,OAAK,EAALA,EAAOyD,cACJ9K,EAAAA,EAAAA,KAAC4K,EAAS,CACNvE,KAAM0E,EAAAA,GACNvN,MAAO,aACP8I,IAAKe,EAAMyD,cAGb,OAALzD,QAAK,IAALA,OAAK,EAALA,EAAO2D,YACJhL,EAAAA,EAAAA,KAAC4K,EAAS,CACNvE,KAAM4E,EAAAA,GACNzN,MAAO,WACP8I,IAAKe,EAAM2D,YAGb,OAAL3D,QAAK,IAALA,OAAK,EAALA,EAAO6D,UACJlL,EAAAA,EAAAA,KAAC4K,EAAS,CACNvE,KAAM8E,EAAAA,GACN3N,MAAO,SACP8I,IAAKe,EAAM6D,UAGnBlL,EAAAA,EAAAA,KAAC4K,EAAS,CACNvE,KAAM+E,EAAAA,GACN5N,MAAO,eACP8I,IAAK,MAEH,OAALe,QAAK,IAALA,GAAe,QAAVb,EAALa,EAAOgE,gBAAQ,IAAA7E,OAAV,EAALA,EAAiB1H,UACdkB,EAAAA,EAAAA,KAAC4K,EAAS,CACNvE,KAAMiF,EAAAA,GACN9N,MAAO,WACP8I,IAAU,OAALe,QAAK,IAALA,OAAK,EAALA,EAAOgE,SAASvM,eAOtC,OAANmI,QAAM,IAANA,OAAM,EAANA,EAAQnI,UACLkB,EAAAA,EAAAA,KAACwK,EAAAA,EAAS,CACNE,SACI7K,EAAAA,EAAAA,MAAA,MAAIC,UAAU,wBAAuBC,SAAA,CAChCkH,EAAO,GAAGkC,UAAU,kBACrBnJ,EAAAA,EAAAA,KAAA,OAAKF,UAAU,QAAOC,UAClBF,EAAAA,EAAAA,MAACuK,EAAAA,IAAI,CACDtK,UAAU,+BACVK,OAAO,SACPZ,KAAM,yBAAyBQ,SAAA,CAClC,oBACmBC,EAAAA,EAAAA,KAACqK,EAAAA,GAAU,YAK3CtK,UACIF,EAAAA,EAAAA,MAAA,OAAAE,SAAA,EACIC,EAAAA,EAAAA,KAAA,KAAGF,UAAU,uBAAsBC,SAAC,sbAYpCC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,0BAAyBC,SAC7B,OAANkH,QAAM,IAANA,OAAM,EAANA,EAAQoB,MACL,SAACkD,EAAGC,GAAC,OACAnD,EAAKkD,EAAE/N,OAAS6K,EAAKkD,EAAE/N,OAAS,IAChC6K,EAAKmD,EAAEhO,OAAS6K,EAAKmD,EAAEhO,OAAS,EAAE,IACzC+G,KACE,SAAAkH,GAAA,IACIjO,EAAKiO,EAALjO,MACAkO,EAAaD,EAAbC,cACAC,EAAMF,EAANE,OACAC,EAAWH,EAAXG,YACAtO,EAAGmO,EAAHnO,IACAuO,EAAiBJ,EAAjBI,kBACApO,EAAWgO,EAAXhO,YAAW,OAEXuC,EAAAA,EAAAA,KAAC8L,EAAAA,EAAK,CAEFtO,MAAOA,EACPuO,aAAoB,OAANJ,QAAM,IAANA,OAAM,EAANA,EAAQnO,MACtBwO,KAAMN,GAAiB,GACvBjO,YACIA,GACAoO,GACA,GAEJnI,IAAG,GAAAzD,OAAK7B,OAAOC,SAASkB,KAAK0M,QACzB,OACA,IACH,YAAAhM,OAAW3C,GACZkB,MACIoN,GACAM,EAAAA,MAAAA,CAAQ,KAADjM,OAAwB2L,IAEnCtO,IAAKA,GAjBAA,EAkBP,YAQ9B0C,EAAAA,EAAAA,KAACwK,EAAAA,EAAS,CACNC,MAAI,EACJC,SACI7K,EAAAA,EAAAA,MAAA,MAAIC,UAAU,wBAAuBC,SAAA,CAAC,8BAElCC,EAAAA,EAAAA,KAAA,KAAGF,UAAU,QAAOC,SAAC,kDAGrBC,EAAAA,EAAAA,KAAA,KAAGF,UAAU,QAAOC,SAAC,2GAM7BA,UACIC,EAAAA,EAAAA,KAAA,OAAAD,UACIF,EAAAA,EAAAA,MAAC+E,EAAAA,EAAM,CACHC,aAAc,EACdC,cAAe,EACfO,WAAY,CACRC,WAAW,GAEfC,YAAY,EACZR,OAAQ,QACRC,SAAU,CACNC,SAAS,GAEbC,SAAU,CACNC,MAAO,IACPC,sBAAsB,GAE1BtF,UAAU,gBAAeC,SAAA,EAEzBC,EAAAA,EAAAA,KAACyF,EAAAA,EAAW,CAAC3F,UAAU,uBAAsBC,UACzCC,EAAAA,EAAAA,KAAA,UACImM,MAAM,MACNC,OAAO,MACPlK,IAAI,4CACJ1E,MAAM,6BACN6O,YAAY,IACZC,MAAM,sGACNC,iBAAe,OAGvBvM,EAAAA,EAAAA,KAACyF,EAAAA,EAAW,CAAC3F,UAAU,uBAAsBC,UACzCC,EAAAA,EAAAA,KAAA,UACImM,MAAM,MACNC,OAAO,MACPlK,IAAI,4CACJ1E,MAAM,uBACN6O,YAAY,IACZC,MAAM,sGACNC,iBAAe,OAGvBvM,EAAAA,EAAAA,KAACyF,EAAAA,EAAW,CAAC3F,UAAU,uBAAsBC,UACzCC,EAAAA,EAAAA,KAAA,UACImM,MAAM,MACNC,OAAO,MACPlK,IAAI,4CACJ1E,MAAM,uCACN6O,YAAY,IACZC,MAAM,sGACNC,iBAAe,OAGvBvM,EAAAA,EAAAA,KAACyF,EAAAA,EAAW,CAAC3F,UAAU,uBAAsBC,UACzCC,EAAAA,EAAAA,KAAA,UACImM,MAAM,MACNC,OAAO,MACPlK,IAAI,4CACJ1E,MAAM,4CACN6O,YAAY,IACZC,MAAM,sGACNC,iBAAe,OAGvBvM,EAAAA,EAAAA,KAACyF,EAAAA,EAAW,CAAC3F,UAAU,uBAAsBC,UACzCC,EAAAA,EAAAA,KAAA,UACImM,MAAM,MACNC,OAAO,MACPlK,IAAI,4CACJ1E,MAAM,sCACN6O,YAAY,IACZC,MAAM,sGACNC,iBAAe,OAGvBvM,EAAAA,EAAAA,KAACyF,EAAAA,EAAW,CAAC3F,UAAU,uBAAsBC,UACzCC,EAAAA,EAAAA,KAAA,UACImM,MAAM,MACNC,OAAO,MACPlK,IAAI,4CACJ1E,MAAM,sBACN6O,YAAY,IACZC,MAAM,sGACNC,iBAAe,eASnD,C,2IC5VA,EArFoB,SAAHrL,GAA4D,IAAtDwC,EAAGxC,EAAHwC,IAAK3D,EAAQmB,EAARnB,SAAUD,EAASoB,EAATpB,UAAS0M,EAAAtL,EAAEuL,aAAAA,OAAY,IAAAD,GAAQA,EACjE3J,GAA8BC,EAAAA,EAAAA,UAAS,MAAKC,GAAAC,EAAAA,EAAAA,SAAAH,EAAA,GAArC6J,EAAO3J,EAAA,GAAE4J,EAAU5J,EAAA,GACpB5C,EAASsM,EAAe,SAAW,QAwDzC,OAtDAzI,EAAAA,EAAAA,YAAU,WACN,GAAKN,GAAwB,kBAARA,EAKrB,IACI,IAAIzE,IAAIyE,GACRiJ,EAAW,CAAEjJ,IAAKA,EAAKkJ,oBAAoB,GAC/C,CAAE,MAAAC,GAEE,SAAO,KAAD5M,OAAoByD,IACrBE,MAAK,SAAAkJ,GAEFH,EAAW,CAAEjJ,IAAKoJ,EAAKjJ,QAAS+I,oBAAoB,GACxD,IACC9I,OAAM,WAECJ,EAAIqJ,WAAWnF,mBAEf+E,EAAW,CACPjJ,IAAKA,EAAIuI,QAAQrE,kBAAwB,IACzCgF,oBAAoB,IAEjBlJ,EAAIqJ,WAAW,QAclBJ,EAAW,CACPjJ,IAAKA,EACLkJ,oBAAoB,IAK5BD,EAAW,CACPjJ,IAAKA,EACLkJ,oBAAoB,GAGhC,GACR,MAjDID,EAAW,KAkDnB,GAAG,CAACjJ,IAEQ,OAAPgJ,QAAO,IAAPA,GAAAA,EAAShJ,IAEHgJ,EAAQE,oBAEX5M,EAAAA,EAAAA,KAAA,KACIT,KAAMmN,EAAQhJ,IACd5D,UAAWA,EACXK,OAAQA,EACRC,IAAI,sBAAqBL,SAExBA,KAKLC,EAAAA,EAAAA,KAACoK,EAAAA,GAAI,CACD4C,GAAIN,EAAQhJ,IACZ5D,UAAWA,EACXK,OAAQA,EACRC,IAAI,sBAAqBL,SAExBA,KApBFC,EAAAA,EAAAA,KAAA,OAAKF,UAAWA,EAAUC,SAAEA,GAwB3C,E,gCCiEA,EA7IqB,SAAHmB,GAA0C,IAAD+L,EAAA/L,EAAnCgM,SAAAA,OAAQ,IAAAD,EAAG,CAAC,EAACA,EAAAE,EAAAjM,EAAEmC,MAAAA,OAAK,IAAA8J,GAAQA,EAChDtK,GAAgCC,EAAAA,EAAAA,UAAS,MAAKC,GAAAC,EAAAA,EAAAA,SAAAH,EAAA,GAAvCY,EAAQV,EAAA,GAAEqK,EAAWrK,EAAA,GAC5BI,GAAwCL,EAAAA,EAAAA,UAAS,MAAKM,GAAAJ,EAAAA,EAAAA,SAAAG,EAAA,GAA/CkK,EAAYjK,EAAA,GAAEkK,EAAelK,EAAA,GACpCuD,GAAgC7D,EAAAA,EAAAA,UAAS,MAAK8D,GAAA5D,EAAAA,EAAAA,SAAA2D,EAAA,GAAvC4G,EAAQ3G,EAAA,GAAE4G,EAAW5G,EAAA,GAEtBrD,GAAYC,EAAAA,EAAAA,cAAY,SAAAC,GAC1B2J,EAAY,MAEZ,IACI,IAAM1J,EAAM,IAAIzE,IAAIwE,GACpB2J,EAAY1J,EAChB,CAAE,MAAAmJ,GACE,SAAO,KAAD5M,OAAiBwD,IAClBG,MAAK,SAAApF,GACF4O,EAAY5O,EAAMqF,QACtB,IACCC,OAAM,WACHsJ,EAAYK,EAChB,GACR,CACJ,GAAG,IAiEH,OA/DAzJ,EAAAA,EAAAA,YAAU,YACDkJ,EAASQ,WAAcR,EAAS1O,QAIrC+E,EAAU2J,EAASQ,WAAaR,EAAS1O,MAC7C,GAAG,CAAC0O,EAAU3J,KAEdS,EAAAA,EAAAA,YAAU,WACNsJ,EACIJ,EAAS/O,aAAgB+O,EAAS3O,aAAe8E,EAC3C6J,EAAS3O,aAAe8E,EACpB6J,EAAS3O,YACT2O,EAAS/O,YAAW,WAAA8B,OACbiN,EAAS7P,KAG9B,IAAMkQ,EAAWL,EAAS/O,YACpB+O,EAAS/O,YAAW,WAAA8B,OACTiN,EAAS7P,IAC1B,IACI,IAAI4B,IAAIsO,GACRC,EAAYD,EAChB,CAAE,MAAAI,GAEE,SAAO,KAAD1N,OAAiBsN,IAClB3J,MAAK,SAAAkJ,GAEFU,EAAYpP,OAAOC,SAASC,OAASwO,EAAKjJ,QAC9C,IACCC,OAAM,WAGqB,kBAAbyJ,GACPA,EAASR,WAAW,SAIfQ,EAASR,WAAWnF,mBAWrB4F,EAAYpP,OAAOC,SAASC,OAASiP,IAIzCC,EACIpP,OAAOC,SAASC,OACZsJ,kBACA2F,EAGhB,GACR,CACJ,GAAG,CAACL,EAAU7J,KAGVxD,EAAAA,EAAAA,MAACkK,EAAAA,IAAI,CAACjK,UAAU,iBAAgBC,SAAA,EAC5BC,EAAAA,EAAAA,KAACgK,EAAAA,IAAM,CAACG,GAAI,EAAGD,GAAI,EAAGD,GAAI,EAAGnK,UAAU,uBAAsBC,SACxD0D,GACGzD,EAAAA,EAAAA,KAAA,OACIF,UAAU,wBACV4F,IACIwH,EAAS1P,OACT,sCAEJ0E,IAAKuB,KAGTzD,EAAAA,EAAAA,KAAC4N,EAAAA,IAAmB,CAAC9N,UAAU,6BAIvCD,EAAAA,EAAAA,MAACmK,EAAAA,IAAM,CAACG,GAAI,EAAGD,GAAI,EAAGD,GAAI,EAAGnK,UAAU,wBAAuBC,SAAA,EAC1DF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,yBAAwBC,SAAA,EACnCC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,wBAAuBC,SAChCmN,EAAS1P,OAAS,qBAEvBwC,EAAAA,EAAAA,KAAA,QAAMF,UAAU,uBAAsBC,SACf,UAAlBmN,EAAS3P,KAAgB,eAAA0C,OACLiN,EAASrP,aAAW,yBAAAoC,OACViN,EAASrP,mBAGhDmC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,0BAAyBC,UACpCC,EAAAA,EAAAA,KAAA,KACIF,UAAU,8BACV8F,wBAAyB,CACrBC,QACIpF,EAAAA,EAAAA,IAAeyM,EAASzP,YAAa,MACrC,iCAIhBoC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,wBAAuBC,SAAA,EAClCF,EAAAA,EAAAA,MAACgO,EAAW,CACR/N,UAAU,+BACV4D,IAAK2J,EACLZ,cAAY,EAAA1M,SAAA,CACf,eACcC,EAAAA,EAAAA,KAACqK,EAAAA,GAAU,QAE1BxK,EAAAA,EAAAA,MAAA,OAAKC,UAAU,0BAAyBC,SAAA,CAAC,SAErCC,EAAAA,EAAAA,KAAC8N,EAAAA,EAAY,CAACpP,UAAW6O,eAMjD,EC9GA,EA9B4B,WACxB,OACI1N,EAAAA,EAAAA,MAACkK,EAAAA,IAAI,CAACjK,UAAU,8BAA6BC,SAAA,EACzCC,EAAAA,EAAAA,KAACgK,EAAAA,IAAM,CAACG,GAAI,EAAGD,GAAI,EAAGD,GAAI,EAAGnK,UAAU,oCAAmCC,UACtEC,EAAAA,EAAAA,KAAC4N,EAAAA,IAAmB,CAAC9N,UAAU,yCAEnCD,EAAAA,EAAAA,MAACmK,EAAAA,IAAM,CACHG,GAAI,EACJD,GAAI,EACJD,GAAI,EACJnK,UAAU,qCAAoCC,SAAA,EAE9CC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,qCAAoCC,UAC/CC,EAAAA,EAAAA,KAAC+N,EAAAA,IAAY,CAACjO,UAAU,yCAE5BD,EAAAA,EAAAA,MAAA,OAAKC,UAAU,sCAAqCC,SAAA,EAChDC,EAAAA,EAAAA,KAAC+N,EAAAA,IAAY,KACb/N,EAAAA,EAAAA,KAAC+N,EAAAA,IAAY,KACb/N,EAAAA,EAAAA,KAAC+N,EAAAA,IAAY,QAEjBlO,EAAAA,EAAAA,MAAA,OAAKC,UAAU,sCAAqCC,SAAA,EAChDC,EAAAA,EAAAA,KAACgO,EAAAA,IAAY,KACbhO,EAAAA,EAAAA,KAACgO,EAAAA,IAAY,KACbhO,EAAAA,EAAAA,KAACgO,EAAAA,IAAY,YAKjC,E,WCZA,EAnBiB,SAAH9M,GAA4B,IAAD+M,EAAA/M,EAArBqJ,UAAAA,OAAS,IAAA0D,EAAG,GAAEA,EAC9BpL,GAA0BC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,SAAAH,EAAA,GAAlCQ,EAAKN,EAAA,GAAEO,EAAQP,EAAA,GAOtB,OANAiB,EAAAA,EAAAA,YAAU,YACN/C,EAAAA,EAAAA,KAAW2C,MAAK,SAAAP,GACZC,EAASD,EACb,GACJ,GAAG,CAACkH,IAEGnL,MAAMC,QAAQkL,IACjBvK,EAAAA,EAAAA,KAAA,OAAKF,UAAU,YAAWC,SACrBwK,EAAUhG,KAAI,SAAA2J,GACX,OAAOlO,EAAAA,EAAAA,KAACmO,EAAY,CAAmBjB,SAAUgB,EAAU7K,MAAOA,GAAxC6K,EAAS7Q,GACvC,OAGJ2C,EAAAA,EAAAA,KAACoO,EAAuB,GAEhC,C,wBCvBA,IAAI7J,EAAM,CACT,cAAe,CACd,MACA,GAED,iBAAkB,CACjB,MACA,GAED,sDAAuD,CACtD,MACA,GAED,sCAAuC,CACtC,MACA,GAED,+BAAgC,CAC/B,IACA,GAED,iCAAkC,CACjC,KACA,GAED,0CAA2C,CAC1C,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,6BAA8B,CAC7B,MACA,GAED,2BAA4B,CAC3B,MACA,GAED,mCAAoC,CACnC,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,uCAAwC,CACvC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,iDAAkD,CACjD,MACA,GAED,iDAAkD,CACjD,MACA,GAED,iDAAkD,CACjD,MACA,GAED,iDAAkD,CACjD,MACA,GAED,oDAAqD,CACpD,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,wCAAyC,CACxC,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,oDAAqD,CACpD,MACA,GAED,wCAAyC,CACxC,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,2DAA4D,CAC3D,MACA,GAED,kDAAmD,CAClD,MACA,GAED,uDAAwD,CACvD,MACA,GAED,iDAAkD,CACjD,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,oDAAqD,CACpD,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,qCAAsC,CACrC,MACA,GAED,kDAAmD,CAClD,KACA,GAED,kDAAmD,CAClD,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,yCAA0C,CACzC,MACA,GAED,gDAAiD,CAChD,KACA,GAED,6CAA8C,CAC7C,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,4CAA6C,CAC5C,KACA,GAED,qDAAsD,CACrD,MACA,GAED,oDAAqD,CACpD,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,6CAA8C,CAC7C,KACA,GAED,8CAA+C,CAC9C,MACA,GAED,gDAAiD,CAChD,MACA,GAED,qDAAsD,CACrD,GACA,GAED,gDAAiD,CAChD,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,iDAAkD,CACjD,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,qDAAsD,CACrD,MACA,GAED,gDAAiD,CAChD,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,qDAAsD,CACrD,MACA,GAED,gDAAiD,CAChD,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,mDAAoD,CACnD,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,oDAAqD,CACpD,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,oCAAqC,CACpC,MACA,GAED,4BAA6B,CAC5B,MACA,GAED,wCAAyC,CACxC,KACA,GAED,iDAAkD,CACjD,KACA,GAED,2CAA4C,CAC3C,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,gDAAiD,CAChD,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,mDAAoD,CACnD,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,sCAAuC,CACtC,GACA,GAED,gCAAiC,CAChC,MACA,GAED,qCAAsC,CACrC,KACA,GAED,oCAAqC,CACpC,MACA,GAED,8BAA+B,CAC9B,KACA,GAED,6BAA8B,CAC7B,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,iCAAkC,CACjC,MACA,GAED,+BAAgC,CAC/B,MACA,GAED,qCAAsC,CACrC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,wCAAyC,CACxC,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,sCAAuC,CACtC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,+BAAgC,CAC/B,MACA,GAED,qCAAsC,CACrC,KACA,GAED,oCAAqC,CACpC,KACA,GAED,2CAA4C,CAC3C,KACA,GAED,wCAAyC,CACxC,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,sCAAuC,CACtC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,+BAAgC,CAC/B,MACA,GAED,oCAAqC,CACpC,KACA,GAED,qCAAsC,CACrC,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,2CAA4C,CAC3C,KACA,GAED,wCAAyC,CACxC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,+BAAgC,CAC/B,MACA,GAED,oCAAqC,CACpC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,sDAAuD,CACtD,MACA,GAED,wCAAyC,CACxC,KACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,sCAAuC,CACtC,KACA,GAED,sCAAuC,CACtC,MACA,GAED,iCAAkC,CACjC,KACA,GAED,+BAAgC,CAC/B,MACA,GAED,oCAAqC,CACpC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,sDAAuD,CACtD,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,uCAAwC,CACvC,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,kDAAmD,CAClD,MACA,GAED,gDAAiD,CAChD,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,+BAAgC,CAC/B,MACA,GAED,iCAAkC,CACjC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,6CAA8C,CAC7C,KACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,gDAAiD,CAChD,KACA,GAED,+BAAgC,CAC/B,MACA,GAED,+BAAgC,CAC/B,MACA,GAED,qCAAsC,CACrC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,+CAAgD,CAC/C,KACA,GAED,mCAAoC,CACnC,MACA,GAED,+BAAgC,CAC/B,KACA,GAED,mCAAoC,CACnC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,oCAAqC,CACpC,MACA,GAED,2CAA4C,CAC3C,KACA,GAED,mCAAoC,CACnC,MACA,GAED,kCAAmC,CAClC,KACA,GAED,mCAAoC,CACnC,KACA,GAED,mCAAoC,CACnC,MACA,GAED,mCAAoC,CACnC,MACA,GAED,mCAAoC,CACnC,MACA,GAED,mCAAoC,CACnC,MACA,GAED,mCAAoC,CACnC,KACA,GAED,mCAAoC,CACnC,KACA,GAED,uCAAwC,CACvC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,0CAA2C,CAC1C,KACA,GAED,qCAAsC,CACrC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,yCAA0C,CACzC,KACA,GAED,wCAAyC,CACxC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,mCAAoC,CACnC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,uDAAwD,CACvD,MACA,GAED,uCAAwC,CACvC,MACA,GAED,oCAAqC,CACpC,KACA,GAED,4CAA6C,CAC5C,MACA,GAED,qCAAsC,CACrC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,wCAAyC,CACxC,KACA,GAED,sCAAuC,CACtC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,sCAAuC,CACtC,KACA,GAED,uCAAwC,CACvC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,mCAAoC,CACnC,MACA,GAED,uCAAwC,CACvC,KACA,GAED,0CAA2C,CAC1C,MACA,GAED,yCAA0C,CACzC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,wCAAyC,CACxC,KACA,GAED,2CAA4C,CAC3C,MACA,GAED,kCAAmC,CAClC,KACA,GAED,sCAAuC,CACtC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,iCAAkC,CACjC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,+BAAgC,CAC/B,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,kCAAmC,CAClC,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,uCAAwC,CACvC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,mCAAoC,CACnC,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,oCAAqC,CACpC,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,yCAA0C,CACzC,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,yCAA0C,CACzC,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,mDAAoD,CACnD,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,oCAAqC,CACpC,KACA,GAED,4CAA6C,CAC5C,MACA,GAED,iCAAkC,CACjC,MACA,GAED,mCAAoC,CACnC,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,uCAAwC,CACvC,KACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,qCAAsC,CACrC,KACA,GAED,qCAAsC,CACrC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,qCAAsC,CACrC,KACA,GAED,qCAAsC,CACrC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,gDAAiD,CAChD,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,oCAAqC,CACpC,MACA,GAED,oCAAqC,CACpC,KACA,GAED,oCAAqC,CACpC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,yCAA0C,CACzC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,KACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,yCAA0C,CACzC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,8BAA+B,CAC9B,KACA,GAED,gDAAiD,CAChD,MACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,KACA,GAED,yCAA0C,CACzC,KACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,yCAA0C,CACzC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,sCAAuC,CACtC,MACA,GAED,sCAAuC,CACtC,IACA,GAED,6CAA8C,CAC7C,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,6CAA8C,CAC7C,KACA,GAED,8CAA+C,CAC9C,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,6CAA8C,CAC7C,KACA,GAED,8CAA+C,CAC9C,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,6CAA8C,CAC7C,MACA,GAED,gCAAiC,CAChC,MACA,GAED,4CAA6C,CAC5C,KACA,GAED,4CAA6C,CAC5C,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,wCAAyC,CACxC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,oCAAqC,CACpC,KACA,GAED,oCAAqC,CACpC,KACA,GAED,oCAAqC,CACpC,MACA,GAED,yCAA0C,CACzC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,sCAAuC,CACtC,MACA,GAED,kCAAmC,CAClC,KACA,GAED,mCAAoC,CACnC,MACA,GAED,uCAAwC,CACvC,MACA,GAED,yBAA0B,CACzB,MACA,GAED,+CAAgD,CAC/C,MACA,GAED,4CAA6C,CAC5C,MACA,GAED,yBAA0B,CACzB,KACA,GAED,yDAA0D,CACzD,MACA,GAED,qCAAsC,CACrC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,4BAA6B,CAC5B,MACA,GAED,qCAAsC,CACrC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,8BAA+B,CAC9B,MACA,GAED,8BAA+B,CAC9B,MACA,GAED,2BAA4B,CAC3B,MACA,GAED,+BAAgC,CAC/B,MACA,GAED,4BAA6B,CAC5B,MACA,GAED,kCAAmC,CAClC,MACA,GAED,yBAA0B,CACzB,MACA,GAED,sCAAuC,CACtC,KACA,GAED,6BAA8B,CAC7B,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,4BAA6B,CAC5B,MACA,GAED,uCAAwC,CACvC,MACA,GAED,8BAA+B,CAC9B,MACA,GAED,2BAA4B,CAC3B,MACA,GAED,0CAA2C,CAC1C,MACA,GAED,0BAA2B,CAC1B,KACA,GAED,qCAAsC,CACrC,MACA,GAED,8CAA+C,CAC9C,MACA,GAED,gCAAiC,CAChC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,0BAA2B,CAC1B,MACA,GAED,mCAAoC,CACnC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,kCAAmC,CAClC,MACA,GAED,kCAAmC,CAClC,MACA,GAED,oCAAqC,CACpC,MACA,GAED,qCAAsC,CACrC,MACA,GAED,2CAA4C,CAC3C,MACA,GAED,iCAAkC,CACjC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,iCAAkC,CACjC,MACA,GAED,iCAAkC,CACjC,KACA,GAED,iCAAkC,CACjC,KACA,GAED,iCAAkC,CACjC,MACA,GAED,cAAe,CACd,MACA,EACA,KAED,mBAAoB,CACnB,MACA,EACA,KAED,mBAAoB,CACnB,MACA,EACA,KAED,wBAAyB,CACxB,MACA,EACA,MAGF,SAAS8J,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEjK,EAAK+J,GAC9B,OAAOxM,QAAQC,UAAU6B,MAAK,WAC7B,IAAI6K,EAAI,IAAIC,MAAM,uBAAyBJ,EAAM,KAEjD,MADAG,EAAEE,KAAO,mBACHF,CACP,IAGD,IAAIG,EAAMrK,EAAI+J,GAAMjR,EAAKuR,EAAI,GAC7B,OAAO9M,QAAQwC,IAAIsK,EAAIhO,MAAM,GAAG2D,IAAIgK,EAAoBE,IAAI7K,MAAK,WAChE,OAAO2K,EAAoBM,EAAExR,EAAa,GAATuR,EAAI,GACtC,GACD,CACAP,EAAoBS,KAAO,WAAa,OAAOC,OAAOD,KAAKvK,EAAM,EACjE8J,EAAoBhR,GAAK,MACzB2R,EAAOC,QAAUZ,C","sources":["api/News.js","components/shared/ShareButtons/ShareButtons.js","components/shared/Util/Utility.js","components/shared/Util/vpnCheck.js","api/Announcement.js","pages/News/Annoucements/Announcements.js","pages/Home/Helper/StatBlock/StatBlock.js","pages/Home/Home.js","components/shared/DynamicLink/DynamicLink.js","pages/News/NewsFeedItem.js","pages/News/NewsFeedItemPlaceholder.js","pages/News/NewsFeed.js","assets|lazy|/^/.//.*$/|groupOptions: {}|namespace object"],"sourcesContent":["const newsResponseMapper = data => {\n    return {\n        id: data._id,\n        type: 'news',\n        title: data.title,\n        description: data.description,\n        descriptionInHTML: data.descriptionInHTML || data.description,\n        publisher: data.publisher,\n        publishedDate: data.publishedDate,\n        displayDate: new Date(data.publishedDate).toLocaleString('en-us', {\n            year: 'numeric',\n            month: 'long',\n            day: 'numeric'\n        }),\n        externalURL:\n            data.externalURL ||\n            window.location.origin + process.env.PUBLIC_URL + `/news`,\n        internalURL: data.internalURL,\n        image: data.image || null\n    };\n};\n\nexport default newsResponseMapper;\n","import React from 'react';\nimport { LogoTwitter, LogoFacebook, LogoLinkedin } from '@carbon/react/icons';\nimport './_ShareButtons.scss';\n\nconst generateTwitterShareLink = (shareLink, shareText, shareHashtags = []) => {\n    const twitterShareLink = new URL('https://twitter.com/share');\n    twitterShareLink.searchParams.set('text', shareText);\n    twitterShareLink.searchParams.set('url', shareLink);\n    twitterShareLink.searchParams.set('related', 'twitterapi,twitter');\n    twitterShareLink.searchParams.set(\n        'hashtags',\n        Array.isArray(shareHashtags) && shareHashtags.length\n            ? shareHashtags.join(',')\n            : 'IBMCanada,IBMCAS'\n    );\n    return twitterShareLink.href;\n};\n\nconst generateFacebookShareLink = shareLink => {\n    const facebookShareLink = new URL(\n        'https://www.facebook.com/sharer/sharer.php'\n    );\n    facebookShareLink.searchParams.set('u', shareLink);\n    return facebookShareLink.href;\n};\n\nconst generateLinkedinShareLink = shareLink => {\n    const linkedinShareLink = new URL('https://www.linkedin.com/sharing/share-offsite/');\n    linkedinShareLink.searchParams.set('url', shareLink);\n    return linkedinShareLink.href;\n};\n\nconst ShareButtons = props => {\n    const shareLink = props.shareLink || window.location.href;\n    const shareText = props.shareText || '';\n    const shareHashtags = props.shareHashtags || '';\n\n    return (\n        <div className=\"share-button__container\">\n            <a\n                className={`share-button share-button${\n                    props.light ? '--light' : ''\n                }`}\n                href={generateTwitterShareLink(\n                    shareLink,\n                    shareText,\n                    shareHashtags\n                )}\n                target=\"_blank\"\n                rel=\"noopener noreferrer\"\n            >\n                <LogoTwitter size={32} />\n            </a>\n            <a\n                className={`share-button share-button${\n                    props.light ? '--light' : ''\n                }`}\n                href={generateFacebookShareLink(shareLink)}\n                target=\"_blank\"\n                rel=\"noopener noreferrer\"\n            >\n                <LogoFacebook size={32} />\n            </a>\n            <a\n                className={`share-button share-button${\n                    props.light ? '--light' : ''\n                }`}\n                href={generateLinkedinShareLink(shareLink)}\n                target=\"_blank\"\n                rel=\"noopener noreferrer\"\n            >\n                <LogoLinkedin size={32} />\n            </a>\n        </div>\n    );\n};\n\nexport default ShareButtons;\n","export const formatDate = date => {\n    try {\n        let d = new Date(date),\n            month = '' + (d.getMonth() + 1),\n            day = '' + d.getDate(),\n            year = d.getFullYear();\n\n        if (month.length < 2) month = '0' + month;\n        if (day.length < 2) day = '0' + day;\n\n        return [month, day, year].join('/');\n    } catch (err) {\n        console.log(err);\n        return '';\n    }\n};\n\nexport const splitHours = numberOfHours => {\n    try {\n        let Days = Math.floor(numberOfHours / 24);\n        let Remainder = numberOfHours % 24;\n        let Hours = Math.floor(Remainder);\n        let Minutes = Math.floor(60 * (Remainder - Hours));\n        return { Days: Days, Hours: Hours, Minutes: Minutes };\n    } catch (err) {\n        console.log(err);\n        return {};\n    }\n};\n\nexport function truncateString(str, num) {\n    // If the length of str is less than or equal to num\n    // just return str--don't truncate it.\n    if (str.length <= num) {\n        return str;\n    }\n    // Return str truncated with '...' concatenated to the end of str.\n    return str.slice(0, num) + '...';\n}\n\nexport const capitalizeFirstLetter = string => {\n    return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\n// removes undefined values from a object which can contain arrays\nexport const cleanObject = obj => {\n    Object.keys(obj).forEach(key => {\n        if (Array.isArray(obj[key])) {\n            obj[key] = obj[key].filter(item => item !== undefined);\n        }\n        if (obj[key] === undefined || obj[key]?.length === 0) {\n            delete obj[key];\n        }\n    });\n\n    return obj;\n};","const vpnCheck = async () => {\n\tconst img = new Image();\n\n    return new Promise((resolve) => {\n        img.onload = () => resolve(true);\n        img.onerror = () => resolve(false);\n    \n        // Test if IBM vpn is turned on by loading an image that will only work with vpn\n        img.src = 'https://w3.ibm.com/w3publisher/images/favicon.png?'+(new Date()).getTime();\n    });\n}\n\nexport default vpnCheck;","const announcementResponseMapper = data => {\n    return {\n        id: data._id,\n        type: \"announcement\",\n        title: data.title,\n        subtitle: data.subtitle,\n        description: data.description,\n        descriptionInHTML: data.descriptionInHTML || data.description,\n        image: data.image || null,\n        announcedFromDate: data.announcedFromDate,\n        announcedToDate: data.announcedToDate,\n        externalURL: data.externalURL,\n        internalURL: data.internalURL,\n    };\n};\n\nexport default announcementResponseMapper;\n","import React, { useEffect, useCallback, useState } from 'react';\nimport { Button } from '@carbon/react';\n\nimport SwiperCore, { Navigation, Pagination, Autoplay } from 'swiper';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport 'swiper/swiper-bundle.min.css';\n\nimport BasicBanner from '../../../components/shared/BasicBanner/BasicBanner';\nimport './_Announcements.scss';\nimport DEFAULT_BACKGROUND_IMAGE from '../../../assets/images/news/cybersecurity.jpg';\n\nimport vpnCheck from '../../../components/shared/Util/vpnCheck';\n\nSwiperCore.use([Pagination, Navigation, Autoplay]);\n\nconst Announcements = props => {\n    const [announcements, setAnnouncements] = useState([]);\n    const [vpnOn, setVpnOn] = useState(false);\n\n    const loadImage = useCallback(async imageSrc => {\n        try {\n            const url = new URL(imageSrc);\n            return url;\n        } catch {\n            return import(`../../../assets/${imageSrc}`)\n                .then(image => {\n                    return image.default;\n                })\n                .catch(() => {\n                    return null;\n                });\n        }\n    }, []);\n\n    useEffect(() => {\n        if (!Array.isArray(props.announcements)) {\n            return;\n        }\n\n        const loadAnnouncementImages = async () => {\n            const announcements = [...props.announcements];\n\n            await Promise.all(\n                props.announcements.map(announcement => {\n                    return loadImage(announcement.image);\n                })\n            ).then(images => {\n                images.forEach((image, index) => {\n                    announcements[index].image = image;\n                });\n\n                setAnnouncements(announcements);\n            });\n        };\n\n        loadAnnouncementImages();\n    }, [props.announcements, loadImage]);\n\n    useEffect(() => {\n        vpnCheck().then(vpnOn => {\n            setVpnOn(vpnOn);\n        });\n    }, []);\n\n    return Array.isArray(announcements) && announcements.length ? (\n        <Swiper\n            className={\n                announcements.length > 1\n                    ? 'announcements-container'\n                    : 'announcements-container--no-pagination'\n            }\n            spaceBetween={0}\n            slidesPerView={1}\n            effect={'swipe'}\n            keyboard={{\n                enabled: true\n            }}\n            autoplay={{\n                delay: 10000,\n                disableOnInteraction: false\n            }}\n            pagination={{\n                clickable: announcements.length > 1\n            }}\n            navigation={announcements.length > 1}\n            loop\n        >\n            {announcements.map(announcement => (\n                <SwiperSlide key={announcement.id}>\n                    <div className=\"announcement\">\n                        <div className=\"announcement__background\">\n                            <img\n                                className=\"announcement__background-image\"\n                                alt={announcement.title}\n                                src={\n                                    announcement.image ||\n                                    DEFAULT_BACKGROUND_IMAGE\n                                }\n                            />\n                        </div>\n                        <div className=\"announcement__content\">\n                            <div className=\"announcement__content--top\">\n                                <h1 className=\"announcement__title\">\n                                    {announcement.title}\n                                </h1>\n                                <h2 className=\"announcement__subtitle\">\n                                    {announcement.subtitle}\n                                </h2>\n                            </div>\n                            <div className=\"announcement__content--bottom\">\n                                <p\n                                    className=\"announcement__description\"\n                                    dangerouslySetInnerHTML={{\n                                        __html: announcement.descriptionInHTML\n                                    }}\n                                ></p>\n                                {(announcement.externalURL ||\n                                    (announcement.internalURL && vpnOn)) && (\n                                    <Button\n                                        onClick={() => {\n                                            window.open(\n                                                vpnOn\n                                                    ? announcement.internalURL ||\n                                                          announcement.externalURL\n                                                    : announcement.externalURL,\n                                                '_blank',\n                                                'noopener, noreferrer'\n                                            );\n                                        }}\n                                    >\n                                        Learn more\n                                    </Button>\n                                )}\n                            </div>\n                        </div>\n                    </div>\n                </SwiperSlide>\n            ))}\n        </Swiper>\n    ) : (\n        <BasicBanner bannerTitleTop=\"What's\" bannerTitleBottom=\"New\" />\n    );\n};\n\nexport default Announcements;\n","import React from 'react';\r\nimport './_StatBlock.scss';\r\n\r\nexport default function StatBlocks({ icon, val, title }) {\r\n    const Icon = icon;\r\n    return (\r\n        <div className=\"stat-block\">\r\n            {Icon && <Icon className=\"stat-block__icon\" />}\r\n            <div className=\"stat-block__val\">{val}</div>\r\n            <div className=\"stat-block__title\">{title}</div>\r\n        </div>\r\n    );\r\n}\r\n","import { Column, Grid, Link, ToastNotification } from '@carbon/react';\r\nimport {\r\n    ArrowRight,\r\n    Bee,\r\n    Building,\r\n    Document,\r\n    Education,\r\n    Product,\r\n    UserSpeaker\r\n} from '@carbon/react/icons';\r\nimport React, { useEffect, useState } from 'react';\r\nimport announcementResponseMapper from '../../api/Announcement';\r\nimport newsResponseMapper from '../../api/News';\r\nimport Header from '../../components/shared/Navigation/MainNavigation';\r\nimport PageBlock from '../../components/shared/PageBlock/PageBlock';\r\nimport { useHttpClient } from '../../hooks/http-hook';\r\nimport Award from '../Awards/helper/Award';\r\nimport Announcements from '../News/Annoucements/Announcements';\r\nimport NewsFeed from '../News/NewsFeed';\r\nimport StatBlock from './Helper/StatBlock/StatBlock';\r\nimport './_Home.scss';\r\nimport { Swiper, SwiperSlide } from 'swiper/react';\r\n\r\nconst Home = () => {\r\n    const [currentYear, setCurrentYear] = useState();\r\n    const [announcements, setAnnouncements] = useState([]);\r\n    const [newsAndEvents, setNewsAndEvents] = useState(null);\r\n    const [Awards, setAwards] = useState();\r\n    const [Stats, setStats] = useState();\r\n\r\n    const { error, sendRequest } = useHttpClient();\r\n\r\n    useEffect(() => {\r\n        const getCurrentYear = async () => {\r\n            let url = `${process.env.REACT_APP_BACKEND_URL}/system/constants`;\r\n\r\n            await sendRequest(url)\r\n                .then(res => {\r\n                    setCurrentYear(res.currentYear);\r\n                })\r\n                .catch(() => setStats(null));\r\n        };\r\n        getCurrentYear();\r\n    }, [sendRequest]);\r\n\r\n    useEffect(() => {\r\n        const getContent = async () => {\r\n            // create url following pattern /content/search?years=z1,z2&text=xxx\r\n            let apiURL = null;\r\n            if (\r\n                !process.env.NODE_ENV ||\r\n                process.env.NODE_ENV === 'development'\r\n            ) {\r\n                apiURL = new URL(\r\n                    `${process.env.REACT_APP_BACKEND_URL}/content/latest`\r\n                );\r\n            } else {\r\n                apiURL = new URL(\r\n                    `${window.location.origin}${process.env.REACT_APP_BACKEND_URL}/content/latest`\r\n                );\r\n            }\r\n\r\n            await sendRequest(apiURL).then(res => {\r\n                const news = Array.isArray(res.newsAndEvents)\r\n                    ? res.newsAndEvents.map(newsItem =>\r\n                          newsResponseMapper(newsItem)\r\n                      )\r\n                    : [];\r\n                const announcements = Array.isArray(res.announcements)\r\n                    ? res.announcements.map(announcement =>\r\n                          announcementResponseMapper(announcement)\r\n                      )\r\n                    : [];\r\n\r\n                const newsAndEventsArray = [...news];\r\n                newsAndEventsArray.sort((itemA, itemB) => {\r\n                    const itemADate =\r\n                        itemA.type === 'event'\r\n                            ? new Date(itemA.startDate || itemA.endDate)\r\n                            : new Date(itemA.publishedDate);\r\n                    const itemBDate =\r\n                        itemB.type === 'event'\r\n                            ? new Date(itemB.startDate || itemB.endDate)\r\n                            : new Date(itemB.publishedDate);\r\n\r\n                    return itemBDate - itemADate;\r\n                });\r\n\r\n                setNewsAndEvents(newsAndEventsArray);\r\n                setAnnouncements(announcements);\r\n            });\r\n        };\r\n\r\n        getContent();\r\n    }, [sendRequest]);\r\n\r\n    useEffect(() => {\r\n        const getAwards = async () => {\r\n            let url = `${process.env.REACT_APP_BACKEND_URL}/awards`;\r\n\r\n            await sendRequest(url)\r\n                .then(res => {\r\n                    const present = res.awards.filter(\r\n                        ({ awardYear }) => awardYear === currentYear\r\n                    );\r\n\r\n                    setAwards(\r\n                        present.length\r\n                            ? present\r\n                            : res.awards.filter(\r\n                                  ({ awardYear }) =>\r\n                                      awardYear === (currentYear - 1).toString()\r\n                              )\r\n                    );\r\n                })\r\n                .catch(() => setAwards(null));\r\n        };\r\n        if (currentYear) {\r\n            getAwards();\r\n        }\r\n    }, [currentYear, sendRequest]);\r\n\r\n    useEffect(() => {\r\n        const getStats = async () => {\r\n            let url = `${process.env.REACT_APP_BACKEND_URL}/dashboard?year=${currentYear}`;\r\n\r\n            await sendRequest(url)\r\n                .then(res => {\r\n                    setStats(res);\r\n                })\r\n                .catch(() => setStats(null));\r\n        };\r\n        if (currentYear) {\r\n            getStats();\r\n        }\r\n    }, [currentYear, sendRequest]);\r\n\r\n    let sort = {\r\n        'Project of the Year': 0,\r\n        'Faculty Fellow of the Year': 1,\r\n        'Faculty of the Year': 2,\r\n        'Student of the Year': 3,\r\n        'Collaborator of the Year': 4,\r\n        'Innovator of the Year': 5,\r\n        'IBM Advanced Studies Video Award': 6,\r\n        'Best Paper': 7,\r\n        'Best Student Paper': 8,\r\n        'Most Influential Paper': 9,\r\n        'Best Industry Paper': 10,\r\n        'New Ideas and Emerging Research': 11,\r\n        'Best Expo': 12,\r\n        'Best Expo Exhibit': 13,\r\n        'Best Expo Exhibit Co-Winner': 14,\r\n        'Best Technology Showcase': 15,\r\n        \"People's Choice Technology Showcase\": 16,\r\n        \"Expo People's Choice Exhibit\": 17,\r\n        \"Expo People's Choice Exhibit Co-Winner\": 18\r\n    };\r\n\r\n    return (\r\n        <>\r\n            {error && (\r\n                <ToastNotification\r\n                    id=\"toast\"\r\n                    className=\"showToast\"\r\n                    title=\"Error fetching news.\"\r\n                    kind=\"error\"\r\n                />\r\n            )}\r\n            <Header />\r\n            <Announcements announcements={announcements} />\r\n\r\n            <Grid>\r\n                <Column lg={16} md={8} sm={4}>\r\n                    <div className=\"news-section__block\">\r\n                        <h1 className=\"news-section__heading\">\r\n                            What’s new\r\n                            <div className=\"p-t-1\">\r\n                                <Link\r\n                                    className=\"news-feed-item__details-link\"\r\n                                    target=\"_blank\"\r\n                                    href={`/ibm/cas/canada/news?years=${currentYear}`}\r\n                                >\r\n                                    View All <ArrowRight />\r\n                                </Link>\r\n                            </div>\r\n                        </h1>\r\n\r\n                        <div className=\"news-section__news\">\r\n                            <NewsFeed feedItems={newsAndEvents?.slice(0, 3)} />\r\n                        </div>\r\n                    </div>\r\n                </Column>\r\n            </Grid>\r\n\r\n            {Stats && (\r\n                <PageBlock\r\n                    blue\r\n                    heading={\r\n                        <h1 className=\"news-section__heading\">\r\n                            Advancing innovation\r\n                            <p>Data shown for {currentYear}</p>\r\n                            <div className=\"p-t-1\">\r\n                                <Link\r\n                                    className=\"news-feed-item__details-link\"\r\n                                    target=\"_blank\"\r\n                                    href={`/ibm/cas/canada/research?years=${currentYear}`}\r\n                                >\r\n                                    View all projects <ArrowRight />\r\n                                </Link>\r\n                            </div>\r\n                        </h1>\r\n                    }\r\n                    children={\r\n                        <div className=\"data-section__content\">\r\n                            {Stats?.projectCount && (\r\n                                <StatBlock\r\n                                    icon={Document}\r\n                                    title={'Projects'}\r\n                                    val={Stats.projectCount}\r\n                                />\r\n                            )}\r\n                            {Stats?.professors && (\r\n                                <StatBlock\r\n                                    icon={UserSpeaker}\r\n                                    title={'Professors'}\r\n                                    val={Stats.professors}\r\n                                />\r\n                            )}\r\n                            {Stats?.students && (\r\n                                <StatBlock\r\n                                    icon={Education}\r\n                                    title={'Students'}\r\n                                    val={Stats.students}\r\n                                />\r\n                            )}\r\n                            {Stats?.ibmers && (\r\n                                <StatBlock\r\n                                    icon={Bee}\r\n                                    title={'IBMers'}\r\n                                    val={Stats.ibmers}\r\n                                />\r\n                            )}\r\n                            <StatBlock\r\n                                icon={Building}\r\n                                title={'Universities'}\r\n                                val={21}\r\n                            />\r\n                            {Stats?.products?.length && (\r\n                                <StatBlock\r\n                                    icon={Product}\r\n                                    title={'Products'}\r\n                                    val={Stats?.products.length}\r\n                                />\r\n                            )}\r\n                        </div>\r\n                    }\r\n                />\r\n            )}\r\n            {Awards?.length && (\r\n                <PageBlock\r\n                    heading={\r\n                        <h1 className=\"news-section__heading\">\r\n                            {Awards[0].awardYear} CASCON Awards\r\n                            <div className=\"p-t-1\">\r\n                                <Link\r\n                                    className=\"news-feed-item__details-link\"\r\n                                    target=\"_blank\"\r\n                                    href={'/ibm/cas/canada/awards'}\r\n                                >\r\n                                    View all awards <ArrowRight />\r\n                                </Link>\r\n                            </div>\r\n                        </h1>\r\n                    }\r\n                    children={\r\n                        <div>\r\n                            <p className=\"awards-section__text\">\r\n                                Every year, IBM Canada Advanced Studies\r\n                                recognizes the most outstanding research\r\n                                projects, students, professors, and IBM product\r\n                                experts that exemplify drive for innovation,\r\n                                collaboration and forward thinking research.\r\n                                These awards are presented at our annual CASCON\r\n                                x EVOKE academic tech conference - a space to\r\n                                engage and learn with a community of software\r\n                                developers, researchers, students, academics,\r\n                                decision-makers and IBMers.\r\n                            </p>\r\n                            <div className=\"awards-section__content\">\r\n                                {Awards?.sort(\r\n                                    (a, b) =>\r\n                                        (sort[a.title] ? sort[a.title] : 1) -\r\n                                        (sort[b.title] ? sort[b.title] : 0)\r\n                                ).map(\r\n                                    ({\r\n                                        title,\r\n                                        organizations,\r\n                                        winner,\r\n                                        pictureLink,\r\n                                        _id,\r\n                                        descriptionInHtml,\r\n                                        description\r\n                                    }) => (\r\n                                        <Award\r\n                                            key={_id}\r\n                                            title={title}\r\n                                            projectTitle={winner?.title}\r\n                                            orgs={organizations || []}\r\n                                            description={\r\n                                                description ||\r\n                                                descriptionInHtml ||\r\n                                                ''\r\n                                            }\r\n                                            url={`${window.location.href.replace(\r\n                                                /\\/+$/,\r\n                                                ''\r\n                                            )}/awards/${_id}`}\r\n                                            image={\r\n                                                pictureLink &&\r\n                                                require(`../../assets/images/${pictureLink}`)\r\n                                            }\r\n                                            _id={_id}\r\n                                        />\r\n                                    )\r\n                                )}\r\n                            </div>\r\n                        </div>\r\n                    }\r\n                />\r\n            )}\r\n            <PageBlock\r\n                blue\r\n                heading={\r\n                    <h1 className=\"news-section__heading\">\r\n                        Active product involvement\r\n                        <p className=\"p-t-4\">\r\n                            “CAS is where we find top talent.”\r\n                        </p>\r\n                        <p className=\"p-t-4\">\r\n                            “CAS Projects make valuable contributions to both\r\n                            open source projects and IBM products.”\r\n                        </p>\r\n                    </h1>\r\n                }\r\n                children={\r\n                    <div>\r\n                        <Swiper\r\n                            spaceBetween={4}\r\n                            slidesPerView={1}\r\n                            pagination={{\r\n                                clickable: true\r\n                            }}\r\n                            navigation={true}\r\n                            effect={'swipe'}\r\n                            keyboard={{\r\n                                enabled: true\r\n                            }}\r\n                            autoplay={{\r\n                                delay: 10000,\r\n                                disableOnInteraction: false\r\n                            }}\r\n                            className=\"video-section\"\r\n                        >\r\n                            <SwiperSlide className=\"video-section__slide\">\r\n                                <iframe\r\n                                    width=\"882\"\r\n                                    height=\"427\"\r\n                                    src=\"https://www.youtube.com/embed/9TkJApIdFKM\"\r\n                                    title=\"Active Product Involvement\"\r\n                                    frameborder=\"0\"\r\n                                    allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n                                    allowFullScreen\r\n                                ></iframe>\r\n                            </SwiperSlide>\r\n                            <SwiperSlide className=\"video-section__slide\">\r\n                                <iframe\r\n                                    width=\"882\"\r\n                                    height=\"427\"\r\n                                    src=\"https://www.youtube.com/embed/dC-j5ruRO1c\"\r\n                                    title=\"Community Engagement\"\r\n                                    frameborder=\"0\"\r\n                                    allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n                                    allowFullScreen\r\n                                ></iframe>\r\n                            </SwiperSlide>\r\n                            <SwiperSlide className=\"video-section__slide\">\r\n                                <iframe\r\n                                    width=\"882\"\r\n                                    height=\"427\"\r\n                                    src=\"https://www.youtube.com/embed/OsfR3YrfA7Y\"\r\n                                    title=\"Contributions to Research Excellence\"\r\n                                    frameborder=\"0\"\r\n                                    allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n                                    allowFullScreen\r\n                                ></iframe>\r\n                            </SwiperSlide>\r\n                            <SwiperSlide className=\"video-section__slide\">\r\n                                <iframe\r\n                                    width=\"882\"\r\n                                    height=\"427\"\r\n                                    src=\"https://www.youtube.com/embed/we0vpmjgiAM\"\r\n                                    title=\"Contributions to Professional Development\"\r\n                                    frameborder=\"0\"\r\n                                    allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n                                    allowFullScreen\r\n                                ></iframe>\r\n                            </SwiperSlide>\r\n                            <SwiperSlide className=\"video-section__slide\">\r\n                                <iframe\r\n                                    width=\"882\"\r\n                                    height=\"427\"\r\n                                    src=\"https://www.youtube.com/embed/LGmbnPDpwH0\"\r\n                                    title=\"Contributions to Product Innovation\"\r\n                                    frameborder=\"0\"\r\n                                    allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n                                    allowFullScreen\r\n                                ></iframe>\r\n                            </SwiperSlide>\r\n                            <SwiperSlide className=\"video-section__slide\">\r\n                                <iframe\r\n                                    width=\"882\"\r\n                                    height=\"427\"\r\n                                    src=\"https://www.youtube.com/embed/Re4xqDhZQkY\"\r\n                                    title=\"CAS Research Values\"\r\n                                    frameborder=\"0\"\r\n                                    allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n                                    allowFullScreen\r\n                                ></iframe>\r\n                            </SwiperSlide>\r\n                        </Swiper>\r\n                    </div>\r\n                }\r\n            />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Home;\r\n","import React, { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom';\n\nconst DynamicLink = ({ url, children, className, openInNewTab = false }) => {\n    const [urlInfo, setUrlInfo] = useState(null);\n    const target = openInNewTab ? '_blank' : '_self';\n\n    useEffect(() => {\n        if (!url || !(typeof url === 'string')) {\n            setUrlInfo(null);\n            return;\n        }\n\n        try {\n            new URL(url); // Check if url is valid\n            setUrlInfo({ url: url, useExternalRouting: true });\n        } catch {\n            // Url is not valid, it could be a relative url to a page or file\n            import(`../../../assets/${url}`)\n                .then(file => {\n                    // It is a relative url to a file\n                    setUrlInfo({ url: file.default, useExternalRouting: true });\n                })\n                .catch(() => {\n                    // It is not a relative url to a file, assume it is a relative url to a page\n                    if (url.startsWith(process.env.PUBLIC_URL)) {\n                        // url is part of cascanada\n                        setUrlInfo({\n                            url: url.replace(process.env.PUBLIC_URL, ''),\n                            useExternalRouting: false\n                        });\n                    } else if (url.startsWith('/ibm')) {\n                        if (\n                            !process.env.NODE_ENV ||\n                            process.env.NODE_ENV === 'development'\n                        ) {\n                            // url not part of cascanada and it's development mode\n                            setUrlInfo({\n                                url:\n                                    process.env.REACT_APP_BACKEND_BASENAME +\n                                    url,\n                                useExternalRouting: true\n                            });\n                        } else {\n                            // url not part of cascanada and it's production mode\n                            setUrlInfo({\n                                url: url,\n                                useExternalRouting: true\n                            });\n                        }\n                    } else {\n                        // url does not start with '/ibm', assume url is part of cascanada\n                        setUrlInfo({\n                            url: url,\n                            useExternalRouting: false\n                        });\n                    }\n                });\n        }\n    }, [url]);\n\n    if (!urlInfo?.url) {\n        return <div className={className}>{children}</div>;\n    } else if (urlInfo.useExternalRouting) {\n        return (\n            <a\n                href={urlInfo.url}\n                className={className}\n                target={target}\n                rel=\"noopener noreferrer\"\n            >\n                {children}\n            </a>\n        );\n    } else {\n        return (\n            <Link\n                to={urlInfo.url}\n                className={className}\n                target={target}\n                rel=\"noopener noreferrer\"\n            >\n                {children}\n            </Link>\n        );\n    }\n};\n\nexport default DynamicLink;\n","import React, { useState, useEffect, useCallback } from 'react';\nimport { Grid, Column, SkeletonPlaceholder } from '@carbon/react';\nimport { ArrowRight } from '@carbon/react/icons';\n\nimport DynamicLink from '../../components/shared/DynamicLink/DynamicLink';\nimport ShareButtons from '../../components/shared/ShareButtons/ShareButtons';\nimport { truncateString } from '../../components/shared/Util/Utility';\n\nimport defaultNewsImage from '../../assets/images/news/programs-black-white.jpeg';\n\nconst NewsFeedItem = ({ itemData = {}, vpnOn = false }) => {\n    const [imageSrc, setImageSrc] = useState(null);\n    const [learnMoreURL, setLearnMoreURL] = useState(null);\n    const [shareURL, setShareURL] = useState(null);\n\n    const loadImage = useCallback(imageSrc => {\n        setImageSrc(null);\n\n        try {\n            const url = new URL(imageSrc);\n            setImageSrc(url);\n        } catch {\n            import(`../../assets/${imageSrc}`)\n                .then(image => {\n                    setImageSrc(image.default);\n                })\n                .catch(() => {\n                    setImageSrc(defaultNewsImage);\n                });\n        }\n    }, []);\n\n    useEffect(() => {\n        if (!itemData.mainImage && !itemData.image) {\n            return;\n        }\n\n        loadImage(itemData.mainImage || itemData.image);\n    }, [itemData, loadImage]);\n\n    useEffect(() => {\n        setLearnMoreURL(\n            itemData.externalURL || (itemData.internalURL && vpnOn)\n                ? itemData.internalURL && vpnOn\n                    ? itemData.internalURL\n                    : itemData.externalURL\n                : `/events/${itemData.id}`\n        );\n\n        const shareURL = itemData.externalURL\n            ? itemData.externalURL\n            : `/events/${itemData.id}`;\n        try {\n            new URL(shareURL); // Check if url is valid\n            setShareURL(shareURL);\n        } catch {\n            // Url is not valid, it could be a relative url to a page or file\n            import(`../../assets/${shareURL}`)\n                .then(file => {\n                    // It is a relative url to a file\n                    setShareURL(window.location.origin + file.default);\n                })\n                .catch(() => {\n                    // It is not a relative url to a file, assume it is a relative url to a page\n                    if (\n                        typeof shareURL === 'string' &&\n                        shareURL.startsWith('/ibm')\n                    ) {\n                        // url starts with '/ibm', we need to check if it's part of cascanada\n                        if (\n                            !shareURL.startsWith(process.env.PUBLIC_URL) &&\n                            (!process.env.NODE_ENV ||\n                                process.env.NODE_ENV === 'development')\n                        ) {\n                            // In dev mode and url is not part of cascanada\n                            setShareURL(\n                                process.env.REACT_APP_BACKEND_BASENAME +\n                                    shareURL\n                            );\n                        } else {\n                            // In production mode or url is part of cascanada\n                            setShareURL(window.location.origin + shareURL);\n                        }\n                    } else {\n                        // url does not start with '/ibm', assume url is part of cascanada\n                        setShareURL(\n                            window.location.origin +\n                                process.env.PUBLIC_URL +\n                                shareURL\n                        );\n                    }\n                });\n        }\n    }, [itemData, vpnOn]);\n\n    return (\n        <Grid className=\"news-feed-item\">\n            <Column sm={4} md={8} lg={7} className=\"news-feed-item--left\">\n                {imageSrc ? (\n                    <img\n                        className=\"news-feed-item__image\"\n                        alt={\n                            itemData.title ||\n                            'This is a news article picture lead'\n                        }\n                        src={imageSrc}\n                    />\n                ) : (\n                    <SkeletonPlaceholder className=\"news-feed-item__image\" />\n                )}\n            </Column>\n\n            <Column sm={4} md={8} lg={9} className=\"news-feed-item--right\">\n                <div className=\"news-feed-item__header\">\n                    <h1 className=\"news-feed-item__title\">\n                        {itemData.title || 'This is a title'}\n                    </h1>\n                    <span className=\"news-feed-item__date\">\n                        {itemData.type === 'event'\n                            ? `Event date: ${itemData.displayDate}`\n                            : `Article published on: ${itemData.displayDate}`}\n                    </span>\n                </div>\n                <div className=\"news-feed-item__content\">\n                    <p\n                        className=\"news-feed-item__description\"\n                        dangerouslySetInnerHTML={{\n                            __html:\n                                truncateString(itemData.description, 350) ||\n                                'This is a description...'\n                        }}\n                    />\n                </div>\n                <div className=\"news-feed-item__links\">\n                    <DynamicLink\n                        className=\"news-feed-item__details-link\"\n                        url={learnMoreURL}\n                        openInNewTab\n                    >\n                        Learn More <ArrowRight />\n                    </DynamicLink>\n                    <div className=\"news-feed-item__socials\">\n                        Share\n                        <ShareButtons shareLink={shareURL} />\n                    </div>\n                </div>\n            </Column>\n        </Grid>\n    );\n};\n\nexport default NewsFeedItem;\n","import React from 'react';\nimport {\n    Grid,\n    Column,\n    SkeletonPlaceholder,\n    SkeletonText,\n    SkeletonIcon\n} from '@carbon/react';\n\nconst NewsItemPlaceholder = () => {\n    return (\n        <Grid className=\"news-feed-item__placeholder\">\n            <Column sm={4} md={4} lg={9} className=\"news-feed-item__placeholder--left\">\n                <SkeletonPlaceholder className=\"news-feed-item__placeholder-image\" />\n            </Column>\n            <Column\n                sm={4}\n                md={4}\n                lg={7}\n                className=\"news-feed-item__placeholder--right\"\n            >   \n                <div className=\"news-feed-item__placeholder-header\">\n                    <SkeletonText className=\"news-feed-item__placeholder-title\" />\n                </div>\n                <div className=\"news-feed-item__placeholder-content\">\n                    <SkeletonText />\n                    <SkeletonText />\n                    <SkeletonText />\n                </div>\n                <div className=\"news-feed-item__placeholder-socials\">\n                    <SkeletonIcon />\n                    <SkeletonIcon />\n                    <SkeletonIcon />\n                </div>\n            </Column>\n        </Grid>\n    );\n};\n\nexport default NewsItemPlaceholder;\n","import React, { useState, useEffect } from 'react';\nimport NewsFeedItem from './NewsFeedItem';\nimport NewsFeedItemPlaceholder from './NewsFeedItemPlaceholder';\n\nimport vpnCheck from '../../components/shared/Util/vpnCheck';\n\nconst NewsFeed = ({ feedItems = [] }) => {\n    const [vpnOn, setVpnOn] = useState(false);\n    useEffect(() => {\n        vpnCheck().then(vpnOn => {\n            setVpnOn(vpnOn);\n        });\n    }, [feedItems]);\n\n    return Array.isArray(feedItems) ? (\n        <div className='news-feed'>\n            {feedItems.map(feedItem => {\n                return <NewsFeedItem key={feedItem.id} itemData={feedItem} vpnOn={vpnOn} />;\n            })}\n        </div>\n    ) : (\n        <NewsFeedItemPlaceholder />\n    );\n};\n\nexport default NewsFeed;\n","var map = {\n\t\"./constants\": [\n\t\t44326,\n\t\t7\n\t],\n\t\"./constants.js\": [\n\t\t44326,\n\t\t7\n\t],\n\t\"./images/About Page/Digital_Badge_Pgrm-white@2x.png\": [\n\t\t79434,\n\t\t1\n\t],\n\t\"./images/About Page/NSERC_BLACK.png\": [\n\t\t13713,\n\t\t1\n\t],\n\t\"./images/About Page/book.png\": [\n\t\t173,\n\t\t1\n\t],\n\t\"./images/About Page/cas-bg.png\": [\n\t\t1201,\n\t\t1\n\t],\n\t\"./images/About Page/founding-of-cas.png\": [\n\t\t25237,\n\t\t1\n\t],\n\t\"./images/About Page/ieee_logo-01.png\": [\n\t\t79910,\n\t\t1\n\t],\n\t\"./images/About Page/vio-headshot.png\": [\n\t\t16936,\n\t\t1\n\t],\n\t\"./images/Banner/Banner.jpg\": [\n\t\t24210,\n\t\t1\n\t],\n\t\"./images/Banner/Logo.png\": [\n\t\t19393,\n\t\t1\n\t],\n\t\"./images/Castle2022 Page/NPS.svg\": [\n\t\t85866,\n\t\t1\n\t],\n\t\"./images/Castle2022 Page/castle2019.jpg\": [\n\t\t45832,\n\t\t1\n\t],\n\t\"./images/Castle2022 Page/virtual-meeting.png\": [\n\t\t43023,\n\t\t1\n\t],\n\t\"./images/Castle2022 Page/yl-logo.svg\": [\n\t\t74423,\n\t\t1\n\t],\n\t\"./images/Help Page/errorVPN-1.png\": [\n\t\t91107,\n\t\t1\n\t],\n\t\"./images/Help Page/errorVPN-2.png\": [\n\t\t17162,\n\t\t1\n\t],\n\t\"./images/Home Page/Events/brock_20210312a.jpeg\": [\n\t\t19138,\n\t\t1\n\t],\n\t\"./images/Home Page/Events/brock_20210316b.jpeg\": [\n\t\t94405,\n\t\t1\n\t],\n\t\"./images/Home Page/Events/brock_20210329c.jpeg\": [\n\t\t10873,\n\t\t1\n\t],\n\t\"./images/Home Page/Events/brock_20210331a.jpeg\": [\n\t\t34160,\n\t\t1\n\t],\n\t\"./images/Home Page/Events/collaborate-bg-core.png\": [\n\t\t63449,\n\t\t1\n\t],\n\t\"./images/Home Page/Events/gbs_20210414c.jpeg\": [\n\t\t71239,\n\t\t1\n\t],\n\t\"./images/Home Page/Events/more-bg.png\": [\n\t\t89540,\n\t\t1\n\t],\n\t\"./images/Home Page/Highlights/volunteer.jpeg\": [\n\t\t78787,\n\t\t1\n\t],\n\t\"./images/Home Page/Spotlight/Feb.jpg\": [\n\t\t28286,\n\t\t1\n\t],\n\t\"./images/Home Page/Spotlight/Jan.jpg\": [\n\t\t84899,\n\t\t1\n\t],\n\t\"./images/Home Page/Spotlight/cas_award_winner.png\": [\n\t\t91744,\n\t\t1\n\t],\n\t\"./images/Home Page/Spotlight/cfp.jpeg\": [\n\t\t98476,\n\t\t1\n\t],\n\t\"./images/Home Page/Spotlight/crypto.jpeg\": [\n\t\t66466,\n\t\t1\n\t],\n\t\"./images/Home Page/Spotlight/cxe2021_logo_horizontal.png\": [\n\t\t91556,\n\t\t1\n\t],\n\t\"./images/Home Page/Spotlight/cxe_logo_black.png\": [\n\t\t55113,\n\t\t1\n\t],\n\t\"./images/Home Page/Spotlight/general-rrc-wbdui8.jpeg\": [\n\t\t38617,\n\t\t1\n\t],\n\t\"./images/Home Page/Spotlight/lecture-hall.jpeg\": [\n\t\t90644,\n\t\t1\n\t],\n\t\"./images/Home Page/Spotlight/machine.png\": [\n\t\t55786,\n\t\t1\n\t],\n\t\"./images/Home Page/Spotlight/march-newsletter.jpg\": [\n\t\t99214,\n\t\t1\n\t],\n\t\"./images/Home Page/Spotlight/teamwork.jpg\": [\n\t\t55127,\n\t\t1\n\t],\n\t\"./images/Research Page/Banner.jpeg\": [\n\t\t32206,\n\t\t1\n\t],\n\t\"./images/Research Page/awards-banner-cas-lg.png\": [\n\t\t8578,\n\t\t1\n\t],\n\t\"./images/Research Page/awards-banner-cas-sm.png\": [\n\t\t84345,\n\t\t1\n\t],\n\t\"./images/Research Page/awards-banner-cas.png\": [\n\t\t66445,\n\t\t1\n\t],\n\t\"./images/Research Page/card-banner.png\": [\n\t\t24065,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2018/fifteen_year.jpg\": [\n\t\t5605,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2018/five_year.jpg\": [\n\t\t22158,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2018/stem4girls.jpg\": [\n\t\t10161,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2018/ten_year.jpg\": [\n\t\t3915,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2018/twenty-eight_year.jpg\": [\n\t\t35871,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2018/twenty-five_year.jpg\": [\n\t\t23553,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2018/twenty_year.jpg\": [\n\t\t14379,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2018/volunteer.jpg\": [\n\t\t8250,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2018/whole_team.jpg\": [\n\t\t85513,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2019/cas_atlantic.jpg\": [\n\t\t19035,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2019/cas_collaborators.jpg\": [\n\t\t40,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2019/cas_committe.jpg\": [\n\t\t29717,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2019/cas_team.jpg\": [\n\t\t17415,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2019/fifteen_years.jpg\": [\n\t\t36825,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2019/five_years.jpg\": [\n\t\t30731,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2019/ten_years.jpg\": [\n\t\t13060,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2019/twenty_five.jpg\": [\n\t\t87081,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2019/twenty_nine_years.jpg\": [\n\t\t69202,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2019/twenty_years.jpg\": [\n\t\t51852,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2019/volunteer.jpg\": [\n\t\t17553,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2022/cas_collaborators.jpg\": [\n\t\t77014,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2022/fifteen_year.jpg\": [\n\t\t74571,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2022/five_year.jpg\": [\n\t\t49678,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2022/ten_year.jpg\": [\n\t\t75371,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2022/thirty-two_year.jpg\": [\n\t\t75011,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2022/thirty_year.jpg\": [\n\t\t67695,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2022/twenty-five_year.jpg\": [\n\t\t12661,\n\t\t1\n\t],\n\t\"./images/Snapshots Page/2022/twenty_year.jpg\": [\n\t\t85393,\n\t\t1\n\t],\n\t\"./images/Team/Dennis-Buttera.jpeg\": [\n\t\t84042,\n\t\t1\n\t],\n\t\"./images/Team/Dennis.jpeg\": [\n\t\t82368,\n\t\t1\n\t],\n\t\"./images/Team/Interns/Daniel-Cho.jpeg\": [\n\t\t2571,\n\t\t1\n\t],\n\t\"./images/Team/Interns/Fabian-de-la-Fuente.jpeg\": [\n\t\t9437,\n\t\t1\n\t],\n\t\"./images/Team/Interns/Jawad-Hossain.jpeg\": [\n\t\t73225,\n\t\t1\n\t],\n\t\"./images/Team/Interns/Madeline-Cribb.jpeg\": [\n\t\t73534,\n\t\t1\n\t],\n\t\"./images/Team/Interns/Mark-Joseph-Villar.jpeg\": [\n\t\t42489,\n\t\t1\n\t],\n\t\"./images/Team/Interns/Michael-Canaran.jpeg\": [\n\t\t15292,\n\t\t1\n\t],\n\t\"./images/Team/Interns/Monishkumar-Sivakumar.jpeg\": [\n\t\t86759,\n\t\t1\n\t],\n\t\"./images/Team/Interns/Shila-Rahman.jpeg\": [\n\t\t83552,\n\t\t1\n\t],\n\t\"./images/Team/Jennifer-Collins.jpeg\": [\n\t\t97,\n\t\t1\n\t],\n\t\"./images/Team/Lila-Adamec.png\": [\n\t\t31987,\n\t\t1\n\t],\n\t\"./images/Team/Marcellus-Mindel.png\": [\n\t\t6193,\n\t\t1\n\t],\n\t\"./images/Team/Maria-Gallaher.jpeg\": [\n\t\t85737,\n\t\t1\n\t],\n\t\"./images/Team/Tinny-Ng.jpeg\": [\n\t\t7007,\n\t\t1\n\t],\n\t\"./images/Team/Vio-Onut.png\": [\n\t\t27056,\n\t\t1\n\t],\n\t\"./images/Udays2022 Page/lecture-hall.jpg\": [\n\t\t26493,\n\t\t1\n\t],\n\t\"./images/Udays2022 Page/virtual-meeting.png\": [\n\t\t13358,\n\t\t1\n\t],\n\t\"./images/awards/2014/FFOTY.jpg\": [\n\t\t76037,\n\t\t1\n\t],\n\t\"./images/awards/2014/MIP.jpg\": [\n\t\t28338,\n\t\t1\n\t],\n\t\"./images/awards/2014/bestPaper.jpg\": [\n\t\t46473,\n\t\t1\n\t],\n\t\"./images/awards/2014/bestTech.jpg\": [\n\t\t82359,\n\t\t1\n\t],\n\t\"./images/awards/2014/collaboratorOTY.jpg\": [\n\t\t63171,\n\t\t1\n\t],\n\t\"./images/awards/2014/innovatorOTY.jpg\": [\n\t\t38040,\n\t\t1\n\t],\n\t\"./images/awards/2014/peoplesChoiceTech.jpg\": [\n\t\t16427,\n\t\t1\n\t],\n\t\"./images/awards/2014/projectOTY.jpg\": [\n\t\t88409,\n\t\t1\n\t],\n\t\"./images/awards/2015/FFOTY.jpg\": [\n\t\t68278,\n\t\t1\n\t],\n\t\"./images/awards/2015/MIP.jpg\": [\n\t\t77998,\n\t\t1\n\t],\n\t\"./images/awards/2015/bestPaper.jpg\": [\n\t\t1964,\n\t\t1\n\t],\n\t\"./images/awards/2015/bestTech.jpg\": [\n\t\t4766,\n\t\t1\n\t],\n\t\"./images/awards/2015/collaboratorOTY.jpg\": [\n\t\t8098,\n\t\t1\n\t],\n\t\"./images/awards/2015/innovatorOTY.jpg\": [\n\t\t25552,\n\t\t1\n\t],\n\t\"./images/awards/2015/peoplesChoiceTech.jpg\": [\n\t\t42247,\n\t\t1\n\t],\n\t\"./images/awards/2015/projectOTY.jpg\": [\n\t\t40530,\n\t\t1\n\t],\n\t\"./images/awards/2016/FFOTY.jpg\": [\n\t\t14850,\n\t\t1\n\t],\n\t\"./images/awards/2016/MIP.jpg\": [\n\t\t73396,\n\t\t1\n\t],\n\t\"./images/awards/2016/bestExpo.jpg\": [\n\t\t3997,\n\t\t1\n\t],\n\t\"./images/awards/2016/bestPaper.jpg\": [\n\t\t84666,\n\t\t1\n\t],\n\t\"./images/awards/2016/bestStudentPaper.jpg\": [\n\t\t27326,\n\t\t1\n\t],\n\t\"./images/awards/2016/collaboratorOTY.jpg\": [\n\t\t4144,\n\t\t1\n\t],\n\t\"./images/awards/2016/innovatorOTY.jpg\": [\n\t\t98242,\n\t\t1\n\t],\n\t\"./images/awards/2016/projectOTY.jpg\": [\n\t\t96875,\n\t\t1\n\t],\n\t\"./images/awards/2016/studentOTY.jpg\": [\n\t\t67930,\n\t\t1\n\t],\n\t\"./images/awards/2017/FFOTY.jpg\": [\n\t\t87749,\n\t\t1\n\t],\n\t\"./images/awards/2017/MIP.JPG\": [\n\t\t48205,\n\t\t1\n\t],\n\t\"./images/awards/2017/bestExpo.JPG\": [\n\t\t63606,\n\t\t1\n\t],\n\t\"./images/awards/2017/bestExpoB.jpg\": [\n\t\t21875,\n\t\t1\n\t],\n\t\"./images/awards/2017/bestPaper.JPG\": [\n\t\t33158,\n\t\t1\n\t],\n\t\"./images/awards/2017/bestStudentPaper.JPG\": [\n\t\t94958,\n\t\t1\n\t],\n\t\"./images/awards/2017/collaboratorOTY.jpg\": [\n\t\t85514,\n\t\t1\n\t],\n\t\"./images/awards/2017/expoPeoplesChoice.JPG\": [\n\t\t62933,\n\t\t1\n\t],\n\t\"./images/awards/2017/papers/ahmad_pesaranghader.jpg\": [\n\t\t52839,\n\t\t1\n\t],\n\t\"./images/awards/2017/papers/billO.jpg\": [\n\t\t2608,\n\t\t1\n\t],\n\t\"./images/awards/2017/papers/daniel.jpg\": [\n\t\t72973,\n\t\t1\n\t],\n\t\"./images/awards/2017/papers/julieW.jpg\": [\n\t\t57044,\n\t\t1\n\t],\n\t\"./images/awards/2017/papers/shiva.jpg\": [\n\t\t20527,\n\t\t1\n\t],\n\t\"./images/awards/2017/papers/stan_matwin.jpg\": [\n\t\t92623,\n\t\t1\n\t],\n\t\"./images/awards/2017/projectOTY.jpg\": [\n\t\t5190,\n\t\t1\n\t],\n\t\"./images/awards/2017/studentOTY.jpg\": [\n\t\t11845,\n\t\t1\n\t],\n\t\"./images/awards/2018/FFOTY.JPG\": [\n\t\t2121,\n\t\t1\n\t],\n\t\"./images/awards/2018/MIP.JPG\": [\n\t\t29721,\n\t\t1\n\t],\n\t\"./images/awards/2018/bestExpo.JPG\": [\n\t\t52322,\n\t\t1\n\t],\n\t\"./images/awards/2018/bestPaper.JPG\": [\n\t\t77971,\n\t\t1\n\t],\n\t\"./images/awards/2018/bestStudentPaper.JPG\": [\n\t\t67315,\n\t\t1\n\t],\n\t\"./images/awards/2018/collaboratorOTY.JPG\": [\n\t\t88632,\n\t\t1\n\t],\n\t\"./images/awards/2018/expoPeoplesChoice.JPG\": [\n\t\t56273,\n\t\t1\n\t],\n\t\"./images/awards/2018/papers/Foutse-Khomh.jpg\": [\n\t\t51009,\n\t\t1\n\t],\n\t\"./images/awards/2018/papers/MarcAndreLaverdiere.png\": [\n\t\t23984,\n\t\t1\n\t],\n\t\"./images/awards/2018/papers/amine_barrak.jpg\": [\n\t\t55474,\n\t\t1\n\t],\n\t\"./images/awards/2018/papers/leAn.jpg\": [\n\t\t10998,\n\t\t1\n\t],\n\t\"./images/awards/2018/papers/schaefer_ina.jpg\": [\n\t\t40603,\n\t\t1\n\t],\n\t\"./images/awards/2018/papers/seidl_christoph.jpg\": [\n\t\t78885,\n\t\t1\n\t],\n\t\"./images/awards/2018/papers/wehling_kenny.jpg\": [\n\t\t96665,\n\t\t1\n\t],\n\t\"./images/awards/2018/papers/wille_david.jpg\": [\n\t\t16046,\n\t\t1\n\t],\n\t\"./images/awards/2018/projectOTY.JPG\": [\n\t\t78430,\n\t\t1\n\t],\n\t\"./images/awards/2018/studentOTY.JPG\": [\n\t\t78268,\n\t\t1\n\t],\n\t\"./images/awards/2019/FFOTY.jpg\": [\n\t\t66819,\n\t\t1\n\t],\n\t\"./images/awards/2019/MIP.jpg\": [\n\t\t30891,\n\t\t1\n\t],\n\t\"./images/awards/2019/NIERA.jpg\": [\n\t\t67129,\n\t\t1\n\t],\n\t\"./images/awards/2019/bestPaper.jpg\": [\n\t\t44981,\n\t\t1\n\t],\n\t\"./images/awards/2019/bestStudentPaper.jpg\": [\n\t\t66695,\n\t\t1\n\t],\n\t\"./images/awards/2019/collaboratorOTY.jpg\": [\n\t\t41784,\n\t\t1\n\t],\n\t\"./images/awards/2019/expoPeoplesChoice.jpg\": [\n\t\t3042,\n\t\t1\n\t],\n\t\"./images/awards/2019/projectOTY.jpg\": [\n\t\t65678,\n\t\t1\n\t],\n\t\"./images/awards/2019/studentOTY.jpg\": [\n\t\t39338,\n\t\t1\n\t],\n\t\"./images/awards/2020/best_paper_kenneth.jpg\": [\n\t\t33444,\n\t\t1\n\t],\n\t\"./images/awards/2020/best_student_sanjena.jpg\": [\n\t\t1587,\n\t\t1\n\t],\n\t\"./images/awards/2020/bp.jpeg\": [\n\t\t42042,\n\t\t1\n\t],\n\t\"./images/awards/2020/bsp.jpg\": [\n\t\t58055,\n\t\t1\n\t],\n\t\"./images/awards/2020/cas_video.jpg\": [\n\t\t38421,\n\t\t1\n\t],\n\t\"./images/awards/2020/collaborator.jpeg\": [\n\t\t55885,\n\t\t1\n\t],\n\t\"./images/awards/2020/collaborator_winner.jpg\": [\n\t\t2029,\n\t\t1\n\t],\n\t\"./images/awards/2020/faculty.jpg\": [\n\t\t71470,\n\t\t1\n\t],\n\t\"./images/awards/2020/mip.jpg\": [\n\t\t9096,\n\t\t1\n\t],\n\t\"./images/awards/2020/project.jpg\": [\n\t\t19660,\n\t\t1\n\t],\n\t\"./images/awards/2020/project_daryl.jpg\": [\n\t\t22118,\n\t\t1\n\t],\n\t\"./images/awards/2020/project_winners.jpg\": [\n\t\t91671,\n\t\t1\n\t],\n\t\"./images/awards/2020/student.jpeg\": [\n\t\t26903,\n\t\t1\n\t],\n\t\"./images/awards/2020/student_winner.jpeg\": [\n\t\t1733,\n\t\t1\n\t],\n\t\"./images/awards/2021/BIP2021.jpg\": [\n\t\t53928,\n\t\t1\n\t],\n\t\"./images/awards/2021/BP2021.jpg\": [\n\t\t7185,\n\t\t1\n\t],\n\t\"./images/awards/2021/BSP2021.jpg\": [\n\t\t2358,\n\t\t1\n\t],\n\t\"./images/awards/2021/COY2021.jpg\": [\n\t\t60414,\n\t\t1\n\t],\n\t\"./images/awards/2021/FOY2021.jpg\": [\n\t\t75259,\n\t\t1\n\t],\n\t\"./images/awards/2021/MIP2021.jpg\": [\n\t\t10220,\n\t\t1\n\t],\n\t\"./images/awards/2021/POY2021.jpg\": [\n\t\t39019,\n\t\t1\n\t],\n\t\"./images/awards/2021/SOY2021.jpg\": [\n\t\t2966,\n\t\t1\n\t],\n\t\"./images/awards/2021/VOY2021.jpg\": [\n\t\t8644,\n\t\t1\n\t],\n\t\"./images/awards/2021/alberto-bsp.jpg\": [\n\t\t53802,\n\t\t1\n\t],\n\t\"./images/awards/2021/aysan-mip.jpg\": [\n\t\t97187,\n\t\t1\n\t],\n\t\"./images/awards/2021/aysan-plaque.jpeg\": [\n\t\t87723,\n\t\t1\n\t],\n\t\"./images/awards/2021/bip-group2021.jpg\": [\n\t\t60796,\n\t\t1\n\t],\n\t\"./images/awards/2021/bipThumbnail.jpg\": [\n\t\t38569,\n\t\t1\n\t],\n\t\"./images/awards/2021/bp-group2021.jpg\": [\n\t\t99093,\n\t\t1\n\t],\n\t\"./images/awards/2021/bpThumbnail.jpg\": [\n\t\t11383,\n\t\t1\n\t],\n\t\"./images/awards/2021/bsp-group2021.jpg\": [\n\t\t48807,\n\t\t1\n\t],\n\t\"./images/awards/2021/bspThumbnail.jpg\": [\n\t\t13206,\n\t\t1\n\t],\n\t\"./images/awards/2021/calisto-bip.jpg\": [\n\t\t39461,\n\t\t1\n\t],\n\t\"./images/awards/2021/calisto-plaque.jpg\": [\n\t\t5651,\n\t\t1\n\t],\n\t\"./images/awards/2021/chris-bsp.jpg\": [\n\t\t37761,\n\t\t1\n\t],\n\t\"./images/awards/2021/chris_plaque.JPG\": [\n\t\t99910,\n\t\t1\n\t],\n\t\"./images/awards/2021/coy-group2021.jpg\": [\n\t\t69518,\n\t\t1\n\t],\n\t\"./images/awards/2021/coyThumbnail.jpg\": [\n\t\t48642,\n\t\t1\n\t],\n\t\"./images/awards/2021/douglas-mip.jpg\": [\n\t\t29116,\n\t\t1\n\t],\n\t\"./images/awards/2021/douglas-plaque.jpeg\": [\n\t\t46376,\n\t\t1\n\t],\n\t\"./images/awards/2021/foy-group2021.jpg\": [\n\t\t9412,\n\t\t1\n\t],\n\t\"./images/awards/2021/foyThumbnail.jpg\": [\n\t\t20019,\n\t\t1\n\t],\n\t\"./images/awards/2021/ivan-foy.jpg\": [\n\t\t86389,\n\t\t1\n\t],\n\t\"./images/awards/2021/ivan-plaque.jpg\": [\n\t\t57525,\n\t\t1\n\t],\n\t\"./images/awards/2021/ken-soy.jpg\": [\n\t\t66119,\n\t\t1\n\t],\n\t\"./images/awards/2021/kishor-plaque.jpg\": [\n\t\t66320,\n\t\t1\n\t],\n\t\"./images/awards/2021/kishor-voy.jpg\": [\n\t\t68227,\n\t\t1\n\t],\n\t\"./images/awards/2021/kostas_marios_piyush-plaque.jpg\": [\n\t\t57378,\n\t\t1\n\t],\n\t\"./images/awards/2021/lei-plaque.jpeg\": [\n\t\t12979,\n\t\t1\n\t],\n\t\"./images/awards/2021/lei-poy.jpeg\": [\n\t\t4778,\n\t\t1\n\t],\n\t\"./images/awards/2021/maria-ken-plaque.jpg\": [\n\t\t96794,\n\t\t1\n\t],\n\t\"./images/awards/2021/maria-soy.jpg\": [\n\t\t18869,\n\t\t1\n\t],\n\t\"./images/awards/2021/mip-group2021.jpg\": [\n\t\t78519,\n\t\t1\n\t],\n\t\"./images/awards/2021/mipThumbnail.jpg\": [\n\t\t3914,\n\t\t1\n\t],\n\t\"./images/awards/2021/plaque-bsp.jpg\": [\n\t\t86292,\n\t\t1\n\t],\n\t\"./images/awards/2021/poy-group2021.jpg\": [\n\t\t93038,\n\t\t1\n\t],\n\t\"./images/awards/2021/poyThumbnail.jpg\": [\n\t\t58550,\n\t\t1\n\t],\n\t\"./images/awards/2021/soy-group2021.jpg\": [\n\t\t90175,\n\t\t1\n\t],\n\t\"./images/awards/2021/soyThumbnail.jpg\": [\n\t\t55950,\n\t\t1\n\t],\n\t\"./images/awards/2021/steve-plaque.jpeg\": [\n\t\t12932,\n\t\t1\n\t],\n\t\"./images/awards/2021/steve-poy.jpeg\": [\n\t\t1619,\n\t\t1\n\t],\n\t\"./images/awards/2021/tony-plaque.JPG\": [\n\t\t91340,\n\t\t1\n\t],\n\t\"./images/awards/2021/tony-poy.jpg\": [\n\t\t38860,\n\t\t1\n\t],\n\t\"./images/awards/2021/vij-voy.jpg\": [\n\t\t45237,\n\t\t1\n\t],\n\t\"./images/awards/2021/vincent-bip.jpg\": [\n\t\t5905,\n\t\t1\n\t],\n\t\"./images/awards/2021/vincent-plaque.jpg\": [\n\t\t16241,\n\t\t1\n\t],\n\t\"./images/awards/2021/voy-group2021.jpg\": [\n\t\t44461,\n\t\t1\n\t],\n\t\"./images/awards/2021/voyThumbnail.jpg\": [\n\t\t47564,\n\t\t1\n\t],\n\t\"./images/awards/2021/waikeat-bip.jpeg\": [\n\t\t1249,\n\t\t1\n\t],\n\t\"./images/awards/2021/waikeat-plaque.jpeg\": [\n\t\t82138,\n\t\t1\n\t],\n\t\"./images/awards/2022/D30U30.jpg\": [\n\t\t8106,\n\t\t1\n\t],\n\t\"./images/awards/2022/TechTitans.jpg\": [\n\t\t76114,\n\t\t1\n\t],\n\t\"./images/awards/2022/bestPaper.jpg\": [\n\t\t48167,\n\t\t1\n\t],\n\t\"./images/awards/2022/bestStudentPaper.jpg\": [\n\t\t91541,\n\t\t1\n\t],\n\t\"./images/awards/2022/collaboratorOTY.jpg\": [\n\t\t45476,\n\t\t1\n\t],\n\t\"./images/awards/2022/expo1.jpg\": [\n\t\t86721,\n\t\t1\n\t],\n\t\"./images/awards/2022/expo2.jpg\": [\n\t\t38289,\n\t\t1\n\t],\n\t\"./images/awards/2022/facultyOTY.jpg\": [\n\t\t62490,\n\t\t1\n\t],\n\t\"./images/awards/2022/mip.jpg\": [\n\t\t49817,\n\t\t1\n\t],\n\t\"./images/awards/2022/projectOTY.jpg\": [\n\t\t36864,\n\t\t1\n\t],\n\t\"./images/awards/2022/studentOTY.jpg\": [\n\t\t88519,\n\t\t1\n\t],\n\t\"./images/awards/2022/videoOTY.jpg\": [\n\t\t92210,\n\t\t1\n\t],\n\t\"./images/backgrounds/awards-banner-cas.jpg\": [\n\t\t10075,\n\t\t1\n\t],\n\t\"./images/backgrounds/awards.jpg\": [\n\t\t58091,\n\t\t1\n\t],\n\t\"./images/backgrounds/call-for-papers.jpeg\": [\n\t\t10875,\n\t\t1\n\t],\n\t\"./images/backgrounds/carleton-background.jpg\": [\n\t\t67720,\n\t\t1\n\t],\n\t\"./images/backgrounds/carleton-collab.jpg\": [\n\t\t44246,\n\t\t1\n\t],\n\t\"./images/backgrounds/castle-2022.jpg\": [\n\t\t48038,\n\t\t1\n\t],\n\t\"./images/backgrounds/castle2019.jpg\": [\n\t\t91179,\n\t\t1\n\t],\n\t\"./images/backgrounds/collab1.jpg\": [\n\t\t54710,\n\t\t1\n\t],\n\t\"./images/backgrounds/communityEngagement.jpg\": [\n\t\t56498,\n\t\t1\n\t],\n\t\"./images/backgrounds/data-day.jpg\": [\n\t\t80280,\n\t\t1\n\t],\n\t\"./images/backgrounds/hero-image-robert.jpg\": [\n\t\t83403,\n\t\t1\n\t],\n\t\"./images/backgrounds/lessonsLearned.jpg\": [\n\t\t58336,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation1.jpg\": [\n\t\t44952,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation10.jpg\": [\n\t\t96591,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation11.jpg\": [\n\t\t44375,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation12.jpg\": [\n\t\t30112,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation13.jpg\": [\n\t\t75927,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation14.jpg\": [\n\t\t42465,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation15.jpg\": [\n\t\t37723,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation16.jpg\": [\n\t\t94122,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation17.jpg\": [\n\t\t57199,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation18.jpg\": [\n\t\t35722,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation19.jpg\": [\n\t\t33285,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation2.jpg\": [\n\t\t53548,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation20.jpg\": [\n\t\t16979,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation21.jpg\": [\n\t\t81992,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation22.jpg\": [\n\t\t74695,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation3.jpg\": [\n\t\t65499,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation4.jpg\": [\n\t\t20752,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation5.jpg\": [\n\t\t49889,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation6.jpg\": [\n\t\t26926,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation7.jpg\": [\n\t\t64578,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation8.jpg\": [\n\t\t69834,\n\t\t1\n\t],\n\t\"./images/backgrounds/presentation9.jpg\": [\n\t\t95698,\n\t\t1\n\t],\n\t\"./images/backgrounds/productInnovation.jpg\": [\n\t\t55998,\n\t\t1\n\t],\n\t\"./images/backgrounds/productInvolvement.jpg\": [\n\t\t18502,\n\t\t1\n\t],\n\t\"./images/backgrounds/professionalDevelopment.jpg\": [\n\t\t73751,\n\t\t1\n\t],\n\t\"./images/backgrounds/researchBackground.jpg\": [\n\t\t89818,\n\t\t1\n\t],\n\t\"./images/backgrounds/researchExcellence.jpg\": [\n\t\t80603,\n\t\t1\n\t],\n\t\"./images/backgrounds/teamwork.jpg\": [\n\t\t3916,\n\t\t1\n\t],\n\t\"./images/backgrounds/weavesphereStage.jpg\": [\n\t\t87437,\n\t\t1\n\t],\n\t\"./images/cas_logo_allwhite.png\": [\n\t\t47283,\n\t\t1\n\t],\n\t\"./images/cas_logo_white_text.png\": [\n\t\t53619,\n\t\t1\n\t],\n\t\"./images/events/brock_20200206_main.jpg\": [\n\t\t23816,\n\t\t1\n\t],\n\t\"./images/events/brock_20200206a.jpg\": [\n\t\t43423,\n\t\t1\n\t],\n\t\"./images/events/brock_20200206b.jpg\": [\n\t\t81899,\n\t\t1\n\t],\n\t\"./images/events/brock_20201021a.jpg\": [\n\t\t80214,\n\t\t1\n\t],\n\t\"./images/events/brock_20201021b.jpg\": [\n\t\t55202,\n\t\t1\n\t],\n\t\"./images/events/brock_20201021c.jpg\": [\n\t\t40753,\n\t\t1\n\t],\n\t\"./images/events/brock_20201028a.jpg\": [\n\t\t78042,\n\t\t1\n\t],\n\t\"./images/events/brock_20201028b.jpg\": [\n\t\t69674,\n\t\t1\n\t],\n\t\"./images/events/brock_20201028c.jpg\": [\n\t\t35108,\n\t\t1\n\t],\n\t\"./images/events/brock_20201104_main.jpg\": [\n\t\t24022,\n\t\t1\n\t],\n\t\"./images/events/brock_20201104a.jpg\": [\n\t\t62891,\n\t\t1\n\t],\n\t\"./images/events/brock_20201104b.jpg\": [\n\t\t30073,\n\t\t1\n\t],\n\t\"./images/events/brock_20201104c.jpg\": [\n\t\t20655,\n\t\t1\n\t],\n\t\"./images/events/brock_20201128a.jpg\": [\n\t\t92764,\n\t\t1\n\t],\n\t\"./images/events/brock_20201128b.jpg\": [\n\t\t60411,\n\t\t1\n\t],\n\t\"./images/events/brock_20201128c.jpg\": [\n\t\t64484,\n\t\t1\n\t],\n\t\"./images/events/brock_20201128d.jpg\": [\n\t\t18166,\n\t\t1\n\t],\n\t\"./images/events/brock_20210309a.jpg\": [\n\t\t72755,\n\t\t1\n\t],\n\t\"./images/events/brock_20210309b.jpeg\": [\n\t\t73707,\n\t\t1\n\t],\n\t\"./images/events/brock_20210309c.jpeg\": [\n\t\t97534,\n\t\t1\n\t],\n\t\"./images/events/brock_20210312a.jpeg\": [\n\t\t57688,\n\t\t1\n\t],\n\t\"./images/events/brock_20210312b.jpeg\": [\n\t\t90210,\n\t\t1\n\t],\n\t\"./images/events/brock_20210312c.jpeg\": [\n\t\t82034,\n\t\t1\n\t],\n\t\"./images/events/brock_20210316a.jpeg\": [\n\t\t64533,\n\t\t1\n\t],\n\t\"./images/events/brock_20210316b.jpeg\": [\n\t\t10101,\n\t\t1\n\t],\n\t\"./images/events/brock_20210316c.jpg\": [\n\t\t46163,\n\t\t1\n\t],\n\t\"./images/events/brock_20210316d.jpeg\": [\n\t\t1800,\n\t\t1\n\t],\n\t\"./images/events/brock_20210329a.jpeg\": [\n\t\t40587,\n\t\t1\n\t],\n\t\"./images/events/brock_20210329b.jpeg\": [\n\t\t14819,\n\t\t1\n\t],\n\t\"./images/events/brock_20210329c.jpeg\": [\n\t\t60990,\n\t\t1\n\t],\n\t\"./images/events/brock_20210331a.jpeg\": [\n\t\t27043,\n\t\t1\n\t],\n\t\"./images/events/brock_20210331b.jpeg\": [\n\t\t60746,\n\t\t1\n\t],\n\t\"./images/events/brock_20210331c.jpeg\": [\n\t\t18650,\n\t\t1\n\t],\n\t\"./images/events/brock_20210331d.jpeg\": [\n\t\t21025,\n\t\t1\n\t],\n\t\"./images/events/brock_20210331e.jpeg\": [\n\t\t73193,\n\t\t1\n\t],\n\t\"./images/events/brock_20210331f.jpeg\": [\n\t\t13426,\n\t\t1\n\t],\n\t\"./images/events/brock_20210331g.jpeg\": [\n\t\t93649,\n\t\t1\n\t],\n\t\"./images/events/brock_20210331h.jpeg\": [\n\t\t41430,\n\t\t1\n\t],\n\t\"./images/events/carleton_20211021.jpeg\": [\n\t\t12521,\n\t\t1\n\t],\n\t\"./images/events/carleton_20211028.jpg\": [\n\t\t16803,\n\t\t1\n\t],\n\t\"./images/events/collaborate-bg-core.png\": [\n\t\t54137,\n\t\t1\n\t],\n\t\"./images/events/dita_20200623a.jpg\": [\n\t\t4458,\n\t\t1\n\t],\n\t\"./images/events/dita_20200623b.jpg\": [\n\t\t11246,\n\t\t1\n\t],\n\t\"./images/events/dita_20200623c.jpg\": [\n\t\t46487,\n\t\t1\n\t],\n\t\"./images/events/dita_20200623d.jpg\": [\n\t\t16221,\n\t\t1\n\t],\n\t\"./images/events/dita_20200623e.jpg\": [\n\t\t72545,\n\t\t1\n\t],\n\t\"./images/events/dita_20200623f.jpg\": [\n\t\t56568,\n\t\t1\n\t],\n\t\"./images/events/dita_20200623g.jpg\": [\n\t\t6389,\n\t\t1\n\t],\n\t\"./images/events/dita_20200623h.jpg\": [\n\t\t77338,\n\t\t1\n\t],\n\t\"./images/events/dita_20200623i.jpg\": [\n\t\t46200,\n\t\t1\n\t],\n\t\"./images/events/edtmcmaster_20200227_main.jpg\": [\n\t\t16223,\n\t\t1\n\t],\n\t\"./images/events/edtmcmaster_20200227a.jpg\": [\n\t\t76937,\n\t\t1\n\t],\n\t\"./images/events/edtmcmaster_20200227b.jpg\": [\n\t\t56895,\n\t\t1\n\t],\n\t\"./images/events/gbs_20210414a.jpg\": [\n\t\t23288,\n\t\t1\n\t],\n\t\"./images/events/gbs_20210414b.jpg\": [\n\t\t2213,\n\t\t1\n\t],\n\t\"./images/events/gbs_20210414c.jpg\": [\n\t\t43924,\n\t\t1\n\t],\n\t\"./images/events/gbs_20210414d.jpg\": [\n\t\t82191,\n\t\t1\n\t],\n\t\"./images/events/machacks_20210205a.jpeg\": [\n\t\t73055,\n\t\t1\n\t],\n\t\"./images/events/machacks_20210205b.jpeg\": [\n\t\t35454,\n\t\t1\n\t],\n\t\"./images/events/machacks_20210205c.png\": [\n\t\t49712,\n\t\t1\n\t],\n\t\"./images/events/mcgill_20200201_a.jpg\": [\n\t\t24844,\n\t\t1\n\t],\n\t\"./images/events/mcgill_20200201_b.jpg\": [\n\t\t73144,\n\t\t1\n\t],\n\t\"./images/events/mcgill_20200201_c.jpg\": [\n\t\t24158,\n\t\t1\n\t],\n\t\"./images/events/mcgill_20200201_main.jpeg\": [\n\t\t84119,\n\t\t1\n\t],\n\t\"./images/events/mcmaster_20190809_main.jpg\": [\n\t\t10210,\n\t\t1\n\t],\n\t\"./images/events/mcmaster_20190809a.jpg\": [\n\t\t45005,\n\t\t1\n\t],\n\t\"./images/events/mcmaster_20190809b.jpg\": [\n\t\t83179,\n\t\t1\n\t],\n\t\"./images/events/mcmaster_20190809c.jpg\": [\n\t\t3277,\n\t\t1\n\t],\n\t\"./images/events/mcmaster_20200120_a.jpg\": [\n\t\t79234,\n\t\t1\n\t],\n\t\"./images/events/mcmaster_20200120_b.jpg\": [\n\t\t80258,\n\t\t1\n\t],\n\t\"./images/events/mcmaster_20200120_c.jpg\": [\n\t\t17570,\n\t\t1\n\t],\n\t\"./images/events/mcmaster_20200120_d.jpg\": [\n\t\t87033,\n\t\t1\n\t],\n\t\"./images/events/mcmaster_20200120_e.jpg\": [\n\t\t90650,\n\t\t1\n\t],\n\t\"./images/events/mcmaster_20200120_f.jpg\": [\n\t\t20747,\n\t\t1\n\t],\n\t\"./images/events/mcmaster_20200120_main.jpg\": [\n\t\t43271,\n\t\t1\n\t],\n\t\"./images/events/mcmaster_20210128a.jpg\": [\n\t\t91342,\n\t\t1\n\t],\n\t\"./images/events/mohawk_20191121_a.jpg\": [\n\t\t62841,\n\t\t1\n\t],\n\t\"./images/events/mohawk_20191121_b.jpg\": [\n\t\t53104,\n\t\t1\n\t],\n\t\"./images/events/mohawk_20191121_c.jpg\": [\n\t\t71305,\n\t\t1\n\t],\n\t\"./images/events/mohawk_20191121_d.jpg\": [\n\t\t16486,\n\t\t1\n\t],\n\t\"./images/events/mohawk_20191121_e.jpg\": [\n\t\t37139,\n\t\t1\n\t],\n\t\"./images/events/mohawk_20191121_main.jpg\": [\n\t\t68397,\n\t\t1\n\t],\n\t\"./images/events/more-bg.png\": [\n\t\t7855,\n\t\t1\n\t],\n\t\"./images/events/polytechnic_20200311_main.jpg\": [\n\t\t27734,\n\t\t1\n\t],\n\t\"./images/events/ryerson_20190316_a.jpg\": [\n\t\t47831,\n\t\t1\n\t],\n\t\"./images/events/ryerson_20190316_b.jpg\": [\n\t\t5095,\n\t\t1\n\t],\n\t\"./images/events/ryerson_20190316_c.jpg\": [\n\t\t8908,\n\t\t1\n\t],\n\t\"./images/events/ryerson_20190316_d.jpg\": [\n\t\t71602,\n\t\t1\n\t],\n\t\"./images/events/ryerson_20190316_e.jpg\": [\n\t\t76168,\n\t\t1\n\t],\n\t\"./images/events/ryerson_20190316_f.jpg\": [\n\t\t94049,\n\t\t1\n\t],\n\t\"./images/events/ryerson_20190316_main.jpg\": [\n\t\t92234,\n\t\t1\n\t],\n\t\"./images/events/schulich_20190607_a.jpg\": [\n\t\t97022,\n\t\t1\n\t],\n\t\"./images/events/schulich_20190607_b.jpg\": [\n\t\t13235,\n\t\t1\n\t],\n\t\"./images/events/schulich_20190607_c.jpg\": [\n\t\t36152,\n\t\t1\n\t],\n\t\"./images/events/schulich_20190607_d.jpg\": [\n\t\t58193,\n\t\t1\n\t],\n\t\"./images/events/schulich_20190607_e.jpg\": [\n\t\t93232,\n\t\t1\n\t],\n\t\"./images/events/schulich_20190607_f.jpg\": [\n\t\t41506,\n\t\t1\n\t],\n\t\"./images/events/schulich_20190607_main.jpg\": [\n\t\t62555,\n\t\t1\n\t],\n\t\"./images/events/security_20220602a.jpg\": [\n\t\t72768,\n\t\t1\n\t],\n\t\"./images/events/security_20220602b.jpg\": [\n\t\t74095,\n\t\t1\n\t],\n\t\"./images/events/steam_20200205_main.jpg\": [\n\t\t31676,\n\t\t1\n\t],\n\t\"./images/events/steam_20200205a.jpg\": [\n\t\t28307,\n\t\t1\n\t],\n\t\"./images/events/steam_20200205b.jpg\": [\n\t\t300,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_april12.jpg\": [\n\t\t64850,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_april12b.png\": [\n\t\t31887,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_april5.jpg\": [\n\t\t43160,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_april5b.png\": [\n\t\t15825,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_main.jpg\": [\n\t\t88395,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_march1.jpg\": [\n\t\t86811,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_march15.jpg\": [\n\t\t1382,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_march15b.png\": [\n\t\t84039,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_march1b.png\": [\n\t\t81983,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_march22.jpg\": [\n\t\t3052,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_march22b.png\": [\n\t\t75327,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_march29.jpg\": [\n\t\t82701,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_march29b.png\": [\n\t\t10689,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_march8.jpg\": [\n\t\t49238,\n\t\t1\n\t],\n\t\"./images/events/think_20190412_march8b.png\": [\n\t\t40647,\n\t\t1\n\t],\n\t\"./images/events/udays2022.jpg\": [\n\t\t85794,\n\t\t1\n\t],\n\t\"./images/events/utfintech_20190814_a.jpeg\": [\n\t\t6685,\n\t\t1\n\t],\n\t\"./images/events/utfintech_20190814_b.jpeg\": [\n\t\t19318,\n\t\t1\n\t],\n\t\"./images/events/utfintech_20190814_c.jpeg\": [\n\t\t63320,\n\t\t1\n\t],\n\t\"./images/events/utfintech_20190814_d.jpeg\": [\n\t\t43932,\n\t\t1\n\t],\n\t\"./images/events/utfintech_20190814_main.jpeg\": [\n\t\t87539,\n\t\t1\n\t],\n\t\"./images/events/wit_20200211_main.jpg\": [\n\t\t58519,\n\t\t1\n\t],\n\t\"./images/events/wit_20200211a.jpg\": [\n\t\t88094,\n\t\t1\n\t],\n\t\"./images/events/wit_20200211b.jpg\": [\n\t\t62920,\n\t\t1\n\t],\n\t\"./images/events/wit_20200211c.jpg\": [\n\t\t39074,\n\t\t1\n\t],\n\t\"./images/events/wit_20200211d.jpg\": [\n\t\t6126,\n\t\t1\n\t],\n\t\"./images/events/wit_20200211e.jpg\": [\n\t\t6365,\n\t\t1\n\t],\n\t\"./images/events/wit_20200211f.jpg\": [\n\t\t39671,\n\t\t1\n\t],\n\t\"./images/events/york_20200618_main.png\": [\n\t\t37581,\n\t\t1\n\t],\n\t\"./images/events/york_20200618a.png\": [\n\t\t26476,\n\t\t1\n\t],\n\t\"./images/events/york_20200618b.png\": [\n\t\t38786,\n\t\t1\n\t],\n\t\"./images/events/york_20230718.jpg\": [\n\t\t65446,\n\t\t1\n\t],\n\t\"./images/logo/cas_logo_allblack.png\": [\n\t\t10338,\n\t\t1\n\t],\n\t\"./images/logo/cas_logo_dark.png\": [\n\t\t1629,\n\t\t1\n\t],\n\t\"./images/logo/cas_logo_light.png\": [\n\t\t81531,\n\t\t1\n\t],\n\t\"./images/logo/cas_logo_with_text.png\": [\n\t\t17851,\n\t\t1\n\t],\n\t\"./images/logo/logo.png\": [\n\t\t87445,\n\t\t1\n\t],\n\t\"./images/news/Boardroom-with-technology.jpeg\": [\n\t\t93258,\n\t\t1\n\t],\n\t\"./images/news/IBM_logo_pos_blue60_RGB.png\": [\n\t\t15022,\n\t\t1\n\t],\n\t\"./images/news/Mila.jpg\": [\n\t\t4869,\n\t\t1\n\t],\n\t\"./images/news/TechXchange2024_Awards_1729664217318.jpg\": [\n\t\t54054,\n\t\t1\n\t],\n\t\"./images/news/UofAlberta_News1.jpg\": [\n\t\t25101,\n\t\t1\n\t],\n\t\"./images/news/UofAlberta_News2.jpg\": [\n\t\t76355,\n\t\t1\n\t],\n\t\"./images/news/awards.jpeg\": [\n\t\t46467,\n\t\t1\n\t],\n\t\"./images/news/cas_award_winner.jpg\": [\n\t\t84888,\n\t\t1\n\t],\n\t\"./images/news/castle-2020-news.jpg\": [\n\t\t44470,\n\t\t1\n\t],\n\t\"./images/news/castle-2022-news.jpg\": [\n\t\t60056,\n\t\t1\n\t],\n\t\"./images/news/component.jpg\": [\n\t\t63454,\n\t\t1\n\t],\n\t\"./images/news/component.png\": [\n\t\t59012,\n\t\t1\n\t],\n\t\"./images/news/crypto.jpg\": [\n\t\t63152,\n\t\t1\n\t],\n\t\"./images/news/cyberRange.jpg\": [\n\t\t80163,\n\t\t1\n\t],\n\t\"./images/news/cyberex.jpg\": [\n\t\t95516,\n\t\t1\n\t],\n\t\"./images/news/cybersecurity.jpg\": [\n\t\t90701,\n\t\t1\n\t],\n\t\"./images/news/data.jpg\": [\n\t\t74619,\n\t\t1\n\t],\n\t\"./images/news/general-cascon-bg.jpg\": [\n\t\t8004,\n\t\t1\n\t],\n\t\"./images/news/lassonde.jpg\": [\n\t\t74023,\n\t\t1\n\t],\n\t\"./images/news/lecture-hall-black-white.jpeg\": [\n\t\t43536,\n\t\t1\n\t],\n\t\"./images/news/machine.jpg\": [\n\t\t32219,\n\t\t1\n\t],\n\t\"./images/news/mcmaster-2018-news.jpg\": [\n\t\t46718,\n\t\t1\n\t],\n\t\"./images/news/orion_ibm.jpg\": [\n\t\t90866,\n\t\t1\n\t],\n\t\"./images/news/papers.jpg\": [\n\t\t16571,\n\t\t1\n\t],\n\t\"./images/news/programs-black-white.jpeg\": [\n\t\t54621,\n\t\t1\n\t],\n\t\"./images/news/ptech.jpg\": [\n\t\t1688,\n\t\t1\n\t],\n\t\"./images/news/quantum-computer.jpg\": [\n\t\t54470,\n\t\t1\n\t],\n\t\"./images/news/registration-black-white.jpeg\": [\n\t\t21976,\n\t\t1\n\t],\n\t\"./images/news/right_arrow.png\": [\n\t\t64471,\n\t\t1\n\t],\n\t\"./images/news/rrc-black-white.jpg\": [\n\t\t93293,\n\t\t1\n\t],\n\t\"./images/news/talks.png\": [\n\t\t95253,\n\t\t1\n\t],\n\t\"./images/news/tcse-2017-news.jpg\": [\n\t\t36520,\n\t\t1\n\t],\n\t\"./images/news/thinkToronto.jpg\": [\n\t\t50580,\n\t\t1\n\t],\n\t\"./images/news/unb-2018-news.jpg\": [\n\t\t76365,\n\t\t1\n\t],\n\t\"./images/news/water_day_ibm.jpg\": [\n\t\t16626,\n\t\t1\n\t],\n\t\"./images/news/weavesphere-app.jpg\": [\n\t\t51026,\n\t\t1\n\t],\n\t\"./images/news/weavesphere-logo.png\": [\n\t\t81024,\n\t\t1\n\t],\n\t\"./images/news/weavespheresocialimage.jpg\": [\n\t\t20463,\n\t\t1\n\t],\n\t\"./images/newsletter/202201.jpg\": [\n\t\t11086,\n\t\t1\n\t],\n\t\"./images/newsletter/202202.jpg\": [\n\t\t76363,\n\t\t1\n\t],\n\t\"./images/newsletter/202203.jpg\": [\n\t\t33964,\n\t\t1\n\t],\n\t\"./images/newsletter/202204.jpg\": [\n\t\t43792,\n\t\t1\n\t],\n\t\"./images/newsletter/202205.jpg\": [\n\t\t36222,\n\t\t1\n\t],\n\t\"./images/newsletter/202206.jpg\": [\n\t\t98867,\n\t\t1\n\t],\n\t\"./images/newsletter/202207.jpg\": [\n\t\t52076,\n\t\t1\n\t],\n\t\"./images/newsletter/202208.jpg\": [\n\t\t76188,\n\t\t1\n\t],\n\t\"./images/newsletter/202209.jpg\": [\n\t\t58566,\n\t\t1\n\t],\n\t\"./images/newsletter/202210.jpg\": [\n\t\t1987,\n\t\t1\n\t],\n\t\"./images/newsletter/202211.jpg\": [\n\t\t3923,\n\t\t1\n\t],\n\t\"./images/sample-background.jpg\": [\n\t\t39330,\n\t\t1\n\t],\n\t\"./json/help\": [\n\t\t86632,\n\t\t3,\n\t\t632\n\t],\n\t\"./json/help.json\": [\n\t\t86632,\n\t\t3,\n\t\t632\n\t],\n\t\"./json/snapshots\": [\n\t\t26691,\n\t\t3,\n\t\t691\n\t],\n\t\"./json/snapshots.json\": [\n\t\t26691,\n\t\t3,\n\t\t691\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1] | 16)\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 50585;\nmodule.exports = webpackAsyncContext;"],"names":["data","id","_id","type","title","description","descriptionInHTML","publisher","publishedDate","displayDate","Date","toLocaleString","year","month","day","externalURL","window","location","origin","internalURL","image","generateTwitterShareLink","shareLink","shareText","shareHashtags","arguments","length","undefined","twitterShareLink","URL","searchParams","set","Array","isArray","join","href","generateFacebookShareLink","facebookShareLink","generateLinkedinShareLink","linkedinShareLink","props","_jsxs","className","children","_jsx","concat","light","target","rel","LogoTwitter","size","LogoFacebook","LogoLinkedin","truncateString","str","num","slice","capitalizeFirstLetter","string","charAt","toUpperCase","vpnCheck","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","img","wrap","_context","prev","next","Image","abrupt","Promise","resolve","onload","onerror","src","getTime","stop","apply","subtitle","announcedFromDate","announcedToDate","SwiperCore","Pagination","Navigation","Autoplay","_useState","useState","_useState2","_slicedToArray","announcements","setAnnouncements","_useState3","_useState4","vpnOn","setVpnOn","loadImage","useCallback","imageSrc","url","t0","then","default","catch","_x","useEffect","loadAnnouncementImages","_ref2","_callee2","_context2","_toConsumableArray","all","map","announcement","images","forEach","index","Swiper","spaceBetween","slidesPerView","effect","keyboard","enabled","autoplay","delay","disableOnInteraction","pagination","clickable","navigation","loop","SwiperSlide","alt","DEFAULT_BACKGROUND_IMAGE","dangerouslySetInnerHTML","__html","Button","onClick","open","BasicBanner","bannerTitleTop","bannerTitleBottom","StatBlocks","icon","val","Icon","_Stats$products","currentYear","setCurrentYear","_useState5","_useState6","newsAndEvents","setNewsAndEvents","_useState7","_useState8","Awards","setAwards","_useState9","_useState10","Stats","setStats","_useHttpClient","useHttpClient","error","sendRequest","getCurrentYear","process","res","getContent","apiURL","news","newsItem","newsResponseMapper","announcementResponseMapper","newsAndEventsArray","sort","itemA","itemB","itemADate","startDate","endDate","getAwards","_ref3","_callee3","_context3","present","awards","filter","_ref4","awardYear","_ref5","toString","getStats","_ref6","_callee4","_context4","_Fragment","ToastNotification","kind","Header","Announcements","Grid","Column","lg","md","sm","Link","ArrowRight","NewsFeed","feedItems","PageBlock","blue","heading","projectCount","StatBlock","Document","professors","UserSpeaker","students","Education","ibmers","Bee","Building","products","Product","a","b","_ref7","organizations","winner","pictureLink","descriptionInHtml","Award","projectTitle","orgs","replace","require","width","height","frameborder","allow","allowFullScreen","_ref$openInNewTab","openInNewTab","urlInfo","setUrlInfo","useExternalRouting","_unused","file","startsWith","to","_ref$itemData","itemData","_ref$vpnOn","setImageSrc","learnMoreURL","setLearnMoreURL","shareURL","setShareURL","defaultNewsImage","mainImage","_unused2","SkeletonPlaceholder","DynamicLink","ShareButtons","SkeletonText","SkeletonIcon","_ref$feedItems","feedItem","NewsFeedItem","NewsFeedItemPlaceholder","webpackAsyncContext","req","__webpack_require__","o","e","Error","code","ids","t","keys","Object","module","exports"],"sourceRoot":""}