{"version":3,"file":"static/js/11.e09b0208603e030bdae1.chunk.js","mappings":";iMAUO,MAAMA,EAA+DC,GACjEC,EAAAA,cAACC,EAAAA,OAAMC,OAAAC,OAAA,GAAKJ,EAAMK,WAAYL,EAAMM,mBAGhCP,EAAAA,QAAAA,uCCdf,uBAiBA,MAAMQ,UAA0BN,EAAAA,cACrBO,SACH,OAAOC,KAAKT,MAAMU,WAAWD,KAAKT,QAI3BO,EAAAA,QAAAA,uCCvBf,uBAiBA,MAAMI,UAAyBV,EAAAA,cACpBO,SACH,OAAOC,KAAKT,MAAMU,WAAWD,KAAKT,QAI3BW,EAAAA,QAAAA,iKCbf,MAAMC,EAAc,2BAmCPC,EAAiBA,CAACC,EAAgBC,KAC3C,IAAKH,EAAYI,KAAKF,GAClB,OAAO,EAEX,MAAMG,EAAOH,EAAOI,MAAM,KAAKC,MAAM,GAC/BC,EA1BeC,CAAAA,IACrB,OAAQA,GAAUA,EAAOC,eACrB,IAAK,QACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,QACD,MAAO,KACX,IAAK,SACL,QACI,MAAO,KAgBQC,CAAgBR,GACjCS,EAAcJ,GAAkB,IAAIA,GAAqB,GAC/D,OAAOH,EAAKQ,IAAKC,GAAqB,MAAMF,KAAcE,MAGjDC,EAAcC,IACvB,MAAM,QAAEC,EAAO,SAAEC,GAAiCF,GAAWA,EAAQG,SAAWH,EAAQG,QAAQC,QAAW,GAC3G,QAASH,KAAaC,GAMbG,EAAoBC,GAEzB,CACIA,EAAQC,QAAUtB,EAAeqB,EAAQC,QACzCD,EAAQE,OAASvB,EAAeqB,EAAQE,MAAO,SAC/CF,EAAQG,QAAUxB,EAAeqB,EAAQG,OAAQ,UACjDH,EAAQI,OAASzB,EAAeqB,EAAQI,MAAO,UACjDC,OAAOC,SAGJC,EAAY,IAAIC,IAAoB,CAC7C,CAAC,MAAO,YACR,CAAC,MAAO,YACR,CAAC,QAAS,YACV,CAAC,OAAQ,YACT,CAAC,MAAO,YACR,CAAC,SAAU,6uBCxDf,MAAMC,UAA8B1C,EAAAA,EAAM2C,cACtCC,YAAY7C,GACR8C,MAAM9C,GAwDH,KAAA+C,iBAAoBC,GAAiCvC,KAAKT,MAAMc,OAAOmC,QAASC,YAAcF,EAAMG,OAAOC,MAK3G,KAAAC,iBAAmB,KACtB,MAAM,OAAEvC,GAAWL,KAAKT,MAElBsD,EAAarB,OAAAA,EAAAA,EAAAA,CAAiBnB,GAEpC,OAAKwC,EAAWC,OAOTD,EAAWE,OACd,CAACC,EAAeC,KAA6B,IAA1BC,EAAMC,GAAgBF,EAGrC,OAFAD,EAAKE,KAAKE,KAAKF,GACfF,EAAKG,MAAMC,KAAKD,GACTH,GAEX,CAAEE,KAAM,GAAIC,MAAO,KAZZ,CACHD,KAAM,CAAC,OACPC,MAAO,CAAC,SAlEbpD,SACH,MAAM,MAAEsD,EAAK,UAAEC,EAAS,QAAEnC,EAAO,OAAEd,EAAM,KAAEkD,GAASvD,KAAKT,MACzD+D,EAAUE,IAAIC,EAAAA,EAASC,MAAO,2DAA4D,CACtFC,OAAQ,CAAC3D,KAAKT,MAAMqE,GAAI5D,KAAKT,MAAMsE,YAGvC,MAAMC,EAAUT,GAASA,EAAMS,QACzBC,EAAkB/D,KAAK4C,mBACzBkB,GAAWA,EAAQhB,OAAS,GAC5BQ,EAAUE,IAAIC,EAAAA,EAASO,QAAS,qDAEpC,MAAMxB,EAAUnC,EAAOmC,SAAWe,EAAKf,QACjCyB,EAAYC,EAAAA,EAAA,GACX1B,GAAO,IACVF,iBAAkBtC,KAAKsC,iBACvB6B,eAAgBnE,KAAKT,MAAM4B,QAAQG,UAEvC,OACI9B,EAAAA,EAAA4E,cAACC,EAAAA,EAAS,CACNC,cAAejE,EAAOiE,cACtBC,UAAWlE,EAAOkE,UAClBV,SAAU7D,KAAKT,MAAMsE,SACrBD,GAAI5D,KAAKT,MAAMqE,GACftC,QAAStB,KAAKT,MAAM4B,QAAQG,QAC5BkD,gBAAiBnE,MAAAA,OAAM,EAANA,EAAQmE,gBACzBC,sBAAuBpE,MAAAA,OAAM,EAANA,EAAQoE,sBAC/BC,oBAAqBrE,MAAAA,OAAM,EAANA,EAAQqE,oBAE7BC,aAAetE,MAAAA,OAAc,EAAdA,EAAgBuE,uBAC/BC,gBAAiB7E,KAAKT,MAAMc,OAAOwE,iBAElCrC,GAAWhD,EAAAA,EAAA4E,cAACU,EAAAA,EAAgBpF,OAAAC,OAAA,CAAC4E,UAAU,qBAAwBN,IAC/DH,GAAWA,EAAQ,IAAMtE,EAAAA,EAAA4E,cAAA,OAAKG,UAAWR,EAAgBb,KAAK6B,KAAK,MAAOjB,EAAQ,IAClFA,GAAWA,EAAQ,IAAMtE,EAAAA,EAAA4E,cAAA,OAAKG,UAAWR,EAAgBZ,MAAM4B,KAAK,MAAOjB,EAAQ,IACpFtE,EAAAA,EAAA4E,cAAA5E,EAAAA,EAAAwF,SAAA,KACK9D,OAAAA,EAAAA,EAAAA,CAAWC,IACR2C,GACAA,EAAQpD,MAAM,EAAGoD,EAAQhB,OAAS,GAAG9B,IAAI,CAACiE,EAAiBC,IAEnD1F,EAAAA,EAAA4E,cAAA,OAAKG,UAAU,SAASY,IAAKD,GACzB1F,EAAAA,EAAA4E,cAAA,OAAKG,UAAU,QACX/E,EAAAA,EAAA4E,cAAA,OAAKG,UAAU,oCAAkC,2EAwC1ErC,EAAAA,QAAAA,uCC7Gf,+CAeA,MAAMkD,UAA6B5F,EAAAA,cAC/B4C,YAAY7C,GACR8C,MAAM9C,GAGHQ,SACH,MAAM,MAAEsD,EAAK,UAAEC,EAAS,GAAEM,EAAE,SAAEC,GAAa7D,KAAKT,MAEhD,IAAI8F,EAAiBrF,KAAKT,MAAMc,QAAUL,KAAKT,MAAMc,OAAOgF,eAC5D/B,EAAUE,IAAIC,EAAAA,EAASC,MAAO,uDAAwD,CAAEC,OAAQ,CAACC,EAAIC,KAEhGwB,IACDA,EACIrF,KAAKT,MAAM4B,QAAQmE,KAAOtF,KAAKT,MAAM4B,QAAQmE,IAAIC,SAAWvF,KAAKT,MAAM4B,QAAQmE,IAAIC,SAASF,eAAiB,IAGrH,MAAMG,EAAqBC,OAAAA,EAAAA,EAAAA,CAAgBzF,KAAKT,MAAM4B,QAAQuE,cAAcvB,iBAAmB,EAAI,EAEnG,OACI3E,EAAAA,cAACA,EAAAA,SAAc,KACXA,EAAAA,cAAA,KAAG+E,UAAU,eAAeoB,KAAK,QAAQC,SAAUJ,GAC9CH,GAEL7F,EAAAA,cAAA,cACK6D,GACGA,EAAMwC,QACNxC,EAAMwC,OAAO7E,IAAK8E,GACPA,IAGlBzC,GAASA,EAAM0C,WACZvG,EAAAA,cAAA,OAAKoE,GAAG,aACHP,EAAM0C,UAAU/E,IAAK8E,GACXA,IAInBtG,EAAAA,cAAA,QAAMoE,GAAG,QACJP,GACGA,EAAM2C,SACN3C,EAAM2C,QAAQhF,IAAK8E,GACRA,IAGlBzC,GAASA,EAAM4C,WACZzG,EAAAA,cAAA,OAAKoE,GAAG,aACHP,EAAM4C,UAAUjF,IAAK8E,GACXA,IAInBtG,EAAAA,cAAA,cACK6D,GACGA,EAAM6C,QACN7C,EAAM6C,OAAOlF,IAAK8E,GACPA,MAQpBV,EAAAA,QAAAA,krBC3Df,MAAMe,UAAe3G,EAAAA,cACVO,SACH,MAAM,UAAEwE,GAAcvE,KAAKT,MAAMc,OAC3B+F,EAAcpG,KAAKT,MAAMc,OAAOgG,aAAe,MAAMrG,KAAKT,MAAMc,OAAOgG,aAAiB,YACxFC,EAASpC,EAAAA,EAAA,GAGRlE,KAAKT,OAAK,IACbgF,UAAYA,GAAagC,GAAAA,CAAWH,EAAa7B,IAAe6B,IAGpE,OAAOpG,KAAKT,MAAMU,WAAWqG,IAItBH,EAAAA,QAAAA,qCClCf,uBAiBA,MAAMK,UAAgBhH,EAAAA,cACXO,SACH,OAAOC,KAAKT,MAAMU,WAAWD,KAAKT,QAI3BiH,EAAAA,QAAAA,sECdCjH,EAAAA,QAAAA,IACZ,MAAOkH,EAAWC,GAAgBlH,EAAAA,UAAe,GAEjDA,EAAAA,UAAgB,KACZkH,EAAanH,EAAM4B,QAAQG,QAAQqF,KAAKC,kBACzC,IAEH,IAAIC,EAAY,GAahB,OAXItH,EAAMgE,KAAKuD,cAAgBvH,EAAMgE,KAAKuD,aAAaC,SACnDF,EAAYtH,EAAMgE,KAAKuD,aAAaC,OAAOjF,OAAOkF,GAChB,KAAvBA,EAAQC,aAUnBzH,EAAAA,cAAA,OAAK+E,UAAU,OACX/E,EAAAA,cAAA,OAAK0H,wBAAyB,CAAEC,OAAQ5H,EAAMc,OAAO+G,yBACpDX,GAAkC,IAArBI,EAAU/D,QAAgBtD,EAAAA,cAAA,OAAK0H,wBAAyB,CAAEC,OAAQ5H,EAAMc,OAAOgH,4GChBzG,MAAMC,UAA2B9H,EAAAA,cACtBO,SACH,QAA2CwH,IAAvCvH,KAAKT,MAAMgE,KAAKiE,YAAYT,OAC5B,MAAM,IAAIU,MAAM,uFAEpB,IACIlE,MACIiE,aACIT,QAAQ,MAAEW,EAAK,YAAEC,EAAW,SAAEC,EAAQ,gBAAEC,EAAe,WAAEC,MAGjE9H,KAAKT,MAET,MAAM,OACFc,EAAM,QACNc,EACAoC,MACIiE,aACIT,QAAQ,aAAEgB,MAGlB/H,KAAKT,MAGTmI,EAAQrH,EAAOqH,OAASA,EACxBC,EAActH,EAAOsH,aAAeA,EACpCC,EAAWvH,EAAOuH,UAAYA,EAC9BC,EAAmBxH,EAAO2H,cAAgB3H,EAAO2H,aAAaC,KAAQJ,EACtEC,EAAazH,EAAOyH,YAAcA,EAElC,MAAMI,EAAYlI,KAAKmI,oBAAoBT,EAAOvG,GAAWA,EAAQG,SAAWH,EAAQG,QAAQgE,KAChG,OACI9F,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAC4I,EAAAA,EAAe,KACXF,GAAa1I,EAAAA,cAAA,aAAQ0I,GACrBP,GAAenI,EAAAA,cAAA,QAAM6I,KAAK,cAAcvE,QAAS6D,IACjDC,GAAYpI,EAAAA,cAAA,QAAM6I,KAAK,WAAWvE,QAAS8D,IAC3CG,GAAgBvI,EAAAA,cAAA,QAAM8I,IAAI,YAAY3C,KAAMoC,IAC5CD,GAActI,EAAAA,cAAA,QAAM8I,IAAI,gBAAgB3C,KAAMmC,MAEjDzH,EAAOkI,eAAiBvI,KAAKwI,cAAcN,EAAWP,EAAaE,IACnExH,EAAOoI,oBAAsBzI,KAAK0I,mBAAmBR,EAAWP,EAAaE,IAKnFW,cAAcd,EAA2BC,EAAiCE,GAC9E,OACIrI,EAAAA,cAAC4I,EAAAA,EAAe,KACXV,GAASlI,EAAAA,cAAA,QAAMmJ,SAAS,WAAW7E,QAAS4D,IAC5CC,GAAenI,EAAAA,cAAA,QAAMmJ,SAAS,iBAAiB7E,QAAS6D,IACxDE,GAAmBrI,EAAAA,cAAA,QAAMmJ,SAAS,WAAW7E,QAAS+D,IACvDrI,EAAAA,cAAA,QAAMmJ,SAAS,UAAU7E,QAAQ,aAKrC4E,mBACJhB,EACAC,EACAE,GAEA,OACIrI,EAAAA,cAAC4I,EAAAA,EAAe,KACXV,GAASlI,EAAAA,cAAA,QAAM6I,KAAK,gBAAgBvE,QAAS4D,IAC7CC,GAAenI,EAAAA,cAAA,QAAM6I,KAAK,sBAAsBvE,QAAS6D,IACzDE,GAAmBrI,EAAAA,cAAA,QAAM6I,KAAK,gBAAgBvE,QAAS+D,IACxDrI,EAAAA,cAAA,QAAM6I,KAAK,eAAevE,QAAQ,aAKtCqE,oBAAoBT,EAA2BpC,GAC9CoC,IACDA,EAAQ,IAGZ,MAAMkB,EAAe5I,KAAKT,MAAMc,OAChC,GAAIuI,GAAgBA,EAAaC,wBAC7B,OAAOnB,EAGX,MAAMoB,EAAYxD,GAAOA,EAAIC,SAU7B,OATIuD,IACIA,EAAUC,kBACVrB,EAASoB,EAAUC,gBAA6BrB,GAEhDoB,EAAUE,kBACVtB,GAASoB,EAAUE,kBAIpBtB,GAIAJ,EAAAA,QAAAA,syBCvFf,MAAM2B,EAA8BA,CAAC3I,EAA0B4I,KAC3D,IAAK5I,GAAiB,UAATA,EACT,MAAO,YAEX,OAAQ4I,GACJ,IAAK,WACD,MAAO,YACX,IAAK,SACD,MAAO,SACX,QACI,MAAO,cAIbC,EAA6B7I,IAC/B,OAAQA,GACJ,IAAK,QACD,MAAO,QACX,IAAK,UACD,MAAO,UACX,IAAK,UACL,QACI,SA4CC8I,EAAwC7J,IAAiE,IAAA8J,EAClH,MAAM,cAAE/E,EAAa,MAAEgF,EAAK,QAAEhI,EAAO,QAAEiI,GAAYhK,EAE7CiK,EAAmC,QAAvBH,EAAG/H,EAAQkI,oBAAY,IAAAH,EAAAA,EAAI,GACvCI,EAAgBH,EAAMG,cAEtBC,EAA0C,GAE1CC,EAAiCC,OAAAA,EAAAA,EAAAA,CAAkCJ,GACzE,GAAIG,GAAkCF,EAAe,CAEjD,MAAMI,EA1BeC,EAACC,EAAgCC,KAC1D,IAAKC,EAAAA,EAAiBC,UAClB,OAIJ,MAAMC,EAAmBC,OAAeC,UAAUF,gBAClD,OAAKA,EAKEG,OAAAA,EAAAA,EAAAA,CAAqCP,EAAYC,EAAQ,kBAAmBG,MAAAA,OAAe,EAAfA,EAAiBI,oBALpG,GAmB+BT,CAAqBxF,EAAeiF,MAAAA,OAAO,EAAPA,EAASS,QAClEQ,EAAWtG,EAAAA,EAAA,GACVuF,GAAa,IAChBgB,UAASvG,EAAA,GAAOwG,GAAAA,CAAWb,GAAsBJ,EAAcgB,WArDhE,CACHE,GAAI,CACAC,EAAG,IACHC,EAAG,KAEPC,GAAI,CACAF,EAAG,KACHC,EAAG,KAEPE,GAAI,CACAH,EAAG,KACHC,EAAG,KAEPG,GAAI,CACAJ,EAAG,KACHC,EAAG,KAEPI,GAAI,CACAL,EAAG,KACHC,EAAG,UAsCDK,GAA6B,EACnCxL,OAAOyL,KAAKX,EAAYC,WAAWzJ,IAAIoK,IAAK,IAAAC,EACxC,MAAMC,EAAWF,EACXG,EAAcC,OAAAA,EAAAA,EAAAA,CAAehC,EAAcgB,EAAac,EAAU3B,GAClE8B,EAASC,OAAAA,EAAAA,EAAAA,CACXpC,EAAMrB,IAENuC,EAAYC,UAAUa,GACtBd,EACAU,EACA5B,MAAAA,OAAK,EAALA,EAAOqC,iBACPrK,MAAAA,OAAO,EAAPA,EAASsK,aAGblC,EAAO4B,GAAY,CACfO,SAAUN,EAAYO,IACtBC,SAAUR,EAAYS,IAEtBC,UAA0C,QAAjCZ,EAAEb,EAAYC,UAAUa,UAAS,IAAAD,OAAA,EAA/BA,EAAiCR,EAC5CrG,gBAAiBiH,EACjBS,iBAAkBjD,EAA4BM,MAAAA,OAAO,EAAPA,EAASjJ,KAAMiJ,MAAAA,OAAO,EAAPA,EAASL,QACtEiD,eAAgBhD,EAA0BI,MAAAA,OAAO,EAAPA,EAASjJ,MACnD8L,mBAAoB,mBAKhC,OAAO1C,GAGE2C,EAAqBC,IAC9B,IAAIC,EAAwB,GAS5B,OARID,IACAC,EAAKrI,EAAA,GAAQoI,GACbC,EAAgB,cAAIhF,EACpBgF,EAAa,MAAI,OACbD,EAAa9H,kBACb+H,EAAuB,gBAAI,QAAQD,EAAa9H,sBAGjD+H,GA4CEC,EAAyB9C,IAClC,MAAM+C,EAAgC,GAStC,OARA/M,OAAOyL,KAAKzB,GAAQ1I,IAAIoK,IATiBmB,IAAAA,EAWjC7C,EAAO0B,GAAI5G,iBAEXiI,EAAoBrJ,KAAK,GAAGsG,EAAO0B,GAAI5G,mBAbN+H,EAasD7C,EAAO0B,GAZlGmB,EAAMV,SACC,gBAAgBU,EAAMV,eAE1B,QAaAY,EAAoB1H,KAAK,ilBChL7B,MAAM2H,UAAwBlN,EAAAA,cAKjC4C,YAAY7C,EAA8BoN,GACtCtK,MAAM9C,GACNS,KAAK4M,iBAAmBxD,EAAqCpJ,KAAKT,OAClES,KAAK6M,iBAAmB7M,KAAK6M,iBAAiBC,KAAK9M,MACnDA,KAAKsM,aAAetM,KAAK+M,mBACzB/M,KAAKgN,SAAU,EACfhN,KAAKiN,iBAAmBjN,KAAKiN,iBAAiBH,KAAK9M,MACnDA,KAAK+M,iBAAmB/M,KAAK+M,iBAAiBD,KAAK9M,MACnDA,KAAK2M,MAAQ,CAAEO,kBAAkB,GAG9BC,oBACClD,EAAAA,EAAiBC,YACjBE,OAAOgD,iBAAiB,SAAUpN,KAAKiN,kBACvCjN,KAAKgN,SAAU,EACfhN,KAAKiN,oBAINI,uBACCpD,EAAAA,EAAiBC,YACjBE,OAAOkD,oBAAoB,SAAUtN,KAAKiN,kBAC1CjN,KAAKgN,SAAU,GAIhBO,sBAAsBC,EAAkCC,GAAwC,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACnG,OACI/N,KAAK2M,QAAUc,IACG,QAAlBC,EAAA1N,KAAKT,MAAM+B,eAAO,IAAAoM,OAAA,EAAlBA,EAAoBlE,iBAAkC,QAAtBmE,EAAKH,EAAUlM,eAAO,IAAAqM,OAAA,EAAjBA,EAAmBnE,eACxDxJ,KAAKT,MAAMgK,QAAQL,SAAWsE,EAAUjE,QAAQL,QAChDlJ,KAAKT,MAAMgK,QAAQjJ,OAASkN,EAAUjE,QAAQjJ,MAC9CN,KAAKT,MAAMgK,QAAQS,SAAWwD,EAAUjE,QAAQS,SAChC,QAAhB4D,EAAA5N,KAAKT,MAAM+J,aAAK,IAAAsE,OAAA,EAAhBA,EAAkBnE,kBAAiC,QAApBoE,EAAKL,EAAUlE,aAAK,IAAAuE,OAAA,EAAfA,EAAiBpE,iBACrC,QAAhBqE,EAAA9N,KAAKT,MAAM+J,aAAK,IAAAwE,OAAA,EAAhBA,EAAkB7F,QAAuB,QAApB8F,EAAKP,EAAUlE,aAAK,IAAAyE,OAAA,EAAfA,EAAiB9F,KAO5ClI,SACH,MAAM,SAAE+F,GAAa9F,KAAKT,MAE1B,IAII,GAHAS,KAAK4M,iBAAmBxD,EAAqCpJ,KAAKT,OAClES,KAAKsM,aAAetM,KAAK+M,mBAErB/M,KAAKsM,aAAc,CACnB,MAAM0B,EAA2BC,OAAAA,EAAAA,EAAAA,CAAuBjO,KAAKT,MAAM+B,SAC7D,0DA7Dc,gCA+Dd4M,EAAqBlO,KAAKmO,mBAC5BH,EACAhO,KAAKsM,aACLtM,KAAK4M,iBACL5M,KAAKoO,eAEHC,EAAarO,KAAKsO,eAAeJ,GACjCK,EAAgBN,OAAAA,EAAAA,EAAAA,CAAuBjO,KAAKT,MAAM+B,SAAW,CAAEkN,cAAexO,KAAK6M,kBAAqB,GAE9G,OAAI7M,KAAK2M,MAAMO,iBAGP1N,EAAAA,cAAA,MAAAE,OAAAC,OAAA,GAAS4O,EAAmBF,GACvBvI,GAGF9F,KAAKoO,cAGR5O,EAAAA,cAAA,MAAAE,OAAAC,OAAA,GAAS4O,EAAa,CAAEhK,UAAWyJ,IAC9BlI,GAMLtG,EAAAA,cAAA,MAAAE,OAAAC,OAAA,GAAS4O,EAAmBvO,KAAKyO,yBAC5B3I,GAMb,OAAOtG,EAAAA,cAAAA,EAAAA,SAAA,KAAGsG,GAEhB,MAAA4I,GAEE,OAAOlP,EAAAA,cAAAA,EAAAA,SAAA,KAAGsG,IAIVqI,mBACJ5J,EACA+H,EACAM,EACA+B,GAEA,OAAIA,EDqBwCC,EAChDrK,EACA+H,EACA5C,KAEA,MAAM2E,EAAa,CACfQ,KAAM,MACNtK,UAAcA,EAAH,YACX,aAAciI,EAAsB9C,IAQxC,OALI4C,IACA+B,EAAkB,MAAIhC,EAAkBC,GAExC+B,EAAkB,MAAmB,qBAAI9G,GAEtC8G,GCpCQO,CAAqCrK,EAAW+H,EAAcM,GDuCrCkC,EACxCvK,EACA+H,KAEA,MAAM+B,EAAa,CACfQ,KAAM,MACNtK,UAAAA,GAMJ,OAHI+H,IACA+B,EAAkB,MAAIhC,EAAkBC,IAErC+B,GCjDQS,CAA6BvK,EAAW+H,GAI/CgC,eAAeJ,GACnB,OAAAhK,EAAAA,EAAA,GAAYgK,GAAkB,IAAE3B,MAAKrI,EAAA,GAAOgK,MAAAA,OAAkB,EAAlBA,EAAoB3B,SAG5DM,iBAAiBtK,GACrB,GAAIA,EAAMG,SAAYH,EAA+BwM,cAAe,CAChE,MAAMC,EAAehP,KAAKT,MAAM+J,MAC1B2F,EAAmB1M,EAAMG,OAC/BsM,EAAQE,MAAQD,EAAYtM,OAI5BsK,mBACJ,GAAIhD,EAAAA,EAAiBC,UAAW,CAC5B,MAAMiF,EAAgBnP,KAAK+M,oBAEvB/M,KAAKgN,SAAYmC,IAAkBC,GAAAA,CAASpP,KAAKsM,aAAc6C,KAC/DnP,KAAKqP,SAAS,CAAEnC,kBAAkB,KAKtCH,mBACJ,GAAI9C,EAAAA,EAAiBC,UAAW,CAC5B,MAAMoF,EAAwBlF,OAAOmF,WACrC,IAAIJ,EAcJ,OAbAzP,OAAOyL,KAAKnL,KAAK4M,kBAAkB5L,IAAIoK,IAAK,IAAAoE,EAAAC,EAAAC,EAAAC,GAGV,QAAzBH,EAAAxP,KAAK4M,iBAAiBxB,UAAG,IAAAoE,GAAzBA,EAA2BzD,UAAqC,QAA7B0D,EAAIzP,KAAK4M,iBAAiBxB,UAAG,IAAAqE,GAAzBA,EAA2B5D,aAEzC,QAAzB6D,EAAA1P,KAAK4M,iBAAiBxB,UAAG,IAAAsE,OAAA,EAAzBA,EAA2B3D,WAAY,IAAMuD,GAE9CA,KAA2C,QAAzBK,EAAA3P,KAAK4M,iBAAiBxB,UAAG,IAAAuE,OAAA,EAAzBA,EAA2B9D,WAAY+D,OAAOC,oBAGhEV,EAAgBnP,KAAK4M,iBAAiBxB,MAGvC+D,EAEP,OAAOnP,KAAK8P,mBAIZ1B,cAAW,IAAA2B,EAEf,QAAwB,QAAjBA,EAAC/P,KAAKT,MAAM+J,aAAK,IAAAyG,GAAe,QAAfA,EAAhBA,EAAkBtG,qBAAa,IAAAsG,GAA/BA,EAAiCC,iBAGrCF,mBAAgB,IAAAzG,EACpB,MAAM,QAAE/H,GAAYtB,KAAKT,MACnBoK,EAAiCC,OAAAA,EAAAA,EAAAA,CAAsD,QAArBP,EAAC/H,EAAQkI,oBAAY,IAAAH,EAAAA,EAAI,IAEjG,OAAOrJ,KAAK4M,iBAAiBjD,GAGzB8E,wBACJ,MAAMlC,EAAQvM,KAAK8P,mBACb5B,EAAqB3B,EACrBvM,KAAKmO,mBAjLiB,gCAiL+B5B,EAAOvM,KAAK4M,iBAAkB5M,KAAKoO,eACxF,GACN,OAAOpO,KAAKsO,eAAeJ,ICpHnC,MAAM+B,EAAoB3L,IACtB,OAAQA,GACJ,IAAK,YACD,MAAO,YACX,IAAK,QACL,QACI,MAAO,UAQND,EAAyC9E,IAClD,MAAM,cACF+E,EAAa,UACbC,EAAS,SACTV,EAAQ,GACRD,EAAE,SACFkC,EAAQ,gBACRtB,EAAe,QACflD,EAAO,sBACPmD,EAAqB,oBACrBC,EAAmB,aACnBC,EAAY,gBACZE,GACAtF,EACE2Q,EAAkB3L,EAAY,IAAIA,EAAc,GAEtD,IAAI4L,EAAmBrK,EACnBxB,IACA6L,EAAmB3Q,EAAAA,cAAA,OAAK+E,UAAU,OAAO4L,IAGzC3L,GAAmBA,EAAgByD,KAAOzD,EAAgBiF,eAAiBnI,IAC3E6O,EACI3Q,EAAAA,cAACkN,EAAe,CACZpI,cAAeT,EACfvC,QAASA,EACTgI,MAAO9E,EACP+E,QAAS,CACLL,OAAQzE,EACRnE,KAAMoE,EACNsF,OAAQrF,IAGXwL,IAKb,MAAMC,EAAkDvL,EAAkB,CAAEA,gBAAAA,QAAoB0C,EAEhG,OAAOjD,EACH9E,EAAAA,cAAA,OAAK+E,UAAW,GAAGV,KAAYD,KAAMqM,EAAiB3L,KAAiB4L,IAAmB3D,MAAO6D,GAC5FD,GAGL3Q,EAAAA,cAAA,OAAK+E,UAAW,GAAGV,KAAYD,IAAKsM,IAAmB3D,MAAO6D,GACzDD,IAKArL,EAAoBvF,IAC7B,MAAM,IAAE8Q,EAAG,YAAE5N,EAAW,SAAE6N,EAAQ,UAAE/L,GAAchF,EAC5CgR,EAAMF,GAAO,KACbG,EAAuBF,EAAW,WAAWA,KAAY/L,IAAc,WAAWA,EACxF,OACK9B,GACGjD,EAAAA,cAACiR,EAAAA,EAAI,CACDlM,UAAWiM,EACXH,IAAKE,EACLG,KAAMjO,EACNkO,UAAW,CAAEC,OAAQrR,EAAM+C,iBAAkB6B,eAAgB5E,EAAM4E,mBAG3E,0ECrJO0M,EAAAA,QAJgCtR,GAC3CC,EAAAA,cAAA,MAAAE,OAAAC,OAAA,CAAK4E,UAAWhF,EAAMgF,UAAWX,GAAIrE,EAAMqE,IAAQrE,EAAMuR,uBAAuBvR,wCCVpF,uBAiBA,MAAMiH,UAAgBhH,EAAAA,cACXO,SACH,OAAOC,KAAKT,MAAMU,WAAWD,KAAKT,QAI3BiH,EAAAA,QAAAA,qCCvBf,uBAiBA,MAAMA,UAAgBhH,EAAAA,cACXO,SACH,OAAOC,KAAKT,MAAMU,WAAWD,KAAKT,QAI3BiH,EAAAA,QAAAA,kFCbCjH,EAAAA,QAAAA,IACZ,MAAOwR,EAAQC,GAAaxR,EAAAA,UAAe,IAErC,QAAEyR,EAAO,QAAEC,EAAO,MAAEC,EAAK,UAAEC,EAAS,MAAEC,EAAK,OAAEC,EAAM,UAAEC,GAAchS,EAAMc,OAMzEmR,EACFhS,EAAAA,cAAA,KACImG,KAAMyL,MAAAA,OAAS,EAATA,EAAWK,QAAQC,eACzBnF,MAAO,CACHgF,UAAW,MACXI,UAAWN,GAAyB,WAAhBA,EAAM9E,MAAqB,SAAW8E,GAAyB,WAAhBA,EAAM9E,MAAqB,QAAQ8E,EAAM9E,MAAU,KAGzH6E,MAAAA,OAAS,EAATA,EAAWQ,UAGdC,EACFN,GAAiC,UAApBA,EAAUhF,MACjB,MACAgF,GAAiC,WAApBA,EAAUhF,MACvB,OACAgF,GAAiC,UAApBA,EAAUhF,MACvB,OACA,MACV,OAAIwE,EAEIvR,EAAAA,cAAA,OAAK+M,MAAO,CAAEuF,MAAO,OAAQC,QAAS,OAAQC,eAAgB,eAAgBT,UAAWM,IACrFrS,EAAAA,cAACiI,EAAAA,EAAK,CAACwK,QAASd,EAAQ,KAzBhCH,GAAWD,IAyBuCI,EAAO5E,MAAO,CAAEuF,MAAO,OAAQjG,SAAU,UAC/ErM,EAAAA,cAAA,OAAK+M,MAAO,CAAEwF,QAAS,OAAQG,cAAeZ,EAAS,SAAW,QAC9D9R,EAAAA,cAAA,OAAK+M,MAAO,CAAEgF,UAAW,MAAOY,YAAa,QAAUlB,GACtDG,GAAaA,EAAUQ,UAAYR,EAAUK,QAAQC,gBAAkBF,EACxEhS,EAAAA,cAAA,OAAK+M,MAAO,CAAEgF,UAAW,MAAOa,WAAY,QAAUlB,MAM/D1R,EAAAA,cAAAA,EAAAA,SAAA,4CCnDf,uBAiBA,MAAM6S,UAA2B7S,EAAAA,cACtBO,SACH,OAAOC,KAAKT,MAAMU,WAAWD,KAAKT,QAI3B8S,EAAAA,QAAAA,qCCvBf,uBAQgB9S,EAAAA,QAAAA,IACZ,MAAMsG,EAAStG,EAAMc,OAAOmC,SAAWjD,EAAMc,OAAOmC,QAAQkO,KAAOnR,EAAMc,OAAOmC,QAAQkO,KAAO,qBACzF4B,EACF/S,EAAMc,OAAOkS,eAAiBhT,EAAMc,OAAOkS,cAAcd,QAAUlS,EAAMc,OAAOkS,cAAcd,QAAQC,eAAiB,GAC3H,IAAIjL,EAAY,GAMhB,OALIlH,EAAMgE,KAAKuD,cAAgBvH,EAAMgE,KAAKuD,aAAaC,SACnDN,EAAYlH,EAAMgE,KAAKuD,aAAaC,OAAOjF,OAAOkF,GAChB,KAAvBA,EAAQC,aAGE,IAArBR,EAAU3D,OAENtD,EAAAA,cAAA,OAAK+E,UAAU,2BACX/E,EAAAA,cAAA,MAAI+E,UAAU,oCAAoCsB,GAClDrG,EAAAA,cAAA,OAAK+E,UAAU,kCACX/E,EAAAA,cAAA,KAAG+E,UAAU,gCAAgCoB,KAAM2M,GAC9C/S,EAAMiT,UAAUF,YAM1B9S,EAAAA,cAAA,2uBCNf,MAAMiT,UAA8BjT,EAAAA,EAAM2C,cACtCC,YAAY7C,GACR8C,MAAM9C,GA0DH,KAAA+C,iBAAoBC,GAAiCvC,KAAKT,MAAMc,OAAOmC,QAASC,YAAcF,EAAMG,OAAOC,MAK3G,KAAAC,iBAAmB,KACtB,MAAM,OAAEvC,GAAWL,KAAKT,MAElBsD,EAAarB,OAAAA,EAAAA,EAAAA,CAAiBnB,GAEpC,OAAKwC,EAAWC,OAQTD,EAAWE,OACd,CAACC,EAAeC,KAAqC,IAAlCC,EAAMwP,EAAQvP,GAAgBF,EAI7C,OAHAD,EAAKE,KAAKE,KAAKF,GACfF,EAAK0P,OAAOtP,KAAKsP,GACjB1P,EAAKG,MAAMC,KAAKD,GACTH,GAEX,CAAEE,KAAM,GAAIwP,OAAQ,GAAIvP,MAAO,KAdxB,CACHD,KAAM,CAAC,OACPwP,OAAQ,CAAC,OACTvP,MAAO,CAAC,SArEbpD,SACH,MAAM,MAAEsD,EAAK,UAAEC,EAAS,QAAEnC,EAAO,OAAEd,EAAM,KAAEkD,GAASvD,KAAKT,MAEnDwE,EAAkB/D,KAAK4C,mBACvBkB,EAAUT,GAASA,EAAMS,QAE/BR,EAAUE,IAAIC,EAAAA,EAASC,MAAO,2DAA4D,CACtFC,OAAQ,CAAC3D,KAAKT,MAAMqE,GAAI5D,KAAKT,MAAMsE,YAEnCC,GAAWA,EAAQhB,OAAS,GAC5BQ,EAAUE,IAAIC,EAAAA,EAASO,QAAS,qDAEpC,MAAMxB,EAAUnC,EAAOmC,SAAWe,EAAKf,QACjCyB,EAAYC,EAAAA,EAAA,GACX1B,GAAO,IACVF,iBAAkBtC,KAAKsC,iBACvB6B,eAAgBnE,KAAKT,MAAM4B,QAAQG,UAEvC,OACI9B,EAAAA,EAAA4E,cAACC,EAAAA,EAAS,CACNC,cAAejE,EAAOiE,cACtBC,UAAWlE,EAAOkE,UAClBV,SAAU7D,KAAKT,MAAMsE,SACrBD,GAAI5D,KAAKT,MAAMqE,GACftC,QAAStB,KAAKT,MAAM4B,QAAQG,QAC5BkD,gBAAiBnE,MAAAA,OAAM,EAANA,EAAQmE,gBACzBC,sBAAuBpE,MAAAA,OAAM,EAANA,EAAQoE,sBAC/BC,oBAAqBrE,MAAAA,OAAM,EAANA,EAAQqE,oBAE7BC,aAAetE,MAAAA,OAAc,EAAdA,EAAgBuE,uBAC/BC,gBAAiB7E,KAAKT,MAAMc,OAAOwE,iBAElCrC,GAAWhD,EAAAA,EAAA4E,cAACU,EAAAA,EAAgBpF,OAAAC,OAAA,CAAC4E,UAAU,qBAAwBN,IAC/DH,GAAWA,EAAQ,IAAMtE,EAAAA,EAAA4E,cAAA,OAAKG,UAAWR,EAAgBb,KAAK6B,KAAK,MAAOjB,EAAQ,IAClFA,GAAWA,EAAQ,IAAMtE,EAAAA,EAAA4E,cAAA,OAAKG,UAAWR,EAAgB2O,OAAO3N,KAAK,MAAOjB,EAAQ,IACpFA,GAAWA,EAAQ,IAAMtE,EAAAA,EAAA4E,cAAA,OAAKG,UAAWR,EAAgBZ,MAAM4B,KAAK,MAAOjB,EAAQ,IACpFtE,EAAAA,EAAA4E,cAAA5E,EAAAA,EAAAwF,SAAA,KACK9D,OAAAA,EAAAA,EAAAA,CAAWC,IACR2C,GACAA,EAAQpD,MAAM,EAAGoD,EAAQhB,OAAS,GAAG9B,IAAI,CAACiE,EAAiBC,IAEnD1F,EAAAA,EAAA4E,cAAA,OAAKG,UAAU,SAASY,IAAKD,GACzB1F,EAAAA,EAAA4E,cAAA,OAAKG,UAAU,QACX/E,EAAAA,EAAA4E,cAAA,OAAKG,UAAU,oCAAkC,2EA0C1EkO,EAAAA,QAAAA,qCClHf,uBAIgBlT,EAAAA,QAAAA,GAmBRC,EAAAA,cAAAA,EAAAA,SAAA,sFCZQD,EAAAA,QAAAA,IACZ,MAAOwR,EAAQC,GAAaxR,EAAAA,UAAe,IAErC,QAAEyR,EAAO,QAAEC,EAAO,MAAEC,EAAK,SAAEwB,EAAQ,MAAEtB,EAAK,OAAEC,EAAM,UAAEC,GAAchS,EAAMc,OAMxEmR,EACFhS,EAAAA,cAAA,KACImG,KAAMgN,MAAAA,OAAQ,EAARA,EAAUlB,QAAQC,eACxBnF,MAAO,CACHgF,UAAW,MACXI,UAAWN,GAAyB,WAAhBA,EAAM9E,MAAqB,SAAW8E,GAAyB,WAAhBA,EAAM9E,MAAqB,QAAQ8E,EAAM9E,MAAU,KAGzHoG,MAAAA,OAAQ,EAARA,EAAUf,UAGbC,EACFN,GAAiC,UAApBA,EAAUhF,MACjB,MACAgF,GAAiC,WAApBA,EAAUhF,MACvB,OACAgF,GAAiC,UAApBA,EAAUhF,MACvB,OACA,MACV,OAAIwE,EAEIvR,EAAAA,cAAA,OAAK+M,MAAO,CAAEuF,MAAO,OAAQC,QAAS,OAAQC,eAAgB,eAAgBT,UAAWM,IACrFrS,EAAAA,cAACoT,EAAAA,EAAI,CAACX,QAASd,EAAQ,KAzB/BH,GAAWD,IAyBsCI,EAAO5E,MAAO,CAAEuF,MAAO,OAAQjG,SAAU,UAC9ErM,EAAAA,cAAA,OAAK+M,MAAO,CAAEwF,QAAS,OAAQG,cAAeZ,EAAS,SAAW,QAC9D9R,EAAAA,cAAA,OAAK+M,MAAO,CAAEgF,UAAW,MAAOY,YAAa,QAAUlB,GACtD0B,GAAYA,EAASf,UAAYe,EAASlB,QAAQC,gBAAkBF,EACrEhS,EAAAA,cAAA,OAAK+M,MAAO,CAAEgF,UAAW,MAAOa,WAAY,QAAUlB,MAM/D1R,EAAAA,cAAAA,EAAAA,SAAA,yyBCMR,MAAMqT,UAAmCrT,EAAAA,EAAMsT,UAmClD1Q,YAAmB7C,GACf8C,MAAM9C,GAENS,KAAK+S,KAAOxT,EAAMc,OAAO0S,KAGpBC,EAAAA,iBAAiBC,kBAAkB1T,EAAMc,OAAO6S,eAChDF,EAAAA,iBAAiBC,kBAAkB1T,EAAMc,OAAO8S,gBAEjDnT,KAAKoT,qBAAuB,CACxBF,aAAc3T,EAAMc,OAAO6S,aAC3BC,aAAc5T,EAAMc,OAAO8S,eAInCnT,KAAKqT,4BAA8B,GAEnCrT,KAAK2M,MAAQ,CACT2G,2BAA4B,IAGhCtT,KAAKuT,iBAAmBvT,KAAKuT,iBAAiBzG,KAAK9M,MACnDA,KAAKwT,uBAAyBxT,KAAKwT,uBAAuB1G,KAAK9M,MAS5DuN,sBACHC,EACAC,GAEA,MAAMgG,EACFzT,KAAK+S,OAASvF,EAAUnN,OAAO0S,MAC/B/S,KAAKT,MAAMc,OAAOqT,wBAA0BlG,EAAUnN,OAAOqT,uBAC7D1T,KAAKT,MAAMc,OAAO8S,eAAiB3F,EAAUnN,OAAO8S,cACpDnT,KAAKT,MAAMc,OAAO6S,eAAiB1F,EAAUnN,OAAO6S,cACpDlT,KAAKT,MAAMc,OAAOkE,YAAciJ,EAAUnN,OAAOkE,WACjDvE,KAAKT,MAAMqE,KAAO4J,EAAU5J,GAC1B+P,EACF3T,KAAK2M,MAAMiH,MAAQnG,EAAUmG,KAC7B5T,KAAK2M,MAAM2G,2BAA2BxQ,SAAW2K,EAAU6F,2BAA2BxQ,QACtF9C,KAAK2M,MAAM2G,2BAA2BO,MAAMlR,GACxC8K,EAAU6F,2BAA2BQ,KAAKC,GAAcA,EAAWxU,MAAMyU,aAAapQ,KAAOjB,EAAMpD,MAAMyU,aAAapQ,KAE9H,OAAO6P,GAAoBE,EAOxBxG,oBACH8G,EAAAA,mCAAmCC,UAAUlU,MAE7CA,KAAKmU,YAAc,8BAA8BC,EAAAA,OAAOC,KAAKC,eAEzDC,EAAAA,EAASrK,gBAA2C3C,IAA9BvH,KAAKoT,sBAC3BhJ,OAAOgD,iBAAiB,SAAUpN,KAAKuT,kBAQxClG,uBACH4G,EAAAA,mCAAmCO,YAAYxU,MAE/CA,KAAKqT,4BAA4BoB,QAAQC,IAAS,IAAAC,EAAA,OACkC,QADlCA,EAC9CD,EAAUnV,MAAMyU,aAAaY,OAAOC,SAASC,EAAAA,mBAAmBC,wBAAgB,IAAAJ,OAAA,EAAhFA,EAAkFH,YAAYxU,KAAKmU,eAGnGI,EAAAA,EAASrK,gBAA2C3C,IAA9BvH,KAAKoT,sBAC3BhJ,OAAOkD,oBAAoB,SAAUtN,KAAKuT,kBAQ3CyB,yBAAyBC,GAAiD,IAAAC,EAC7E,QAAyB3N,IAArBvH,KAAKmU,YAAT,CAIA,IACKnB,EAAAA,iBAAiBC,kBAAkBjT,KAAKT,MAAMc,OAAOqT,wBACtD1T,KAAKqT,4BAA4BvQ,QAAU9C,KAAKT,MAAMc,OAAOqT,sBAE7D,MAAM,IAAIjM,MAAM,gEAIwE,QAA5FyN,EAAAD,EAAsB1V,MAAMyU,aAAaY,OAAOC,SAASC,EAAAA,mBAAmBC,wBAAgB,IAAAG,GAA5FA,EAA8FhB,UAAU,CACpGiB,WAAYnV,KAAKmU,YACjBiB,QAASA,KAAK,IAAAC,EAEuC,QADjDA,EAAAJ,EAAsB1V,MAAMyU,aAAaY,OACpCC,SAASC,EAAAA,mBAAmBC,wBAAgB,IAAAM,GADjDA,EAEMb,YAAYxU,KAAKmU,aACvB,MAAMmB,EAAUtV,KAAKqT,4BAA4BvR,OAAO4S,GAAaA,IAAcO,GACnFjV,KAAKqT,4BAA8BiC,EACnCtV,KAAKqP,SAAS,CAAEiE,2BAA4BtT,KAAKqT,iCAKzDrT,KAAKqT,4BAA4BkC,QAAQN,GACzCjV,KAAKqP,SAAS,CAAEiE,2BAA4BtT,KAAKqT,8BACjDrT,KAAKuT,oBAGFxT,SACH,MAAMwE,EAAYgC,GAAAA,CACdsM,EAA2B2C,WAC3B,GAAG3C,EAA2B2C,eAAexV,KAAK+S,OAClD/S,KAAKT,MAAMc,OAAOkE,WAGhB+B,EAASpC,EAAAA,EAAA,GACRlE,KAAKT,OAAK,IACbK,UAAW,CACP6V,YAAazV,KAAKT,MAClBgF,UAAAA,EACAX,GAAI5D,KAAKmU,YACT5H,MAAO,CAAEqH,IAAK5T,KAAK2M,MAAMiH,MAE7B/T,kBAAmBG,KAAK0V,6BAG5B,OAAO1V,KAAKT,MAAMU,WAAWqG,GAOzBoP,2BACJ,MAAMC,EAAmBC,EAAAA,gBAAgBC,YAAY7V,KAAK2M,MAAM2G,4BAC1DwC,EAAqBvP,GAAAA,CACpBsM,EAA2B2C,WAA9B,eACAG,EACS9C,EAA2B2C,WAA9B,sBACG3C,EAA2B2C,WAA9B,WAGV,OACIhW,EAAAA,EAAA4E,cAAA,OAAKG,UAAWuR,EAAoBvJ,MAAO,CAAEwJ,UAAW/V,KAAK2M,MAAMiH,KAAO,gBAAgB5T,KAAK2M,MAAMiH,WAChG5T,KAAK2M,MAAM2G,2BAA2BtS,IAAI0T,IACvC,MAAMsB,EAAiBtB,EAAUuB,eACjC,OAAOzW,EAAAA,EAAA4E,cAAC4R,EAActW,OAAAC,OAAA,GAAK+U,EAAUnV,MAAK,CAAE4F,IAAKuP,EAAUnV,MAAMyU,aAAapQ,SAStF4P,yBACJ,MAAM0C,EAAgBlW,KAAKoT,qBAE3B,QAAsB7L,IAAlB2O,EACA,OAGJ,IAAIC,EAAc,EAKlB,OAJI5B,EAAAA,EAASrK,YACTiM,EAAc/L,OAAO+L,aAGlBC,KAAKtK,IAAIsK,KAAKpK,IAAIkK,EAAc/C,aAAc+C,EAAc/C,aAAegD,GAAcD,EAAchD,cAM1GK,mBACJ,MAAM8C,EAASrW,KAAKwT,yBACpBxT,KAAKqP,SAAS,CAAEuE,IAAKyC,KArNDxD,EAAA2C,WAAqB,yBAyNlC3C,EAAAA,QAAAA,qCCxRf,uBAiBA,MAAMyD,UAA8B9W,EAAAA,cACzBO,SACH,OAAOC,KAAKT,MAAMU,WAAWD,KAAKT,QAI3B+W,EAAAA,QAAAA,kFCbC/W,EAAAA,QAAAA,IACZ,MAAOwR,EAAQC,GAAaxR,EAAAA,UAAe,IAErC,QAAEyR,EAAO,QAAEC,EAAO,MAAEC,EAAK,SAAEoF,EAAQ,MAAElF,EAAK,OAAEC,EAAM,UAAEC,GAAchS,EAAMc,OAMxEmR,EACFhS,EAAAA,cAAA,KACImG,KAAM4Q,MAAAA,OAAQ,EAARA,EAAU9E,QAAQC,eACxBnF,MAAO,CACHgF,UAAW,MACXI,UAAWN,GAAyB,WAAhBA,EAAM9E,MAAqB,SAAW8E,GAAyB,WAAhBA,EAAM9E,MAAqB,QAAQ8E,EAAM9E,MAAU,KAGzHgK,MAAAA,OAAQ,EAARA,EAAU3E,UAGbC,EACFN,GAAiC,UAApBA,EAAUhF,MACjB,MACAgF,GAAiC,WAApBA,EAAUhF,MACvB,OACAgF,GAAiC,UAApBA,EAAUhF,MACvB,OACA,MACV,OAAIwE,EAEIvR,EAAAA,cAAA,OAAK+M,MAAO,CAAEuF,MAAO,OAAQC,QAAS,OAAQC,eAAgB,eAAgBT,UAAWM,IACrFrS,EAAAA,cAACgX,EAAAA,EAAI,CAACvE,QAASd,EAAQ,KAzB/BH,GAAWD,IAyBsCI,EAAO5E,MAAO,CAAEuF,MAAO,OAAQjG,SAAU,UAC9ErM,EAAAA,cAAA,OAAK+M,MAAO,CAAEwF,QAAS,OAAQG,cAAeZ,EAAS,SAAW,QAC9D9R,EAAAA,cAAA,OAAK+M,MAAO,CAAEgF,UAAW,MAAOY,YAAa,QAAUlB,GACtDsF,GAAYA,EAAS3E,UAAY2E,EAAS9E,QAAQC,gBAAkBF,EACrEhS,EAAAA,cAAA,OAAK+M,MAAO,CAAEgF,UAAW,MAAOa,WAAY,QAAUlB,MAM/D1R,EAAAA,cAAAA,EAAAA,SAAA,gtBCjCf,MAAMiX,UAAyBjX,EAAAA,cAC3B4C,YAAY7C,GACR8C,MAAM9C,GA4CH,KAAA+C,iBAAoBC,GAAiCvC,KAAKT,MAAMc,OAAOmC,QAASC,YAAcF,EAAMG,OAAOC,MAzC3G5C,SACH,MAAM,MAAEsD,EAAK,UAAEC,EAAS,OAAEjD,EAAM,KAAEkD,GAASvD,KAAKT,MAChD+D,EAAUE,IAAIC,EAAAA,EAASC,MAAO,oDAAqD,CAC/EC,OAAQ,CAAC3D,KAAKT,MAAMqE,GAAI5D,KAAKT,MAAMsE,YAGvC,MAAMrB,EAAUnC,EAAOmC,SAAWe,EAAKf,QACjCyB,EAAYC,EAAAA,EAAA,GACX1B,GAAO,IACVF,iBAAkBtC,KAAKsC,iBACvB6B,eAAgBnE,KAAKT,MAAM4B,QAAQG,UAGvC,OACI9B,EAAAA,cAAC6E,EAAAA,EAAS,CACNC,cAAejE,EAAOiE,cACtBC,UAAWlE,EAAOkE,UAClBV,SAAU7D,KAAKT,MAAMsE,SACrBD,GAAI5D,KAAKT,MAAMqE,GACftC,QAAStB,KAAKT,MAAM4B,QAAQG,QAC5BkD,gBAAiBnE,MAAAA,OAAM,EAANA,EAAQmE,gBACzBC,sBAAuBpE,MAAAA,OAAM,EAANA,EAAQoE,sBAC/BC,oBAAqBrE,MAAAA,OAAM,EAANA,EAAQqE,oBAE7BC,aAAetE,MAAAA,OAAc,EAAdA,EAAgBuE,uBAC/BC,gBAAiB7E,KAAKT,MAAMc,OAAOwE,iBAElCrC,GAAWhD,EAAAA,cAACsF,EAAAA,EAAgBpF,OAAAC,OAAA,CAAC4E,UAAU,qBAAwBN,IAC/DZ,GACGA,EAAMS,SACNT,EAAMS,QAAQ9C,IAAI,CAAC8E,EAA2BZ,IAEtC1F,EAAAA,cAAA,OAAK+E,UAAWvE,KAAK0W,wBAAyBvR,IAAKD,GAC9CY,KAUrB4Q,wBACJ,MACIrW,QAAQ,OAAE2J,EAAM,cAAE2M,IAClB3W,KAAKT,MACT,OAAQyK,GACJ,IAAI,OACA,MAAoB,SAAb2M,EAA2C,gBAAkB3W,KAAK4W,eAAeD,GAC5F,IAAI,UACJ,QACI,MAAO,UAIXC,eAAeC,GACnB,OAAO7U,EAAAA,EAAU8U,IAAID,GAAC,SAA+B,UAI9CJ,EAAAA,QAAAA,4FCrCAM,EAAAA,QArCqDxX,IAChE,MAAOyX,EAAmBC,GAAwBzX,EAAAA,WAsBlD,OAJAA,EAAAA,UAAgB,KAhBE0X,WACd,MAAMC,EAAM,CAAEC,cAAe7X,EAAM4B,QAAQuE,eACrC2R,EACF9X,EAAM4B,QAAQG,QAAQgW,OAAS/X,EAAM4B,QAAQG,QAAQgW,MAAMC,OACrDhY,EAAM4B,QAAQG,QAAQgW,MAAMC,OAC5B,sCAEJC,QAAmBC,OAAAA,EAAAA,EAAAA,CAAwBN,EAAKE,GAElDG,GACAP,EAAqBO,IAOpBE,IACN,CAACnY,EAAMgE,OAGN/D,EAAAA,cAAA,OAAK+M,MAAO,CAAEuF,MAAO,OAAQjN,gBAAiB,SAC1CrF,EAAAA,cAAA,OAAK+M,MAAO,CAAEwF,QAAS,OAAQC,eAAgB,iBAC3CxS,EAAAA,cAAA,OAEI0H,wBAAyB,CACrBC,OAAQ6P,GAAqBA,EAAkBW,YAAcX,EAAkBW,YAAc","sources":["webpack:///./src/modules/notifications-list/notifications-list.view.tsx?d466","webpack:///./src/modules/lds-staples-message/lds-staples-message.tsx?7dda","webpack:///./src/modules/my-script-injector/my-script-injector.tsx?9641","webpack:///./src/utils/classnames.ts?a0ff","webpack:///./src/modules/default-container-2-slots/default-container-2-slots.tsx?8065","webpack:///./src/modules/default-page/default-page.tsx?b382","webpack:///./src/modules/spacer/spacer.tsx?7565","webpack:///./src/modules/lds-error/lds-error.tsx?b3f1","webpack:///./src/modules/lds-staples-message/lds-staples-message.view.tsx?2189","webpack:///./src/modules/default-page-summary/default-page-summary.tsx?0c78","webpack:///./src/components/container-background-image/container-background-image-helper.ts?ce2e","webpack:///./src/components/container-background-image/container-backgroud-image.tsx?e863","webpack:///./src/components/base-components.tsx?daec","webpack:///./src/modules/spacer/spacer.view.tsx?1f15","webpack:///./src/modules/lds-info/lds-info.tsx?1186","webpack:///./src/modules/lds-warn/lds-warn.tsx?fb22","webpack:///./src/modules/lds-error/lds-error.view.tsx?021f","webpack:///./src/modules/lds-unit-history-tile/lds-unit-history-tile.tsx?91ff","webpack:///./src/modules/lds-unit-history-tile/lds-unit-history-tile.view.tsx?6946","webpack:///./src/modules/default-container-3-slots/default-container-3-slots.tsx?ac77","webpack:///./src/modules/my-script-injector/my-script-injector.view.tsx?999c","webpack:///./src/modules/lds-warn/lds-warn.view.tsx?6b05","webpack:///./src/modules/notifications-list/notifications-list.tsx?8377","webpack:///./src/modules/lds-terms-and-conditions/lds-terms-and-conditions.tsx?a71b","webpack:///./src/modules/lds-info/lds-info.view.tsx?9e9a","webpack:///./src/modules/default-container/default-container.tsx?01c3","webpack:///./src/modules/lds-terms-and-conditions/lds-terms-and-conditions.view.tsx?4b75"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { INotificationsListViewProps } from './notifications-list';\n\nexport const NotificationsListView: React.FC = props => {\n return {props.notificationsList};\n};\n\nexport default NotificationsListView;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ILdsStaplesMessageData } from './lds-staples-message.data';\r\nimport { ILdsStaplesMessageProps } from './lds-staples-message.props.autogenerated';\r\n\r\nexport interface ILdsStaplesMessageViewProps extends ILdsStaplesMessageProps {}\r\n\r\n/**\r\n *\r\n * LdsStaplesMessage component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LdsStaplesMessage extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LdsStaplesMessage;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IMyScriptInjectorData } from './my-script-injector.data';\r\nimport { IMyScriptInjectorProps } from './my-script-injector.props.autogenerated';\r\n\r\nexport interface IMyScriptInjectorViewProps extends IMyScriptInjectorProps {}\r\n\r\n/**\r\n *\r\n * MyScriptInjector component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass MyScriptInjector extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default MyScriptInjector;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ICoreContext } from '@msdyn365-commerce/core';\nimport * as twoSlots from '../modules/default-container-2-slots/default-container-2-slots.props.autogenerated';\nimport * as threeSlots from '../modules/default-container-3-slots/default-container-3-slots.props.autogenerated';\n\n// eslint-disable-next-line security/detect-unsafe-regex\nconst sizePattern = /col(_(\\d|auto){1,2}){2,}/;\n\nexport interface IShowErrorOptions {\n isDebug?: boolean;\n isEditor?: boolean;\n}\n\nexport interface IViewPortOptions {\n xsmall?: threeSlots.xsmall | twoSlots.xsmall;\n small?: threeSlots.small | twoSlots.small;\n medium?: threeSlots.medium | twoSlots.medium;\n large?: threeSlots.large | twoSlots.large;\n}\n\nconst translatePrefix = (prefix: `large` | `medium` | `small` | `xsmall` | undefined) => {\n switch (prefix && prefix.toLowerCase()) {\n case 'large':\n return 'lg';\n case 'medium':\n return 'md';\n case 'small':\n return 'sm';\n case 'xsmall':\n default:\n return '';\n }\n};\n\n/**\n * converts config option and size to bootstrap col class name\n * If size is auto or config option is invalid col-auto will be returned\n * If size is xsmall or size is invalid col-{config} will be returned\n * @param config configuration option e.g. col_12_12\n * @param size bootstrap gridsize\n */\nexport const getColumnSizes = (config: string, size?: `large` | `medium` | `small` | `xsmall`): string[] | boolean => {\n if (!sizePattern.exec(config)) {\n return false;\n }\n const cols = config.split('_').slice(1);\n const translatedSize = translatePrefix(size);\n const sizePrefix = (translatedSize && `-${translatedSize}`) || '';\n return cols.map((colWidth: string) => `col${sizePrefix}-${colWidth}`);\n};\n\nexport const showErrors = (context?: ICoreContext): Boolean => {\n const { isDebug, isEditor }: IShowErrorOptions = (context && context.request && context.request.params) || {};\n return !!isDebug || !!isEditor;\n};\n\n/**\n * Converts viewport configuration into a two dimensional array of class names\n */\nexport const getColClassArray = (options: IViewPortOptions): string[][] =>\n (\n [\n options.xsmall && getColumnSizes(options.xsmall),\n options.small && getColumnSizes(options.small, 'small'),\n options.medium && getColumnSizes(options.medium, 'medium'),\n options.large && getColumnSizes(options.large, 'large')\n ].filter(Boolean)\n );\n\nexport const colWidths = new Map([\n ['one', 'col-md-1'],\n ['two', 'col-md-2'],\n ['three', 'col-md-3'],\n ['four', 'col-md-4'],\n ['six', 'col-md-6'],\n ['twelve', 'col-md-12']\n]);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent } from '@msdyn365-commerce/core';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport React, { ReactNode } from 'react';\nimport { Container, HeadingComponent, IHeadingComponentProps } from '../../components/base-components';\nimport { getColClassArray, showErrors } from '../../utils/classnames';\nimport { IDefaultContainer2SlotsData } from './default-container-2-slots.data';\nimport { IDefaultContainer2SlotsProps } from './default-container-2-slots.props.autogenerated';\n\ninterface IColSizes {\n left: string[];\n right: string[];\n}\n\n/**\n * Default container that displays 2 modules\n * CoreComponent component\n * @extends {React.PureComponent>}\n */\nclass Default2SlotContainer extends React.PureComponent> {\n constructor(props: IDefaultContainer2SlotsProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, context, config, data } = this.props;\n telemetry.log(LogLevel.Debug, \"Default 2 Slot Container rendering for '{id}/{typeName}'\", {\n values: [this.props.id, this.props.typeName]\n });\n\n const content = slots && slots.content;\n const slotsClassNames = this._getColClassName();\n if (content && content.length > 2) {\n telemetry.log(LogLevel.Warning, 'Default 2 Slot Container passed more than 2 slots');\n }\n const heading = config.heading || data.heading;\n const headingProps: IHeadingComponentProps = {\n ...heading,\n handleTextChange: this.handleTextChange,\n requestContext: this.props.context.request\n };\n return (\n \n {heading && }\n {content && content[0] &&
{content[0]}
}\n {content && content[1] &&
{content[1]}
}\n <>\n {showErrors(context) &&\n content &&\n content.slice(2, content.length - 1).map((slot: ReactNode, index: number) => {\n return (\n
\n
\n
\n Slot exceeded maximum number of slots supported by container. (2)\n
\n
\n
\n );\n })}\n \n \n );\n }\n\n public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.headingText = event.target.value);\n /**\n * Captures left and right column classnames from this.props.config. Returns col if no options specified.\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _getColClassName = (): IColSizes => {\n const { config } = this.props;\n\n const classNames = getColClassArray(config);\n\n if (!classNames.length) {\n return {\n left: ['col'],\n right: ['col']\n };\n }\n\n return classNames.reduce(\n (memo: IColSizes, [left, right]: string[]) => {\n memo.left.push(left);\n memo.right.push(right);\n return memo;\n },\n { left: [], right: [] }\n );\n };\n}\n\nexport default Default2SlotContainer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport * as React from 'react';\nimport { isEditorialMode } from '@msdyn365-commerce/core-internal';\nimport { IDefaultPageProps } from './default-page.props.autogenerated';\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent}\n */\nclass DefaultPageContainer extends React.PureComponent> {\n constructor(props: IDefaultPageProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, id, typeName } = this.props;\n\n let skipToMainText = this.props.config && this.props.config.skipToMainText;\n telemetry.log(LogLevel.Debug, \"DefaultPageContainer rendering for '{id}/{typeName}'\", { values: [id, typeName] });\n\n if (!skipToMainText) {\n skipToMainText =\n this.props.context.app && this.props.context.app.platform ? this.props.context.app.platform.skipToMainText : '';\n }\n\n const tabIndexSkipToMain = isEditorialMode(this.props.context.actionContext.requestContext) ? -1 : 0;\n\n return (\n \n \n {skipToMainText}\n \n
\n {slots &&\n slots.header &&\n slots.header.map((children: React.ReactNode) => {\n return children;\n })}\n
\n {slots && slots.subheader && (\n
\n {slots.subheader.map((children: React.ReactNode) => {\n return children;\n })}\n
\n )}\n
\n {slots &&\n slots.primary &&\n slots.primary.map((children: React.ReactNode) => {\n return children;\n })}\n
\n {slots && slots.subfooter && (\n
\n {slots.subfooter.map((children: React.ReactNode) => {\n return children;\n })}\n
\n )}\n
\n {slots &&\n slots.footer &&\n slots.footer.map((children: React.ReactNode) => {\n return children;\n })}\n
\n
\n );\n }\n}\n\nexport default DefaultPageContainer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISpacerProps } from './spacer.props.autogenerated';\n\nexport interface ISpacerViewProps extends ISpacerProps<{}> {\n className?: string;\n}\n\n/**\n *\n * SpacerModule component.\n * @extends {React.PureComponent}\n */\nclass Spacer extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { className } = this.props.config;\n const spacerClass = this.props.config.spacerHeight ? `ms-${this.props.config.spacerHeight}` : 'ms-spacer';\n const viewProps = {\n // Context for telemetry and raw data for C1 to do customization\n // Including computed data, state data and methods\n ...this.props,\n className: (className && classnames(spacerClass, className)) || spacerClass\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n}\n\nexport default Spacer;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ILdsErrorData } from './lds-error.data';\r\nimport { ILdsErrorProps } from './lds-error.props.autogenerated';\r\n\r\nexport interface ILdsErrorViewProps extends ILdsErrorProps {}\r\n\r\n/**\r\n *\r\n * LdsWarn component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LdsWarn extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LdsWarn;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { ILdsStaplesMessageViewProps } from './lds-staples-message';\r\n// import StaplesMessage from '../../helpers/utilities/staples-message';\r\n\r\nexport default (props: ILdsStaplesMessageViewProps) => {\r\n const [isVisible, setIsVisible] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n setIsVisible(props.context.request.user.isAuthenticated);\r\n }, []);\r\n\r\n let unitOrder = [];\r\n\r\n if (props.data.paymentTypes && props.data.paymentTypes.result) {\r\n unitOrder = props.data.paymentTypes.result.filter(payment => {\r\n return payment.ACCOUNTNUM !== '';\r\n });\r\n }\r\n // const message = StaplesMessage.filter(message => {\r\n // return message.lang === 'en-us' && message.signedIn === false;\r\n // });\r\n // const signedInMessage = StaplesMessage.filter(message => {\r\n // return message.lang === 'en-us' && message.signedIn === true;\r\n // });\r\n return (\r\n
\r\n
\r\n {isVisible && unitOrder.length !== 0 &&
}\r\n
\r\n );\r\n};\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { HtmlHeadInclude, IAny, IGeneric } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nimport { IDefaultPageSummaryData } from './default-page-summary.data';\nimport { IDefaultPageSummaryProps } from './default-page-summary.props.autogenerated';\n\n/**\n *\n * DefaultPageSummaryMetadata component.\n * @extends {React.PureComponent}\n */\nclass DefaultPageSummary extends React.PureComponent> {\n public render(): JSX.Element {\n if (this.props.data.pageSummary.result === undefined) {\n throw new Error('PageSummaryData input to page-summary is undefined. Unable to generate page-summary');\n }\n let {\n data: {\n pageSummary: {\n result: { title, description, keywords, sharingImageUrl, faviconUrl }\n }\n }\n } = this.props;\n\n const {\n config,\n context,\n data: {\n pageSummary: {\n result: { canonicalUrl }\n }\n }\n } = this.props;\n\n // Override values coming from data action if config values are provided\n title = config.title || title;\n description = config.description || description;\n keywords = config.keywords || keywords;\n sharingImageUrl = (config.sharingImage && config.sharingImage.src) || sharingImageUrl;\n faviconUrl = config.faviconUrl || faviconUrl;\n\n const pageTitle = this._constructPageTitle(title, context && context.request && context.request.app);\n return (\n <>\n \n {pageTitle && {pageTitle}}\n {description && }\n {keywords && }\n {canonicalUrl && }\n {faviconUrl && }\n \n {!config.disableOgTags && this._renderOgTags(pageTitle, description, sharingImageUrl)}\n {!config.disableTwitterTags && this._renderTwitterTags(pageTitle, description, sharingImageUrl)}\n \n );\n }\n\n private _renderOgTags(title: string | undefined, description: string | undefined, sharingImageUrl: string | undefined): JSX.Element {\n return (\n \n {title && }\n {description && }\n {sharingImageUrl && }\n \n \n );\n }\n\n private _renderTwitterTags(\n title: string | undefined,\n description: string | undefined,\n sharingImageUrl: string | undefined\n ): JSX.Element {\n return (\n \n {title && }\n {description && }\n {sharingImageUrl && }\n \n \n );\n }\n\n private _constructPageTitle(title: string | undefined, app: IGeneric): string | undefined {\n if (!title) {\n title = '';\n }\n\n const moduleConfig = this.props.config;\n if (moduleConfig && moduleConfig.ignoreTitleSuffixPrefix) {\n return title;\n }\n\n const appConfig = app && app.platform;\n if (appConfig) {\n if (appConfig.pageTitlePrefix) {\n title = (appConfig.pageTitlePrefix as string) + title;\n }\n if (appConfig.pageTitleSuffix) {\n title += appConfig.pageTitleSuffix as string;\n }\n }\n\n return title;\n }\n}\n\nexport default DefaultPageSummary;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport msdyn365Commerce, {\n constructViewportInformationForImage,\n getImageResizeUrl,\n getLargestGridSettingViewportName,\n getMinMaxWidth,\n IAny,\n IGeneric,\n IViewPort,\n Viewport\n} from '@msdyn365-commerce/core-internal';\nimport { cloneDeep as _cloneDeep } from 'lodash';\nimport {\n BackgroundImageRepeat,\n BackgroundImageSize,\n IBackgroundImageAttributes,\n IBackgroundImageLazyloadAttributes,\n IBackgroundImageProps,\n IBackgroundImageStyle\n} from './container-background-image-interfaces';\n\nconst getBackgroundRepeatProperty = (size: string | undefined, repeat: string | undefined): BackgroundImageRepeat => {\n if (!size || size === 'cover') {\n return 'no-repeat';\n }\n switch (repeat) {\n case 'noRepeat':\n return 'no-repeat';\n case 'repeat':\n return 'repeat';\n default:\n return 'no-repeat';\n }\n};\n\nconst getBackgroundSizeProperty = (size: string | undefined): BackgroundImageSize => {\n switch (size) {\n case 'cover':\n return 'cover';\n case 'contain':\n return 'contain';\n case 'default':\n default:\n return undefined;\n }\n};\n\nconst getDefaultViewports = (): IViewPort => {\n return {\n xs: {\n w: 800,\n h: 600\n },\n sm: {\n w: 1200,\n h: 900\n },\n md: {\n w: 1600,\n h: 900\n },\n lg: {\n w: 1600,\n h: 700\n },\n xl: {\n w: 1600,\n h: 700\n }\n };\n};\n\nconst getAuthoringViewport = (moduleName: string | undefined, layout: string | undefined): IViewPort | undefined => {\n if (!msdyn365Commerce.isBrowser) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const authoringHelper = (window as any)._msdyn365.authoringHelper;\n if (!authoringHelper) {\n return;\n }\n\n // if authoring helper is setup, component is rendering from site builder. Build viewport based on layout selected.\n return constructViewportInformationForImage(moduleName, layout, 'backgroundImage', authoringHelper?.themeSettings) as IViewPort;\n};\n\nexport const buildBackgroundImageStylesByViewport = (props: IBackgroundImageProps): IGeneric => {\n const { containerType, image, request, configs } = props;\n\n const gridSettings = request.gridSettings ?? {};\n const imageSettings = image.imageSettings;\n\n const styles: IGeneric = {};\n\n const largestGridSettingViewportName = getLargestGridSettingViewportName(gridSettings);\n if (largestGridSettingViewportName && imageSettings) {\n // in site builder the layout may change, so use authoring viewports.\n const authoringViewPorts = getAuthoringViewport(containerType, configs?.layout);\n const imgSettings = {\n ...imageSettings,\n viewports: { ..._cloneDeep(authoringViewPorts || imageSettings.viewports || getDefaultViewports()) }\n };\n\n // Skip resizing width and height for background images.\n const skipWidthAndHeightSettings = true;\n Object.keys(imgSettings.viewports).map(vp => {\n const viewport = vp as Viewport;\n const minMaxWidth = getMinMaxWidth(gridSettings, imgSettings, viewport, largestGridSettingViewportName);\n const urlSrc = getImageResizeUrl(\n image.src,\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n imgSettings.viewports[viewport],\n imgSettings,\n skipWidthAndHeightSettings,\n image?.externalProvider,\n request?.apiSettings\n );\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n styles[viewport] = {\n maxWidth: minMaxWidth.max,\n minWidth: minMaxWidth.min,\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n minHeight: imgSettings.viewports[viewport]?.h,\n backgroundImage: urlSrc,\n backgroundRepeat: getBackgroundRepeatProperty(configs?.size, configs?.repeat),\n backgroundSize: getBackgroundSizeProperty(configs?.size),\n backgroundPosition: 'center center'\n };\n });\n }\n\n return styles;\n};\n\nexport const setStyleAttribute = (currentStyle: IBackgroundImageStyle): IGeneric => {\n let style: IGeneric = {};\n if (currentStyle) {\n style = { ...currentStyle };\n style['minWidth'] = undefined;\n style['width'] = '100%';\n if (currentStyle.backgroundImage) {\n style['backgroundImage'] = `url('${currentStyle.backgroundImage}')`;\n }\n }\n return style;\n};\n\nexport const getBackgroundImageLazyloadAttributes = (\n className: string,\n currentStyle: IBackgroundImageStyle | undefined,\n styles: IGeneric\n): IBackgroundImageLazyloadAttributes => {\n const attributes = {\n role: 'img',\n className: `${className} lazyload`,\n 'data-bgset': getDataBgSetAttribute(styles)\n };\n\n if (currentStyle) {\n attributes['style'] = setStyleAttribute(currentStyle);\n // On lazyload, lazysizes plugin should pick which background image to use based on data-bgset attribute.\n attributes['style']['backgroundImage'] = undefined;\n }\n return attributes;\n};\n\nexport const getBackgroundImageAttributes = (\n className: string,\n currentStyle: IBackgroundImageStyle | undefined\n): IBackgroundImageAttributes => {\n const attributes = {\n role: 'img',\n className\n };\n\n if (currentStyle) {\n attributes['style'] = setStyleAttribute(currentStyle);\n }\n return attributes;\n};\n\nexport const getBgSetMinMaxWidthAttribute = (style: IBackgroundImageStyle): string => {\n if (style.maxWidth) {\n return `[(max-width: ${style.maxWidth}px)]`;\n }\n return '';\n};\n\nexport const getDataBgSetAttribute = (styles: IGeneric): string => {\n const dataBgSetAttributes: string[] = [];\n Object.keys(styles).map(vp => {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n if (styles[vp].backgroundImage) {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n dataBgSetAttributes.push(`${styles[vp].backgroundImage} ${getBgSetMinMaxWidthAttribute(styles[vp])}`);\n }\n });\n\n return dataBgSetAttributes.join(' | ');\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport msdyn365Commerce, { getLargestGridSettingViewportName, IGeneric, isAuthoringEditEnabled } from '@msdyn365-commerce/core-internal';\nimport * as React from 'react';\nimport { isEqual as _isEqual } from 'lodash';\nimport {\n buildBackgroundImageStylesByViewport,\n getBackgroundImageAttributes,\n getBackgroundImageLazyloadAttributes\n} from './container-background-image-helper';\nimport {\n IBackgroundImageAttributes,\n IBackgroundImageProps,\n IBackgroundImageState,\n IBackgroundImageStyle\n} from './container-background-image-interfaces';\n\nconst BACKGROUND_IMAGE_CLASS_NAME = 'ms-container-background-image';\n\n/**\n * BackgroundImage component\n * @extends {React.PureComponent}\n */\nexport class BackgroundImage extends React.PureComponent {\n private stylesByViewport: IGeneric;\n private currentStyle: IBackgroundImageStyle | undefined;\n private mounted: boolean;\n\n constructor(props: IBackgroundImageProps, state: IBackgroundImageState) {\n super(props);\n this.stylesByViewport = buildBackgroundImageStylesByViewport(this.props);\n this._onChangeHandler = this._onChangeHandler.bind(this);\n this.currentStyle = this._getCurrentStyle();\n this.mounted = false;\n this._componentResize = this._componentResize.bind(this);\n this._getCurrentStyle = this._getCurrentStyle.bind(this);\n this.state = { updateAttributes: false };\n }\n\n public componentDidMount(): void {\n if (msdyn365Commerce.isBrowser) {\n window.addEventListener('resize', this._componentResize);\n this.mounted = true;\n this._componentResize();\n }\n }\n\n public componentWillUnmount(): void {\n if (msdyn365Commerce.isBrowser) {\n window.removeEventListener('resize', this._componentResize);\n this.mounted = false;\n }\n }\n\n public shouldComponentUpdate(nextProps: IBackgroundImageProps, nextState: { updateAttributes: boolean }): boolean {\n if (\n this.state !== nextState ||\n this.props.request?.gridSettings !== nextProps.request?.gridSettings ||\n this.props.configs.repeat !== nextProps.configs.repeat ||\n this.props.configs.size !== nextProps.configs.size ||\n this.props.configs.layout !== nextProps.configs.layout ||\n this.props.image?.imageSettings !== nextProps.image?.imageSettings ||\n this.props.image?.src !== nextProps.image?.src\n ) {\n return true;\n }\n return false;\n }\n\n public render(): JSX.Element | null {\n const { children } = this.props;\n\n try {\n this.stylesByViewport = buildBackgroundImageStylesByViewport(this.props);\n this.currentStyle = this._getCurrentStyle();\n\n if (this.currentStyle) {\n const backgroundImageClassName = isAuthoringEditEnabled(this.props.request)\n ? `${BACKGROUND_IMAGE_CLASS_NAME} ms-editable-field enabled`\n : BACKGROUND_IMAGE_CLASS_NAME;\n const processedAtributes = this._processAttributes(\n backgroundImageClassName,\n this.currentStyle,\n this.stylesByViewport,\n this._isLazyload()\n );\n const attributes = this._getAttributes(processedAtributes);\n const eventHandlers = isAuthoringEditEnabled(this.props.request) ? { onDoubleClick: this._onChangeHandler } : {};\n\n if (this.state.updateAttributes) {\n // Update component with the latest attributes.\n return (\n
\n {children}\n
\n );\n } else if (this._isLazyload()) {\n // On lazyload, only include the class name on the first render.\n return (\n
\n {children}\n
\n );\n } else {\n // On lazyload disabled, render the default attributes from server side.\n return (\n
\n {children}\n
\n );\n }\n } else {\n // in no style is found, return the container content.\n return <>{children};\n }\n } catch {\n // in case of any failure, return the container content.\n return <>{children};\n }\n }\n\n private _processAttributes(\n className: string,\n currentStyle: IBackgroundImageStyle,\n stylesByViewport: IGeneric,\n lazyLoad: boolean\n ) {\n if (lazyLoad) {\n return getBackgroundImageLazyloadAttributes(className, currentStyle, stylesByViewport);\n } else {\n return getBackgroundImageAttributes(className, currentStyle);\n }\n }\n\n private _getAttributes(processedAtributes: IBackgroundImageAttributes) {\n return { ...processedAtributes, style: { ...processedAtributes?.style } };\n }\n\n private _onChangeHandler(event: React.SyntheticEvent | { target: { value: string } }): void {\n if (event.target === (event as React.SyntheticEvent).currentTarget) {\n const binding: any = this.props.image;\n const eventTarget: any = event.target;\n binding.$type = eventTarget.value;\n }\n }\n\n private _componentResize(): void {\n if (msdyn365Commerce.isBrowser) {\n const selectedStyle = this._getCurrentStyle();\n\n if (this.mounted || (selectedStyle && !_isEqual(this.currentStyle, selectedStyle))) {\n this.setState({ updateAttributes: true });\n }\n }\n }\n\n private _getCurrentStyle(): IBackgroundImageStyle | undefined {\n if (msdyn365Commerce.isBrowser) {\n const winInnerWidth: number = window.innerWidth;\n let selectedStyle: IBackgroundImageStyle | undefined;\n Object.keys(this.stylesByViewport).map(vp => {\n if (\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n (this.stylesByViewport[vp]?.minWidth || this.stylesByViewport[vp]?.maxWidth) &&\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n (this.stylesByViewport[vp]?.minWidth || 0) <= winInnerWidth &&\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n winInnerWidth <= (this.stylesByViewport[vp]?.maxWidth || Number.MAX_SAFE_INTEGER)\n ) {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n selectedStyle = this.stylesByViewport[vp];\n }\n });\n return selectedStyle;\n } else {\n return this._getDefaultStyle();\n }\n }\n\n private _isLazyload(): boolean {\n // Lazyload by default if nothing is specified\n return !this.props.image?.imageSettings?.disableLazyLoad;\n }\n\n private _getDefaultStyle(): IBackgroundImageStyle | undefined {\n const { request } = this.props;\n const largestGridSettingViewportName = getLargestGridSettingViewportName(request.gridSettings ?? {});\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n return this.stylesByViewport[largestGridSettingViewportName];\n }\n\n private _getDefaultAttributes(): IBackgroundImageAttributes {\n const style = this._getDefaultStyle();\n const processedAtributes = style\n ? this._processAttributes(BACKGROUND_IMAGE_CLASS_NAME, style, this.stylesByViewport, this._isLazyload())\n : {};\n return this._getAttributes(processedAtributes);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent, IImageData, IRequestContext, Text } from '@msdyn365-commerce/core';\nimport * as React from 'react';\nimport { BackgroundImage } from './container-background-image/container-backgroud-image';\n\n/**\n * Heading options\n */\nexport interface IHeadingComponentProps {\n /**\n * Heading text\n */\n headingText?: string;\n /**\n * Heading tag (h1, h2, h3, h4, h5, h6)\n */\n tag?: HeadingTag;\n /**\n * Heading text size (sm, md, lg, xl)\n */\n textSize?: TextSize;\n\n requestContext: IRequestContext;\n\n handleTextChange(event: ContentEditableEvent): string;\n}\n\nexport type HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\nexport type TextSize = 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * Container class options\n */\nexport interface IContainerProps {\n /**\n * CSS class name\n */\n className?: string;\n /**\n * Bootstrap supported container types\n */\n containerType?: string;\n /**\n * type name\n */\n typeName?: string;\n /**\n * id of container\n */\n id?: string;\n /**\n * React children\n */\n children: React.ReactNode;\n /**\n * Request context\n */\n request?: IRequestContext;\n /**\n * background image\n */\n backgroundImage?: IImageData;\n /**\n * background image repeat property\n */\n backgroundImageRepeat?: string;\n /**\n * background image size property\n */\n backgroundImageSize?: string;\n /**\n * module layout property\n */\n moduleLayout?: string;\n /**\n * background color\n */\n backgroundColor?: string;\n}\n\nconst getContainerType = (containerType: string | undefined) => {\n switch (containerType) {\n case 'container':\n return 'container';\n case 'fluid':\n default:\n return 'fluid';\n }\n};\n\n/**\n * HOC to create bootstrap container div. If no container type is specified children are rendered.\n * @param options IContainerClasses\n */\nexport const Container: React.SFC = (props: IContainerProps): JSX.Element => {\n const {\n containerType,\n className,\n typeName,\n id,\n children,\n backgroundImage,\n request,\n backgroundImageRepeat,\n backgroundImageSize,\n moduleLayout,\n backgroundColor\n } = props;\n const customClassName = className ? ` ${className}` : '';\n\n let containerContent = children;\n if (containerType) {\n containerContent =
{containerContent}
;\n }\n\n if (backgroundImage && backgroundImage.src && backgroundImage.imageSettings && request) {\n containerContent = (\n \n {containerContent}\n \n );\n }\n\n const containerStyle: React.CSSProperties | undefined = backgroundColor ? { backgroundColor } : undefined;\n\n return containerType ? (\n
\n {containerContent}\n
\n ) : (\n
\n {containerContent}\n
\n );\n};\n\nexport const HeadingComponent = (props: IHeadingComponentProps & { className: string }): JSX.Element | null => {\n const { tag, headingText, textSize, className } = props;\n const Tag = tag || 'h2';\n const classNameWithHeading = textSize ? `heading ${textSize} ${className}` : `heading ${className}`;\n return (\n (headingText && (\n \n )) ||\n null\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nimport { ISpacerViewProps } from './spacer';\n\nconst SpacerView: React.FC = props => (\n
\n);\n\nexport default SpacerView;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ILdsInfoData } from './lds-info.data';\r\nimport { ILdsInfoProps } from './lds-info.props.autogenerated';\r\n\r\nexport interface ILdsInfoViewProps extends ILdsInfoProps {}\r\n\r\n/**\r\n *\r\n * LdsWarn component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LdsWarn extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LdsWarn;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ILdsWarnData } from './lds-warn.data';\r\nimport { ILdsWarnProps } from './lds-warn.props.autogenerated';\r\n\r\nexport interface ILdsWarnViewProps extends ILdsWarnProps {}\r\n\r\n/**\r\n *\r\n * LdsWarn component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LdsWarn extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LdsWarn;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { ILdsErrorViewProps } from './lds-error';\r\n//@ts-ignore\r\nimport { Error } from '@churchofjesuschrist/eden-alert';\r\n\r\nexport default (props: ILdsErrorViewProps) => {\r\n const [isOpen, setIsOpen] = React.useState(true);\r\n\r\n const { textOne, textTwo, close, errorLink, link2, column, marginTop } = props.config;\r\n\r\n const onClose = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n const link = (\r\n \r\n {errorLink?.linkText}\r\n \r\n );\r\n const marginLength =\r\n marginTop && marginTop.style === 'small'\r\n ? '5px'\r\n : marginTop && marginTop.style === 'medium'\r\n ? '10px'\r\n : marginTop && marginTop.style === 'large'\r\n ? '20px'\r\n : '0px';\r\n if (isOpen) {\r\n return (\r\n
\r\n onClose() : close} style={{ width: '100%', maxWidth: '960px' }}>\r\n
\r\n
{textOne}
\r\n {errorLink && errorLink.linkText && errorLink.linkUrl.destinationUrl && link}\r\n
{textTwo}
\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return <>;\r\n }\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ILdsUnitHistoryTileData } from './lds-unit-history-tile.data';\r\nimport { ILdsUnitHistoryTileProps } from './lds-unit-history-tile.props.autogenerated';\r\n\r\nexport interface ILdsUnitHistoryTileViewProps extends ILdsUnitHistoryTileProps {}\r\n\r\n/**\r\n *\r\n * LdsUnitHistoryTile component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LdsUnitHistoryTile extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LdsUnitHistoryTile;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { ILdsUnitHistoryTileViewProps } from './lds-unit-history-tile';\r\n\r\nexport default (props: ILdsUnitHistoryTileViewProps) => {\r\n const header = props.config.heading && props.config.heading.text ? props.config.heading.text : 'Unit Order History';\r\n const pageLink =\r\n props.config.unitOrderLink && props.config.unitOrderLink.linkUrl ? props.config.unitOrderLink.linkUrl.destinationUrl : '';\r\n let isVisible = [];\r\n if (props.data.paymentTypes && props.data.paymentTypes.result) {\r\n isVisible = props.data.paymentTypes.result.filter(payment => {\r\n return payment.ACCOUNTNUM !== '';\r\n });\r\n }\r\n if (isVisible.length !== 0) {\r\n return (\r\n
\r\n

{header}

\r\n \r\n
\r\n );\r\n } else {\r\n return
;\r\n }\r\n};\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent } from '@msdyn365-commerce/core';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport React, { ReactNode } from 'react';\nimport { Container, HeadingComponent, IHeadingComponentProps } from '../../components/base-components';\nimport { getColClassArray, showErrors } from '../../utils/classnames';\nimport { IDefaultContainer3SlotsData } from './default-container-3-slots.data';\nimport { IDefaultContainer3SlotsProps } from './default-container-3-slots.props.autogenerated';\n\ninterface IColSizes {\n left: string[];\n center: string[];\n right: string[];\n}\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent>}\n */\nclass Default3SlotContainer extends React.PureComponent> {\n constructor(props: IDefaultContainer3SlotsProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, context, config, data } = this.props;\n\n const slotsClassNames = this._getColClassName();\n const content = slots && slots.content;\n\n telemetry.log(LogLevel.Debug, \"Default 3 Slot Container rendering for '{id}/{typeName}'\", {\n values: [this.props.id, this.props.typeName]\n });\n if (content && content.length > 3) {\n telemetry.log(LogLevel.Warning, 'Default 3 Slot Container passed more than 3 slots');\n }\n const heading = config.heading || data.heading;\n const headingProps: IHeadingComponentProps = {\n ...heading,\n handleTextChange: this.handleTextChange,\n requestContext: this.props.context.request\n };\n return (\n \n {heading && }\n {content && content[0] &&
{content[0]}
}\n {content && content[1] &&
{content[1]}
}\n {content && content[2] &&
{content[2]}
}\n <>\n {showErrors(context) &&\n content &&\n content.slice(2, content.length - 1).map((slot: ReactNode, index: number) => {\n return (\n
\n
\n
\n Slot exceeded maximum number of slots supported by container. (3)\n
\n
\n
\n );\n })}\n \n \n );\n }\n\n public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.headingText = event.target.value);\n /**\n * Captures left and right column classnames from this.props.config. Returns col if no options specified.\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _getColClassName = (): IColSizes => {\n const { config } = this.props;\n\n const classNames = getColClassArray(config);\n\n if (!classNames.length) {\n return {\n left: ['col'],\n center: ['col'],\n right: ['col']\n };\n }\n\n return classNames.reduce(\n (memo: IColSizes, [left, center, right]: string[]) => {\n memo.left.push(left);\n memo.center.push(center);\n memo.right.push(right);\n return memo;\n },\n { left: [], center: [], right: [] }\n );\n };\n}\n\nexport default Default3SlotContainer;\n","// import { HtmlHeadInclude } from '@msdyn365-commerce/core-internal';\r\nimport * as React from 'react';\r\nimport { IMyScriptInjectorViewProps } from './my-script-injector';\r\n\r\nexport default (props: IMyScriptInjectorViewProps) => {\r\n // const scriptContents = `window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;ga('create', 'UA-XXXXX-Y', 'auto');ga('send', 'pageview')`;\r\n // const IS_PROD_ENV = process.env.IS_PROD_ENV;\r\n return (\r\n // \r\n // {parseInt(IS_PROD_ENV || '', 10) === 1 ? (\r\n // \r\n // ) : (\r\n // \r\n // )}\r\n // \r\n <>\r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { ILdsWarnViewProps } from './lds-warn';\r\n\r\n//@ts-ignore\r\nimport { Warn } from '@churchofjesuschrist/eden-alert';\r\n\r\nexport default (props: ILdsWarnViewProps) => {\r\n const [isOpen, setIsOpen] = React.useState(true);\r\n\r\n const { textOne, textTwo, close, warnLink, link2, column, marginTop } = props.config;\r\n\r\n const onClose = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n const link = (\r\n \r\n {warnLink?.linkText}\r\n \r\n );\r\n const marginLength =\r\n marginTop && marginTop.style === 'small'\r\n ? '5px'\r\n : marginTop && marginTop.style === 'medium'\r\n ? '10px'\r\n : marginTop && marginTop.style === 'large'\r\n ? '20px'\r\n : '0px';\r\n if (isOpen) {\r\n return (\r\n
\r\n onClose() : close} style={{ width: '100%', maxWidth: '960px' }}>\r\n
\r\n
{textOne}
\r\n {warnLink && warnLink.linkText && warnLink.linkUrl.destinationUrl && link}\r\n
{textTwo}
\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return <>;\r\n }\r\n};\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport {\n INotificationComponentsList,\n INotificationComponentsListState,\n INotificationComponentType,\n NotificationComponentsListsManager,\n NotificationEvents,\n NotificationFeedType\n} from '@msdyn365-commerce-modules/notifications-core';\nimport { ArrayExtensions, ObjectExtensions, Random } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { INotificationsListProps } from './notifications-list.props.autogenerated';\n\n/**\n * View for the notifications list which specifies the container and notifications items.\n */\nexport interface INotificationsListViewProps extends INotificationsListProps<{}> {\n container: IModuleProps;\n notificationsList: React.ReactNode;\n}\n\n/**\n * Configuration to make the list stickable to the page without overlapping any content on top.\n */\nexport interface INotificationComponentStickyConfiguration {\n /**\n * Minimum offset for top (default for the page).\n */\n minTopOffset: number;\n\n /**\n * Maximum offset for top (to limit the top offset while scrolling).\n */\n maxTopOffset: number;\n}\n\n/**\n * Stickable notification list state which defines the top position of the list at the moment.\n */\nexport interface IStickableNotificationComponentsListState extends INotificationComponentsListState {\n /**\n * The top position of the list on the page.\n */\n top?: number;\n}\n\n/**\n * A notification list which is operated by notification manager.\n * It is responsible for rendering the received notifications.\n */\nexport class NotificationComponentsList extends React.Component, IStickableNotificationComponentsListState>\n implements INotificationComponentsList {\n /**\n * The class name to use.\n */\n private static readonly _className: string = 'msc-notifications-list';\n\n /**\n * The feed which the list is responsible for displaying.\n */\n public readonly feed: NotificationFeedType;\n\n /**\n * Configuration which specifies if and how the list should be stickable.\n * If undefined, the configuration will not be used at all. And list will not be stickable.\n */\n private readonly _stickyConfiguration?: INotificationComponentStickyConfiguration;\n\n /**\n * The list of notification which should be shown in the list at the moment.\n * @remarks Should be used to retrieve the latest list of notifications\n * as the list from the state is updated only after rendering.\n */\n private _notificationsComponentList: INotificationComponentType[];\n\n /**\n * Unique identifier of the list.\n * Uses format 'NotificationComponentsList-GUID';.\n */\n private _instanceId?: string;\n\n /**\n * Initializes instance with the given props.\n * @param props - The configuration of the list.\n */\n public constructor(props: INotificationsListProps<{}>) {\n super(props);\n\n this.feed = props.config.feed;\n\n if (\n !ObjectExtensions.isNullOrUndefined(props.config.minTopOffset) &&\n !ObjectExtensions.isNullOrUndefined(props.config.maxTopOffset)\n ) {\n this._stickyConfiguration = {\n minTopOffset: props.config.minTopOffset,\n maxTopOffset: props.config.maxTopOffset\n };\n }\n\n this._notificationsComponentList = [];\n\n this.state = {\n notificationsComponentList: []\n };\n\n this._handleTopUpdate = this._handleTopUpdate.bind(this);\n this._getCurrentTopPosition = this._getCurrentTopPosition.bind(this);\n }\n\n /**\n * Specifies if the component should be re-rendered.\n * @param nextProps - The next configuration the component is receiving.\n * @param nextState - The next state the component is receiving.\n * @returns True if component should be re-rendered, false if component should not be changed.\n */\n public shouldComponentUpdate(\n nextProps: Readonly>,\n nextState: Readonly\n ): boolean {\n const isPropsDifferent =\n this.feed !== nextProps.config.feed ||\n this.props.config.maxNotificationsCount !== nextProps.config.maxNotificationsCount ||\n this.props.config.maxTopOffset !== nextProps.config.maxTopOffset ||\n this.props.config.minTopOffset !== nextProps.config.minTopOffset ||\n this.props.config.className !== nextProps.config.className ||\n this.props.id !== nextProps.id;\n const isStateDifferent =\n this.state.top !== nextState.top ||\n this.state.notificationsComponentList.length !== nextState.notificationsComponentList.length ||\n this.state.notificationsComponentList.every(value =>\n nextState.notificationsComponentList.find(otherValue => otherValue.props.notification.id === value.props.notification.id)\n );\n return isPropsDifferent || isStateDifferent;\n }\n\n /**\n * Adds the current instance to the global list of instances so that it becomes available for the notification manager.\n * In case the list is specified to be stickable, also subscribes to the scroll event to update the offsets.\n */\n public componentDidMount(): void {\n NotificationComponentsListsManager.subscribe(this);\n\n this._instanceId = `NotificationComponentsList-${Random.Guid.generateGuid()}`;\n\n if (MsDyn365.isBrowser && this._stickyConfiguration !== undefined) {\n window.addEventListener('scroll', this._handleTopUpdate);\n }\n }\n\n /**\n * Remove the instance from the global list of instances so that it becomes unavailable for the notification manager.\n * Unsubscribes itself from the notification events and scroll event.\n */\n public componentWillUnmount(): void {\n NotificationComponentsListsManager.unsubscribe(this);\n\n this._notificationsComponentList.forEach(component =>\n component.props.notification.events.getValue(NotificationEvents.RemovedFromList)?.unsubscribe(this._instanceId!)\n );\n\n if (MsDyn365.isBrowser && this._stickyConfiguration !== undefined) {\n window.removeEventListener('scroll', this._handleTopUpdate);\n }\n }\n\n /**\n * Adds a new notification to the list.\n * @param {INotificationComponentType} notificationComponent Data required to render the notification. @see INotificationComponentType.\n */\n public addNotificationComponent(notificationComponent: INotificationComponentType): void {\n if (this._instanceId === undefined) {\n return;\n }\n\n if (\n !ObjectExtensions.isNullOrUndefined(this.props.config.maxNotificationsCount) &&\n this._notificationsComponentList.length >= this.props.config.maxNotificationsCount\n ) {\n throw new Error('Notifications limit reached, cannot show more notifications.');\n }\n\n // Subscribe to the remove event to filter the removed notifications out from the list.\n notificationComponent.props.notification.events.getValue(NotificationEvents.RemovedFromList)?.subscribe({\n instanceId: this._instanceId,\n handler: () => {\n notificationComponent.props.notification.events\n .getValue(NotificationEvents.RemovedFromList)\n ?.unsubscribe(this._instanceId!);\n const newList = this._notificationsComponentList.filter(component => component !== notificationComponent);\n this._notificationsComponentList = newList;\n this.setState({ notificationsComponentList: this._notificationsComponentList });\n }\n });\n\n // Prepend the notification as newest should come to the top.\n this._notificationsComponentList.unshift(notificationComponent);\n this.setState({ notificationsComponentList: this._notificationsComponentList });\n this._handleTopUpdate();\n }\n\n public render(): React.ReactNode {\n const className = classnames(\n NotificationComponentsList._className,\n `${NotificationComponentsList._className}__${this.feed}`,\n this.props.config.className\n );\n\n const viewProps: INotificationsListViewProps = {\n ...this.props,\n container: {\n moduleProps: this.props,\n className,\n id: this._instanceId,\n style: { top: this.state.top }\n },\n notificationsList: this._renderNotificationsList()\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Renders the list of notifications.\n * @returns React node with a list of notifications.\n */\n private _renderNotificationsList(): React.ReactNode {\n const hasNotifications = ArrayExtensions.hasElements(this.state.notificationsComponentList);\n const containerClassName = classnames(\n `${NotificationComponentsList._className}__scrollable`,\n hasNotifications\n ? `${NotificationComponentsList._className}__has-notifications`\n : `${NotificationComponentsList._className}__empty`\n );\n\n return (\n
\n {this.state.notificationsComponentList.map(component => {\n const ComponentClass = component.componentClass;\n return ;\n })}\n
\n );\n }\n\n /**\n * Retrieves current top offset position by looking at scroll position and rounding it to the stickable limits.\n */\n private _getCurrentTopPosition(): number | undefined {\n const configuration = this._stickyConfiguration;\n\n if (configuration === undefined) {\n return undefined;\n }\n\n let pageYOffset = 0;\n if (MsDyn365.isBrowser) {\n pageYOffset = window.pageYOffset;\n }\n\n return Math.max(Math.min(configuration.maxTopOffset, configuration.maxTopOffset - pageYOffset), configuration.minTopOffset);\n }\n\n /**\n * Updates the top offset on scroll event to make the list stickable.\n */\n private _handleTopUpdate(): void {\n const newTop = this._getCurrentTopPosition();\n this.setState({ top: newTop });\n }\n}\n\nexport default NotificationComponentsList;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ILdsTermsAndConditionsData } from './lds-terms-and-conditions.data';\r\nimport { ILdsTermsAndConditionsProps } from './lds-terms-and-conditions.props.autogenerated';\r\n\r\nexport interface ILdsTermsAndConditionsViewProps extends ILdsTermsAndConditionsProps {}\r\n\r\n/**\r\n *\r\n * LdsFooter component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LdsTermsAndConditions extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LdsTermsAndConditions;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { ILdsInfoViewProps } from './lds-info';\r\n//@ts-ignore\r\nimport { Info } from '@churchofjesuschrist/eden-alert';\r\n\r\nexport default (props: ILdsInfoViewProps) => {\r\n const [isOpen, setIsOpen] = React.useState(true);\r\n\r\n const { textOne, textTwo, close, infoLink, link2, column, marginTop } = props.config;\r\n\r\n const onClose = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n const link = (\r\n \r\n {infoLink?.linkText}\r\n \r\n );\r\n const marginLength =\r\n marginTop && marginTop.style === 'small'\r\n ? '5px'\r\n : marginTop && marginTop.style === 'medium'\r\n ? '10px'\r\n : marginTop && marginTop.style === 'large'\r\n ? '20px'\r\n : '0px';\r\n if (isOpen) {\r\n return (\r\n
\r\n onClose() : close} style={{ width: '100%', maxWidth: '960px' }}>\r\n
\r\n
{textOne}
\r\n {infoLink && infoLink.linkText && infoLink.linkUrl.destinationUrl && link}\r\n
{textTwo}
\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return <>;\r\n }\r\n};\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent } from '@msdyn365-commerce/core';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport * as React from 'react';\nimport { Container, HeadingComponent, IHeadingComponentProps } from '../../components/base-components';\nimport { colWidths } from '../../utils/classnames';\nimport { IDefaultContainerData } from './default-container.data';\nimport { childrenWidth as childrenWidthEnum, IDefaultContainerProps, layout as layoutEnum } from './default-container.props.autogenerated';\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent>}\n */\nclass DefaultContainer extends React.PureComponent> {\n constructor(props: IDefaultContainerProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, config, data } = this.props;\n telemetry.log(LogLevel.Debug, \"Default Container rendering for '{id}/{typeName}'\", {\n values: [this.props.id, this.props.typeName]\n });\n\n const heading = config.heading || data.heading;\n const headingProps: IHeadingComponentProps = {\n ...heading,\n handleTextChange: this.handleTextChange,\n requestContext: this.props.context.request\n };\n\n return (\n \n {heading && }\n {slots &&\n slots.content &&\n slots.content.map((children: React.ReactNode, index: number) => {\n return (\n
\n {children}\n
\n );\n })}\n \n );\n }\n\n public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.headingText = event.target.value);\n\n private _getChildColClassName(): string {\n const {\n config: { layout, childrenWidth }\n } = this.props;\n switch (layout) {\n case layoutEnum.flow:\n return childrenWidth === childrenWidthEnum.auto ? 'col-12 col-md' : this._getWidthClass(childrenWidth);\n case layoutEnum.stacked:\n default:\n return 'col-12';\n }\n }\n\n private _getWidthClass(s?: childrenWidthEnum): string {\n return colWidths.get(s || childrenWidthEnum.four) || 'col-12';\n }\n}\n\nexport default DefaultContainer;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ILdsTermsAndConditionsViewProps } from './lds-terms-and-conditions';\r\nimport { lDSPublisherPolicyAsync } from '../../actions/DataActionExtension.g';\r\n\r\nconst ContentBlockView: React.FC = props => {\r\n const [currentPolicyData, setCurrentPolicyData] = React.useState();\r\n\r\n const getPolicy = async () => {\r\n const ctx = { callerContext: props.context.actionContext };\r\n const currentPolicy =\r\n props.context.request.query && props.context.request.query.policy\r\n ? props.context.request.query.policy\r\n : 'Sales & Refund Terms and Conditions';\r\n\r\n const findPolicy = await lDSPublisherPolicyAsync(ctx, currentPolicy);\r\n\r\n if (findPolicy) {\r\n setCurrentPolicyData(findPolicy);\r\n }\r\n\r\n return findPolicy;\r\n };\r\n\r\n React.useEffect(() => {\r\n void getPolicy();\r\n }, [props.data]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ContentBlockView;\r\n"],"names":["NotificationsListView","props","React","Module","Object","assign","container","notificationsList","LdsStaplesMessage","render","this","renderView","MyScriptInjector","sizePattern","getColumnSizes","config","size","exec","cols","split","slice","translatedSize","prefix","toLowerCase","translatePrefix","sizePrefix","map","colWidth","showErrors","context","isDebug","isEditor","request","params","getColClassArray","options","xsmall","small","medium","large","filter","Boolean","colWidths","Map","Default2SlotContainer","PureComponent","constructor","super","handleTextChange","event","heading","headingText","target","value","_getColClassName","classNames","length","reduce","memo","_ref","left","right","push","slots","telemetry","data","log","LogLevel","Debug","values","id","typeName","content","slotsClassNames","Warning","headingProps","_objectSpread","requestContext","createElement","Container","containerType","className","backgroundImage","backgroundImageRepeat","backgroundImageSize","moduleLayout","msdyn365__moduleLayout","backgroundColor","HeadingComponent","join","Fragment","slot","index","key","DefaultPageContainer","skipToMainText","app","platform","tabIndexSkipToMain","isEditorialMode","actionContext","href","tabIndex","header","children","subheader","primary","subfooter","footer","Spacer","spacerClass","spacerHeight","viewProps","classnames","LdsWarn","isVisible","setIsVisible","user","isAuthenticated","unitOrder","paymentTypes","result","payment","ACCOUNTNUM","dangerouslySetInnerHTML","__html","defaultStaplesMessage","signedInStaplesMessage","DefaultPageSummary","undefined","pageSummary","Error","title","description","keywords","sharingImageUrl","faviconUrl","canonicalUrl","sharingImage","src","pageTitle","_constructPageTitle","HtmlHeadInclude","name","rel","disableOgTags","_renderOgTags","disableTwitterTags","_renderTwitterTags","property","moduleConfig","ignoreTitleSuffixPrefix","appConfig","pageTitlePrefix","pageTitleSuffix","getBackgroundRepeatProperty","repeat","getBackgroundSizeProperty","buildBackgroundImageStylesByViewport","_request$gridSettings","image","configs","gridSettings","imageSettings","styles","largestGridSettingViewportName","getLargestGridSettingViewportName","authoringViewPorts","getAuthoringViewport","moduleName","layout","msdyn365Commerce","isBrowser","authoringHelper","window","_msdyn365","constructViewportInformationForImage","themeSettings","imgSettings","viewports","_cloneDeep2","xs","w","h","sm","md","lg","xl","skipWidthAndHeightSettings","keys","vp","_imgSettings$viewport","viewport","minMaxWidth","getMinMaxWidth","urlSrc","getImageResizeUrl","externalProvider","apiSettings","maxWidth","max","minWidth","min","minHeight","backgroundRepeat","backgroundSize","backgroundPosition","setStyleAttribute","currentStyle","style","getDataBgSetAttribute","dataBgSetAttributes","BackgroundImage","state","stylesByViewport","_onChangeHandler","bind","_getCurrentStyle","mounted","_componentResize","updateAttributes","componentDidMount","addEventListener","componentWillUnmount","removeEventListener","shouldComponentUpdate","nextProps","nextState","_this$props$request","_nextProps$request","_this$props$image","_nextProps$image","_this$props$image2","_nextProps$image2","backgroundImageClassName","isAuthoringEditEnabled","processedAtributes","_processAttributes","_isLazyload","attributes","_getAttributes","eventHandlers","onDoubleClick","_getDefaultAttributes","_unused","lazyLoad","getBackgroundImageLazyloadAttributes","role","getBackgroundImageAttributes","currentTarget","binding","eventTarget","$type","selectedStyle","_isEqual2","setState","winInnerWidth","innerWidth","_this$stylesByViewpor","_this$stylesByViewpor2","_this$stylesByViewpor3","_this$stylesByViewpor4","Number","MAX_SAFE_INTEGER","_getDefaultStyle","_this$props$image3","disableLazyLoad","getContainerType","customClassName","containerContent","containerStyle","tag","textSize","Tag","classNameWithHeading","Text","text","editProps","onEdit","SpacerView","renderModuleAttributes","isOpen","setIsOpen","textOne","textTwo","close","errorLink","link2","column","marginTop","link","linkUrl","destinationUrl","alignSelf","linkText","marginLength","width","display","justifyContent","onClose","flexDirection","marginRight","marginLeft","LdsUnitHistoryTile","pageLink","unitOrderLink","resources","Default3SlotContainer","center","warnLink","Warn","NotificationComponentsList","Component","feed","ObjectExtensions","isNullOrUndefined","minTopOffset","maxTopOffset","_stickyConfiguration","_notificationsComponentList","notificationsComponentList","_handleTopUpdate","_getCurrentTopPosition","isPropsDifferent","maxNotificationsCount","isStateDifferent","top","every","find","otherValue","notification","NotificationComponentsListsManager","subscribe","_instanceId","Random","Guid","generateGuid","MsDyn365","unsubscribe","forEach","component","_component$props$noti","events","getValue","NotificationEvents","RemovedFromList","addNotificationComponent","notificationComponent","_notificationComponen","instanceId","handler","_notificationComponen2","newList","unshift","_className","moduleProps","_renderNotificationsList","hasNotifications","ArrayExtensions","hasElements","containerClassName","maxHeight","ComponentClass","componentClass","configuration","pageYOffset","Math","newTop","LdsTermsAndConditions","infoLink","Info","DefaultContainer","_getChildColClassName","childrenWidth","_getWidthClass","s","get","ContentBlockView","currentPolicyData","setCurrentPolicyData","async","ctx","callerContext","currentPolicy","query","policy","findPolicy","lDSPublisherPolicyAsync","getPolicy","HTMLContent"],"sourceRoot":""}