{"version":3,"file":"static/js/61ac80ee4bb1062c1e78.bundle.js","mappings":";wtBAAA,MAAMA,EAAU,CAAEC,QAAS,GAAIC,YAAa,IAmBlCC,EAA8B,CAACC,EAAqBC,KAUlD,GADAL,EAAQE,YAAYE,GAAuBC,GACtCL,EAAQE,YAAYE,GAAqBE,QAC1C,MAAM,IAAIC,MAAM,oBAAsBH,EAAsB,mCAEhEJ,EAAQE,YAAYE,GAAqBE,QAAQE,UAAUC,eAAiBL,EACxEJ,EAAQE,YAAYE,GAAqBE,QAAQE,UAAUE,KAC3DV,EAAQE,YAAYF,EAAQE,YAAYE,GAAqBE,QAAQE,UAAUE,IAAMN,IAMhGJ,EAAQC,QAAQ,sBAAwB,CACrCU,EAAG,IAAMC,EAAQ,MACjBC,MAAO,gBACPC,GAAI,CAAC,CAACC,KAAK,8BAAgCC,KAAK,+FAAgGC,MAAO,GAAG,CAACF,KAAK,eAAiBC,KAAK,uEAAwEC,MAAO,GAAG,CAACF,KAAK,cAAgBC,KAAK,sEAAuEC,MAAO,GAAG,CAACF,KAAK,iBAAmBC,KAAK,4GAA6GC,MAAO,GAAG,CAACF,KAAK,cAAgBC,KAAK,gFAAiFC,MAAO,IAE5nBC,KAAK,EACLC,GAAI,6BACJC,EAAG,qBACHC,EAAG,mBAEHC,IAAK,GAGLC,GAAI,gGAOApB,EAF4B,4GACXS,EAAQ,OAQzBT,EAF4B,gFACXS,EAAQ,MAQzBT,EAF4B,+FACXS,EAAQ,KAQzBT,EAF4B,uEACXS,EAAQ,KAQzBT,EAF4B,sEACXS,EAAQ,MAMjCY,OAAOC,aAAeD,OAAOC,cAAgB,GAC7CD,OAAOC,aAAaxB,QAAO,OACpBuB,OAAOC,aAAaxB,SAAW,IAC/BD,EAAQC,SAGXuB,OAAOC,aAAavB,YAAW,OAC5BsB,OAAOC,aAAavB,aAAe,IACnCF,EAAQE,aAEY,MAAMwB,EAAiB,GAC9BA,EAAe,6FAA+F,CACtHf,EAAG,IAAMC,EAAQ,MACjBe,GAAI,kEAEpBH,OAAOC,aAAeD,OAAOC,cAAgB,GAC7CD,OAAOC,aAAaC,eAAc,OACPF,OAAOC,aAAaC,gBAAkB,IACtCA,gPCtEfE,2CAAZ,SAAYA,GACRA,EAAAA,WAAAA,aACAA,EAAAA,YAAAA,cAFJ,CAAYA,IAAAA,EAAU,KAwCf,MAAMC,EAOTC,YAAYC,EAAmBC,EAAiBC,GAUzC,KAAAC,YAAc,KAAMC,EAAAA,EAAAA,eAAc,uCAAwCC,KAAKH,aAM/E,KAAAI,mBAAqB,IAAM,wCAAwCD,KAAKL,aAAaK,KAAKJ,UAM1F,KAAAM,cAAgB,IAAiB,UArBpCF,KAAKL,UAAYA,EACjBK,KAAKJ,QAAUA,EACfI,KAAKH,YAAcA,GA+CpBM,eAAeC,EAClBC,EACAC,GAEA,IAAKA,EACD,MAAM,IAAInC,MAAM,2FAGpB,MAAM,UAAEwB,EAAS,QAAEC,GAAYS,EAE/B,IAAKV,IAAcC,EAEf,OADAU,EAAQC,MAAM,qFACoB,GAGtC,MAAMC,QArGY,WAAH,IAAIb,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAoB,GAAIC,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAkB,GAAE,OAAKO,MAAAA,GAM7DR,IAAcH,EAAWgB,YAC1BC,EAAAA,EAAAA,oCAAmC,CAAEC,cAAeJ,GAAWV,IAC/De,EAAAA,EAAAA,0CAAyC,CAAED,cAAeJ,GAAWV,EAHvD,GAgGKgB,CAAcjB,EAAWC,EAAzBgB,CAAkCN,GAE3D,IAAKE,EAED,OADAF,EAAQC,MAAM,4DACoB,GAItC,GAAIC,EAAWK,uBAAyBC,EAAAA,gBAAgBC,aACpD,MAAO,CACHP,WAAAA,EACAQ,SAAU,IAIlB,IAAKC,EAAAA,gBAAgBC,YAAYV,EAAWW,YAExC,OADAb,EAAQC,MAAM,2DACoB,GAGtC,MAAMa,EAAaZ,EAAWW,WAAWE,KAAIC,IAAS,aAAuB,QAAvB,EAAIA,EAAUC,iBAAS,QAAI,MAEjF,IAAKN,EAAAA,gBAAgBC,YAAYE,GAE7B,OADAd,EAAQC,MAAM,uEACoB,GAGtC,MAAMS,QA/GU,WAAH,IAAII,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAkC,GAAII,EAAkB,8CAAKrB,MAAAA,IAG9E,MAAMsB,EAAgBL,EAAWC,KAC7BK,GAAa,IAAIC,EAAAA,aAAaD,EAAWpB,EAAQsB,eAAe/B,YAAa2B,OAAWK,EAAWvB,EAAQsB,kBAE/G,OAAOE,EAAAA,EAAAA,mBAAkBL,EAAenB,IAyGjByB,CAAYX,EAAYZ,EAAWwB,UAAnCD,CAA8CzB,GAErE,IAAKW,EAAAA,gBAAgBC,YAAYF,GAE7B,OADAV,EAAQC,MAAM,iEACoB,GAGtC,MAAM0B,EAAgBjB,EAASkB,QAAOC,IAAYC,EAAAA,iBAAiBC,kBAAkBF,EAAQG,YAkB7F,MAAkC,CAC9B9B,WAAAA,EACAQ,SAAAA,EACAuB,sBAnB0BC,EAAAA,EAAAA,yBAC1B,CAAE9B,cAAeJ,EAASmC,oBAAqBC,EAAAA,yBAAyBC,qCAAqCrC,IAC7G2B,EAAcZ,KAAIc,GAAWA,EAAQG,WACrC,GAJiB,GAOhBM,MAAKC,GACKA,IAEVC,OAAOC,IAIJ,MAHAzC,EAAQC,MAAMwC,EAAMC,SACpB1C,EAAQ2C,UAAUC,UAAUH,GAC5BzC,EAAQ2C,UAAUE,MAAM,8DAClB,IAAIhF,MAAM,kEAiBrB,MAAMiF,GAA0DC,EAAAA,EAAAA,IAA2B,CAC9F/E,GAAI,2FACJgF,OAA4ClD,EAC5CC,MAxGqDkD,IACrD,MAAM,QAAEC,EAAU,GAAE,cAAEC,EAAgB,IAAOF,EAAU3B,eAAe8B,OAAS,GAC/E,GAAIF,EACA,OAAO,IAAI/D,EAA6CD,EAAWgB,WAAYgD,EAASD,EAAU3B,eAAe/B,aAC9G,GAAI4D,EACP,OAAO,IAAIhE,EACPD,EAAWmE,YACXF,EACAF,EAAU3B,eAAe/B,aAGjC,MAAM,IAAI1B,MAAM,8FAgGpB,yGCpNO,MAAMyF,GAAyBP,EAAAA,EAAAA,IAA2B,CAC7DC,OAA+BO,EAAAA,aAC/BxD,MAAO,KAAMyD,EAAAA,EAAAA,2BAA0B,MAG3C,2DCRO,MAAMC,EAA2B,IAMb,IANc,cACrCC,EAAa,oBACbC,EAAmB,cACnBC,EAAa,yBACbC,EAAwB,iBACxBC,GACY,EACZ,MAAMC,GAAUC,EAAAA,EAAAA,kBAAiB,QAASF,EAAmB,IACvDG,GAAYC,EAAAA,EAAAA,wBAAuBJ,EAAmBC,GAC5D,MAAO,CACHI,UAAW,CAAEC,UAAW,+BACxBV,cAAeW,EAAAA,cAAAA,IAAAA,CAAGD,UAAU,qCAAqCV,GACjEC,oBAAqBU,EAAAA,cAAAA,OAAAA,CAAMD,UAAU,qCAAqCT,GAC1EC,cACIS,EAAAA,cAAAA,IAAAA,OAAAA,OAAAA,CACID,UAAU,6CAA4C,aAC1C,GAAGP,KAA4BD,IAC3CU,KAAM,OAAOV,KACTK,GAEHL,6DCbjB,MAAMW,EAAiD,QAAC,KAAElG,EAAI,MAAEmG,EAAK,MAAEC,EAAQ,EAAC,aAAEC,GAAc,SAC5FL,EAAAA,cAAAA,IAAAA,CAAGD,UAAW,6CAA6C/F,KACvDgG,EAAAA,cAAAA,OAAAA,CAAMD,UAAU,8CAA8CI,GAC7DE,EACGL,EAAAA,cAACM,EAAAA,eAAc,iBACPD,EAAY,CAChBN,UAAU,6CACVQ,KAAM,CAAEC,MAAO,CAAEC,wBAAyBL,OAG9CJ,EAAAA,cAAAA,OAAAA,CAAMD,UAAU,8CAA8CK,KAK7DM,EAAmC,IAeL,IAfM,MAC7CC,EAAK,aACLN,EAAY,aACZO,EACAC,UAAU,oBACNC,EAAmB,4BACnBC,EAA2B,6BAC3BC,EAA4B,qBAC5BC,EAAoB,4BACpBC,EAA2B,kBAC3BC,GACH,QACDC,EAAO,qBACPC,EAAoB,iBACpBC,GACoB,EACpB,MAAMC,EAAWF,GAAwBC,EAAmBX,EAAMa,yBAA2Bb,EAAMc,eAC7FC,OAAoDxE,IAA9ByD,EAAMgB,oBAAoChB,EAAMgB,oBAAsB,EAC5FC,OAAsD1E,IAA/ByD,EAAMkB,qBAAqClB,EAAMkB,qBAAuB,EAM/FC,EACFT,IAAyBC,EAAmBM,EAAuBF,EAAsBf,EAAMkB,qBACnG,MAAO,CACHE,kBAAmB,CAAEhC,UAAW,wCAChCiC,QAAShC,EAAAA,cAAAA,IAAAA,CAAGD,UAAU,gDAAgDe,GACtEmB,SAAUjC,EAAAA,cAACE,EAAgB,CAAClG,KAAK,WAAWmG,MAAOY,EAA6BX,MAAOmB,EAAUlB,aAAcA,IAC/G6B,SAAUd,EACNpB,EAAAA,cAACE,EAAgB,CAAClG,KAAK,WAAWmG,MAAOa,EAA8BZ,MAAO0B,EAAgBzB,aAAcA,IAE5G,GAEJ8B,IAAKb,EACDtB,EAAAA,cAACE,EAAgB,CAAClG,KAAK,aAAamG,MAAOc,EAAsBb,MAAOO,EAAMyB,UAAW/B,aAAcA,IAEvG,GAEJgC,YACIrC,EAAAA,cAACE,EAAgB,CACblG,KAAK,eACLmG,MAAOe,EACPd,MAAOO,EAAM2B,YACbjC,aAAcA,IAGtBO,aAAcA,EAAeZ,EAAAA,cAACE,EAAgB,CAAClG,KAAK,gBAAgBmG,MAAOgB,EAAmBf,MAAOQ,SAAmB1D,oECrEzH,MAAMqF,EAAqC,IAaN,IAbO,aAC/ClC,EAAY,YACZmC,EAAW,uBACXC,EACA5B,UAAU,oBACN6B,EAAmB,sBACnBC,EAAqB,oBACrBC,EAAmB,mBACnBC,EAAkB,qBAClBC,EAAoB,cACpBC,EAAa,yBACbC,IAEe,EACnB,MAAMC,EAAmB,WAAH,IAAIC,EAAM,uDAAG,GAAE,OAAKA,EAAOC,QAAQ,IAsGzD,MAAO,CACHC,oBAAqB,CAAErD,UAAW,0CAClCsD,MAAOrD,EAAAA,cAAAA,MAAAA,CAAKD,UAAU,gDAAgD2C,GACtEY,QAASd,EAAYe,QAAO,CAACC,EAA0BC,KACnD,IAAKA,EAAWC,aACZ,OAAOF,EAEX,OAAQf,EAAuBgB,EAAWC,eACtC,KAAKC,EAAAA,gBAAgBC,QACjBJ,EAAMK,KA7GN,SAACJ,GAAuD,IAA/BK,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAAAA,UAAAA,GACrC,MAAMC,EAAoBd,EAAiBQ,EAAWO,kBAGhDC,EAAoBF,IAAsBG,MAAMH,GAChDI,GAAUV,EAAWW,kBAAoB,GAAK,EAAIX,EAAWW,iBAAmBX,EAAWY,OAC3FC,KAAuBR,GAAcK,GAAUA,EAAS,GAE9D,OACInE,EAAAA,cAAAA,MAAAA,CAAKD,UAAU,8CAA8CwE,IAAKd,EAAWC,cACzE1D,EAAAA,cAAAA,IAAAA,CAAGD,UAAU,+CACR,GAAG0D,EAAWe,cAAcP,EAAoB,GAAGtB,KAAyBoB,IAAsB,MAEtGO,GACGtE,EAAAA,cAAAA,IAAAA,CAAGD,UAAU,2DACR8C,EACD7C,EAAAA,cAACM,EAAAA,eAAc,iBACPD,EAAY,CAChBN,UAAU,qDACVQ,KAAM,CAAEC,MAAO,CAAEC,wBAAyB0D,GAAU,SA0FjDM,CAAQhB,EAAYjB,EAAYkC,OAAS,IACpD,MACJ,KAAKf,EAAAA,gBAAgBgB,mBACjBnB,EAAMK,KArFMJ,CAAAA,GACxBzD,EAAAA,cAAAA,MAAAA,CAAKD,UAAU,8CAA8CwE,IAAKd,EAAWC,cACzE1D,EAAAA,cAAAA,IAAAA,CAAGD,UAAU,2DACR6C,EACA,IACAK,EAAiBQ,EAAWmB,aAEjC5E,EAAAA,cAAAA,IAAAA,CAAGD,UAAU,gEACR8C,EACD7C,EAAAA,cAACM,EAAAA,eAAc,iBACPD,EAAY,CAChBN,UAAU,0DACVQ,KAAM,CAAEC,MAAO,CAAEC,wBAAyBgD,EAAWY,QAAU,SAyEpDQ,CAAmBpB,IAC9B,MACJ,KAAKE,EAAAA,gBAAgBmB,WACjBtB,EAAMK,KAtEFJ,CAAAA,GAChBzD,EAAAA,cAAAA,MAAAA,CAAKD,UAAU,8CAA8CwE,IAAKd,EAAWC,cACzE1D,EAAAA,cAAAA,IAAAA,CAAGD,UAAU,yDACR+C,EACA,IACAW,EAAWsB,eAEhB/E,EAAAA,cAAAA,IAAAA,CAAGD,UAAU,8DACR8C,EACD7C,EAAAA,cAACM,EAAAA,eAAc,iBACPD,EAAY,CAChBN,UAAU,wDACVQ,KAAM,CAAEC,MAAO,CAAEC,wBAAyBgD,EAAWY,QAAU,SA0DpDW,CAAWvB,IACtB,MACJ,KAAKE,EAAAA,gBAAgBsB,QACjBzB,EAAMK,KAvDLJ,CAAAA,GACbzD,EAAAA,cAAAA,MAAAA,CAAKD,UAAU,8CAA8CwE,IAAKd,EAAWC,cACzE1D,EAAAA,cAAAA,IAAAA,CAAGD,UAAU,+CAA+CgD,GAC5D/C,EAAAA,cAAAA,IAAAA,CAAGD,UAAU,2DACR8C,EACD7C,EAAAA,cAACM,EAAAA,eAAc,iBACPD,EAAY,CAChBN,UAAU,qDACVQ,KAAM,CAAEC,MAAO,CAAEC,wBAAyBgD,EAAWY,QAAU,SA+CpDa,CAAQzB,IACnB,MACJ,KAAKE,EAAAA,gBAAgBwB,mBACjB3B,EAAMK,KAvCaJ,CAAAA,IAAsB,aACrDzD,EAAAA,cAAAA,MAAAA,CAAKD,UAAU,8CAA8CwE,IAAKd,EAAWC,cACzE1D,EAAAA,cAAAA,IAAAA,CAAGD,UAAU,2DACRiD,EACA,IACAS,EAAW2B,YAEhBpF,EAAAA,cAAAA,IAAAA,CAAGD,UAAU,gEACR8C,EACD7C,EAAAA,cAACM,EAAAA,eAAc,iBACPD,EAAY,CAChBN,UAAU,iEACVQ,KAAM,CAAEC,MAAO,CAAEC,wBAA0C,QAAnB,EAAEgD,EAAWY,cAAM,QAAI,UA2BpDgB,CAA0B5B,IAM7C,OAAOD,IACR,2yBC5FX,MAAM8B,UAA0BtF,EAAAA,cAO5BjF,YAAYwK,GACRC,MAAMD,GAPO,KAAAE,WAAqB,wBAwT/B,KAAAC,qCAAwCC,GAC1CtK,KAAKkK,MAAMK,OAAO5D,QAAS6D,KAAOF,EAAMG,OAAO1F,MAEnC,KAAA2F,gBAAkB,SAC/BpJ,GAIA,UAHAqJ,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAAAA,UAAAA,GACAC,EAAgE,uCAChEC,EAA2B,uCAE3B,OAAKF,EAGEC,MAAAA,GAAoD,QAAzB,EAA3BA,EAA6BE,+BAAuB,WAAzB,EAA3B,EAAsDC,MAAKC,GAAgBA,IAAiB1J,EAAU2J,eAFlGJ,GA1TX7K,KAAKoE,kBAAmB8G,EAAAA,EAAAA,oBACpBlL,KAAKkK,MAAM5J,QAAQ6K,QAAQC,kBAC3BpL,KAAKkK,MAAMmB,aACXrL,KAAKkK,MAAMjH,WAEf,MAAMoB,GAAUC,EAAAA,EAAAA,kBAAiB,QAAStE,KAAKoE,iBAAkBkH,EAAAA,kBAAkBC,gBACnFvL,KAAKwL,0BAA2BhH,EAAAA,EAAAA,wBAAuBxE,KAAKoE,iBAAkBC,GAGxE,uBACN,QAAKrE,KAAKsF,OAGHtF,KAAKsF,MAAMtD,YAAcyJ,GAAAA,CAAIzL,KAAKkK,MAAO,yCAG1C,kBACN,MAAyD,YAAlDuB,GAAAA,CAAIzL,KAAKkK,MAAO,8BAGjB,eACN,MAAyD,WAAlDuB,GAAAA,CAAIzL,KAAKkK,MAAO,8BAGjB,YACN,OAAOuB,GAAAA,CAAIzL,KAAKkK,MAAO,yCAGjB,eACN,OAAOuB,GAAAA,CAAIzL,KAAKkK,MAAO,wCAA0C,GAG3D,sBACN,OAAOuB,GAAAA,CAAIzL,KAAKkK,MAAO,+CAAiD,GAGlE,mBACN,MAAM,GACF5L,EAAE,SACFoN,EAAQ,QACRpL,EAAO,UACP2C,EACA0I,WAAW,cAAEC,IACb5L,KAAKkK,MACT,MAAO,CACH5L,GAAAA,EACAoN,SAAAA,EACApL,QAAAA,EACA2C,UAAAA,EACA2I,cAAAA,GAIE,mBACN,MAAMC,EAAc7L,KAAKkK,MAAMhF,KAAK2G,YAAYhJ,OAChD,GAAIgJ,GAAeA,EAAYC,cAAgB9L,KAAKsF,MAAO,CACvD,MAAMyG,EAAgB,IAAIC,IAAIH,EAAYC,aAAazK,KAAI4K,GAASA,EAAMC,iBACpEC,EAAcnM,KAAKsF,MAAM8G,yBAA2B,GAC1D,IAAIC,EAAQ,EAMZ,OALAF,EAAYG,SAAQC,KACXA,EAAKC,2BAA6B,GAAK,GAAKT,EAAcU,IAAIF,EAAKL,iBACpEG,GAASE,EAAKC,8BAGfH,EAEX,OAAO,EAGD,wBAAqB,YAC3B,IAAKrM,KAAKsF,MACN,OAEJ,MAAM,QAAE6F,GAAYnL,KAAKkK,MAAM5J,SAEzB,4BAAEsK,EAA2B,aAAE8B,GAA2B,QAAb,EAAG1M,KAAKkK,aAAK,aAAV,EAAYhF,KAC5DyH,EAAoCD,MAAAA,GAAoB,QAAR,EAAZA,EAAc7J,cAAM,OAA2D,QAA3D,EAApB,EAAsBkI,MAAK6B,GAF/B,oEAEuCA,EAAKC,cAAuC,WAAnE,EAAZ,EACpCC,UACAC,EAAyB5B,GAAWA,EAAQ6B,SAAW7B,EAAQ6B,QAAQC,uBACvEC,EAAwB/B,GAAWA,EAAQ6B,SAAW7B,EAAQ6B,QAAQG,sBACtEC,EAA8B,QAAb,EAAGpN,KAAKsF,aAAK,aAAV,EAAYnE,WAChC4E,EAAUqH,MAAAA,OAAiB,EAAjBA,EAAmBC,MAAKC,GACpCA,EAAiBrC,cAAkD,KAAlCqC,EAAiBrC,aAC5CqC,EAAiBrC,eACbjL,KAAK0K,gBACD4C,EACAX,EACA/B,MAAAA,OAA2B,EAA3BA,EAA6B/H,OAC7BkK,IACCO,EAAiBrC,eAAiBiC,EAC3CI,IAGJC,GAA2F,IAAlEpC,EAAQqC,IAAIjD,OAAOkD,4CAG9C9B,WAAW,oBACPlG,EAAmB,4BACnBC,EAA2B,6BAC3BC,EAA4B,qBAC5BC,EAAoB,4BACpBC,EAA2B,kBAC3BC,IAEJ9F,KAAKkK,MACT,MAAO,CACH5E,MAAOtF,KAAKsF,MACZC,aAAcvF,KAAKuF,aACnBP,aAAchF,KAAKgF,aACnBQ,SAAU,CACNC,oBAAAA,EACAC,4BAAAA,EACAC,6BAAAA,EACAC,qBAAAA,EACAE,kBAAAA,EACAD,4BAAAA,GAEJE,QAAAA,EACAC,qBAAsBhG,KAAKsF,MAAMoI,qBACjCzH,iBAAkBsH,GAIhB,0BACN,MAAMI,EAAc3N,KAAKkK,MAAMhF,KAAKyI,YAAY9K,OAChD,IAAK7C,KAAKsF,QAAUtF,KAAKsF,MAAMsI,cAAgBD,EAC3C,OAGJ,MAAME,EAASpC,GAAAA,CAAIzL,KAAKkK,MAAO,2BAA6B,SAGxDyB,WAAW,oBACPtE,EAAmB,sBACnBC,EAAqB,oBACrBC,EAAmB,mBACnBC,EAAkB,cAClBE,EAAa,qBACbD,EAAoB,yBACpBE,IAEJ3H,KAAKkK,MAET,MAAO,CACHlF,aAAchF,KAAKgF,aACnBmC,YAAanH,KAAKsF,MAAMsI,YACxBxG,wBAAwB0G,EAAAA,EAAAA,IAA0BH,GAClDE,OAAAA,EACArI,SAAU,CACN6B,oBAAAA,EACAC,sBAAAA,EACAC,oBAAAA,EACAC,mBAAAA,EACAE,cAAAA,EACAD,qBAAAA,EACAE,yBAAAA,IAKLoG,SAAM,UACT,MACIpC,WAAW,iBACPqC,EAAgB,oBAChBC,EAAmB,cACnBjK,EAAa,oBACbC,EAAmB,aACnBiK,EAAY,eACZC,EAAc,eACdC,EAAc,gBACdC,EAAe,kBACfC,EAAiB,kBACjBC,EAAiB,qBACjBC,EAAoB,uBACpBC,EAAsB,yBACtBtK,EAAwB,iBACxBuK,EAAgB,mBAChBC,GAEJpE,QAAQ,QAAE5D,EAAO,cAAEzC,EAAa,iBAAE0K,EAAgB,aAAEC,IACpD7O,KAAKkK,MAEH4E,EAAc,CAAEA,YAAa9O,KAAKkK,MAAOxF,UAAWqK,GAAAA,CAAU,wBAAyB/O,KAAKkK,MAAMK,OAAO7F,YACzGsK,EAAoBC,EAAAA,GAAoB,OAAQjP,KAAKkK,MAAM5J,QAAQ4O,gBAAkB,IAErF,4BAAEtE,EAA2B,aAAE8B,GAA2B,QAAb,EAAG1M,KAAKkK,aAAK,aAAV,EAAYhF,KAC5DyH,EAAoCD,MAAAA,GAAoB,QAAR,EAAZA,EAAc7J,cAAM,OAA2D,QAA3D,EAApB,EAAsBkI,MAAK6B,GAF/B,oEAEuCA,EAAKC,cAAuC,WAAnE,EAAZ,EACpCC,UAEN,IAAIqC,EAAS,OACNnP,KAAKkK,OAAK,IACb4E,YAAAA,EACAnI,QAASA,GAAWA,EAAQ6D,MACxB7F,EAAAA,cAACsK,EAAAA,GAAa,iBACNtI,EAAO,CACXjC,UAAU,iCACV8F,KAAM7D,EAAQ6D,KACd4E,IAAKzI,EAAQyI,KAAO,KACpBC,UAAW,CAAEC,OAAQtP,KAAKqK,qCAAsCzI,eAAgB5B,KAAKkK,MAAM5J,QAAQ6K,YAG3GoE,mBAAoBP,GAChBrK,EAAAA,cAAC6K,EAAAA,OAAM,eAAC9K,UAAU,2CAA2CE,KAAMoK,GAAuBhP,KAAKwL,0BAC1F2C,GAGTsB,YAAa,CAAE/K,UAAW,mCAG9B,GAAI1E,KAAK0P,SAKL,OAJAP,EAAS,OACFA,GAAS,IACZQ,MAAOhL,EAAAA,cAACiL,EAAAA,EAAK,CAAClL,UAAU,+BAA+BI,MAAOmJ,MAE3DjO,KAAKkK,MAAM2F,WAAWV,GAGjC,IAAKnP,KAAK8P,YAKN,OAJAX,EAAS,OACFA,GAAS,IACZY,QAASpL,EAAAA,cAACiL,EAAAA,EAAK,CAAClL,UAAU,iCAAiCI,MAAOoJ,MAE/DlO,KAAKkK,MAAM2F,WAAWV,GAGjC,IAAKnP,KAAKsF,MAKN,OAJA6J,EAAS,OACFA,GAAS,IACZQ,MAAOhL,EAAAA,cAACiL,EAAAA,EAAK,CAAClL,UAAU,+BAA+BI,MAAOkJ,MAE3DhO,KAAKkK,MAAM2F,WAAWV,GAGjC,MAAMa,EAAiBhQ,KAAKsF,MAAMzE,uBAAyBC,EAAAA,gBAAgBC,aAErEkP,GAAkBC,EAAAA,EAAAA,GACpBlQ,KAAKkK,MACLlK,KAAKoK,WACLpK,KAAKsF,MACLtF,KAAKgB,SACLhB,KAAKgF,cACL,EACA6J,OACAhN,EACA8K,EACA/B,MAAAA,OAA2B,EAA3BA,EAA6B/H,OAC7B7C,KAAKuC,iBAEH4N,EAAaF,IAAmBG,EAAAA,EAAAA,GAAcH,GAC9CI,GAAwBC,EAAAA,EAAAA,IAC1BtQ,KAAKkK,MACLlK,KAAKoK,WACLpK,KAAKsF,MACLtF,KAAKgF,kBACLnD,OACAA,OACAA,EACAmO,EACApB,MAAAA,GAAAA,GAEE2B,GAAkBC,EAAAA,EAAAA,IAAoBH,GAyC5C,OAvCAlB,EAAS,OACFA,GAAS,IACZ3O,WAAYR,KAAKsF,MACjBiL,gBAAAA,EACAJ,WAAAA,EACAM,QACKT,GAAkBG,GACbO,EAAAA,EAAAA,GAAU,CACNtG,WAAYpK,KAAKoK,WACjB+F,WAAAA,EACAxE,UAAW,CACPyC,eAAAA,EACAC,gBAAAA,EACAC,kBAAAA,EACAC,kBAAAA,EACAC,qBAAAA,EACAC,uBAAAA,EACAC,iBAAAA,EACAC,mBAAAA,GAEJE,aAAAA,EACA8B,oBAAoB,EACpBhE,kCAAAA,SAEJ9K,EACV+O,cAAeZ,GAAkBhQ,KAAK0G,mBAAoBrB,EAAAA,EAAAA,GAAiCrF,KAAK0G,wBAAqB7E,EACrHgP,SAAUb,GAAkBhQ,KAAK+H,qBAAsBb,EAAAA,EAAAA,GAAmClH,KAAK+H,0BAAuBlG,EACtHiP,MACKd,GAAkB9L,GACbH,EAAAA,EAAAA,GAAyB,CACrBC,cAAAA,EACAC,oBAAAA,EACAC,cAAAA,EACAC,yBAAAA,EACAC,iBAAkBpE,KAAKoE,wBAE3BvC,IAGP7B,KAAKkK,MAAM2F,WAAWV,KApSvB4B,EAAAA,EAAAA,IAAAA,CAATC,EAAAA,IAAQ,sCAOCD,EAAAA,EAAAA,IAAAA,CAATC,EAAAA,IAAQ,iCAICD,EAAAA,EAAAA,IAAAA,CAATC,EAAAA,IAAQ,8BAICD,EAAAA,EAAAA,IAAAA,CAATC,EAAAA,IAAQ,2BAICD,EAAAA,EAAAA,IAAAA,CAATC,EAAAA,IAAQ,8BAICD,EAAAA,EAAAA,IAAAA,CAATC,EAAAA,IAAQ,qCAICD,EAAAA,EAAAA,IAAAA,CAATC,EAAAA,IAAQ,kCAiBCD,EAAAA,EAAAA,IAAAA,CAATC,EAAAA,IAAQ,kCAgBCD,EAAAA,EAAAA,IAAAA,CAATC,EAAAA,IAAQ,uCAsDCD,EAAAA,EAAAA,IAAAA,CAATC,EAAAA,IAAQ,wCAqMb,sVC1XO,MAAMC,EAAgE,QAAC,sBAC1EC,EAAqB,aACrBC,EAAY,YACZC,EAAW,mBACXC,GACH,SACG1M,EAAAA,cAAC2M,EAAAA,KAAI,iBAAKJ,GACLE,EACAC,EACAF,IAIII,EAAmD,QAAC,eAAEC,EAAc,UAAElQ,EAAS,eAAEmQ,GAAgB,SAC1G9M,EAAAA,cAAC2M,EAAAA,KAAI,iBAAKE,GAAiBlQ,IAGlBoQ,EAA2D,QAAC,cACrEC,EAAa,QACbhL,EAAO,MACPiL,EAAK,WACLC,EAAU,QACVC,EAAO,aACPC,EAAY,mBACZC,GACH,SACGrN,EAAAA,cAAC2M,EAAAA,KAAI,iBAAKK,GACLhL,EACAmL,EACAE,IAIIC,EAA2C,QAAC,WAAEC,EAAU,SAAEC,EAAQ,gBAAEC,EAAe,WAAEjC,GAAY,SAC1GxL,EAAAA,cAAC2M,EAAAA,KAAI,iBAAKY,GACLC,GAAYxN,EAAAA,cAAC+M,EAA8B,iBAAKS,IAChDA,GAAYA,EAASE,mBACrBlC,GACGxL,EAAAA,cAAC2M,EAAAA,KAAI,iBAAKc,GACLjC,EAAW9O,KAAKC,GACbqD,EAAAA,cAAC4M,EAA0B,eAACrI,IAAK5H,EAAU4D,KAAK5D,UAAUgR,QAAYhR,SAO7EiR,EAA6C,QAAC,YAAEC,EAAW,OAAE/B,GAAQ,SAC9E9L,EAAAA,cAAC2M,EAAAA,KAAI,iBAAKkB,GACL/B,EAAOpP,KAAI,CAACoR,EAAeC,IACxB/N,EAAAA,cAACsN,EAAsB,eAAC/I,IAAKwJ,GAAWD,QAKvCE,EAAyD,QAAC,kBACnEjM,EAAiB,QACjBC,EAAO,SACPC,EAAQ,SACRC,EAAQ,IACRC,EAAG,YACHE,EAAW,aACXzB,GACH,SACGZ,EAAAA,cAAC2M,EAAAA,KAAI,iBAAK5K,GACLC,EACAC,EACAC,EACAC,EACAE,EACAzB,IAIIqN,EAAsD,QAAC,oBAAE7K,EAAmB,MAAEC,EAAK,QAAEC,GAAS,SACvGtD,EAAAA,cAAC2M,EAAAA,KAAI,iBAAKvJ,GACLC,EACAC,IAII4K,EAAyC,QAAC,UAAEpO,EAAS,cAAET,EAAa,oBAAEC,EAAmB,cAAEC,GAAe,SACnHS,EAAAA,cAAC2M,EAAAA,KAAI,iBAAK7M,GACLT,EACAC,EACAC,IA+BT,EA3BqE,IAWhE,IAXiE,YAClE4K,EAAW,QACXnI,EAAO,mBACP4I,EAAkB,MAClBI,EAAK,QACLI,EAAO,gBACPQ,EAAe,aACfK,EAAY,QACZC,EAAO,KACPC,EAAI,OACJL,GACH,EACG,OACI9L,EAAAA,cAACmO,EAAAA,OAAM,iBAAKhE,GACPnI,EACAgJ,EACAI,EACAQ,GAAmB5L,EAAAA,cAACsM,EAAgC,iBAAKV,IACzDhB,EACAkB,GAAU9L,EAAAA,cAAC4N,EAAuB,iBAAK9B,IACvCI,GAAWlM,EAAAA,cAACiO,EAAwB,iBAAK/B,IACzCD,GAAgBjM,EAAAA,cAACgO,EAA6B,iBAAK/B,IACnDE,GAAQnM,EAAAA,cAACkO,EAAqB,iBAAK/B,aC7HhDiC,EAAOC,QAAUrO,cCAjBoO,EAAOC,QAAUC","sources":["webpack://msdyn365.commerce.online/./lib/order-confirmation/module-registration.js?add0","webpack://msdyn365.commerce.online/./src/actions/get-sales-order-confirmation-with-hydrations.ts?6854","webpack://msdyn365.commerce.online/./src/actions/get-tender-types.ts?d667","webpack://msdyn365.commerce.online/./src/modules/order-confirmation/components/get-help.tsx?fe55","webpack://msdyn365.commerce.online/./src/modules/order-confirmation/components/get-order-summary.tsx?2e84","webpack://msdyn365.commerce.online/./src/modules/order-confirmation/components/get-payment-methods.tsx?feb6","webpack://msdyn365.commerce.online/./src/modules/order-confirmation/order-confirmation.tsx?bea0","webpack://msdyn365.commerce.online/./src/modules/order-confirmation/order-confirmation.view.tsx?f5ab","webpack://msdyn365.commerce.online/external var \"React\"?0d3b","webpack://msdyn365.commerce.online/external var \"ReactDOM\"?853b"],"sourcesContent":["const binding = { modules: {}, dataActions: {} };\n\n const registerActionId = (actionPath) => {\n if (binding.dataActions[actionPath] &&\n binding.dataActions[actionPath].default &&\n binding.dataActions[actionPath].default.prototype &&\n binding.dataActions[actionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[actionPath].default.prototype.id] = binding.dataActions[actionPath];\n } else {\n Object.keys(binding.dataActions[actionPath] || {}).forEach(exportName => {\n if (binding.dataActions[actionPath][exportName] &&\n binding.dataActions[actionPath][exportName].prototype &&\n binding.dataActions[actionPath][exportName].prototype.Action) {\n binding.dataActions[binding.dataActions[actionPath][exportName].prototype.id] = binding.dataActions[actionPath][exportName];\n }\n })\n }\n };\n\n const registerSanitizedActionPath = (sanitizedActionPath, dataAction) => {\n if (process.env.NODE_ENV === 'development') {\n if (!dataAction.default) {\n throw new Error('Data action path does not have a default export');\n }\n if (!(dataAction.default.prototype.id && binding.dataActions[dataAction.default.prototype.id]) || !binding.dataActions[sanitizedActionPath]) {\n binding.dataActions[sanitizedActionPath] = dataAction;\n }\n } else {\n binding.dataActions[sanitizedActionPath] = dataAction;\n if (!binding.dataActions[sanitizedActionPath].default) {\n throw new Error('Data action path ' + sanitizedActionPath + ' does not have a default export');\n }\n binding.dataActions[sanitizedActionPath].default.prototype.RegistrationId = sanitizedActionPath;\n if (binding.dataActions[sanitizedActionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[sanitizedActionPath].default.prototype.id] = sanitizedActionPath;\n }\n }\n };\n \n\n (binding.modules['order-confirmation'] = {\n c: () => require('@msdyn365-commerce-modules/order-management/dist/lib/modules/order-confirmation/order-confirmation'),\n $type: 'contentModule',\n da: [{name:'channelDeliveryOptionConfig', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-channel-delivery-option-configuration', runOn: 0},{name:'featureState', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-feature-state', runOn: 0},{name:'loyaltyCard', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-loyalty-card', runOn: 1},{name:'orderHydration', path:'@msdyn365-commerce-modules/order-management/dist/lib/actions/get-sales-order-confirmation-with-hydrations', runOn: 0},{name:'tenderTypes', path:'@msdyn365-commerce-modules/order-management/dist/lib/actions/get-tender-types', runOn: 0}],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'order-confirmation',\n p: 'order-management',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/order-management/dist/lib/modules/order-confirmation'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/order-management/dist/lib/actions/get-sales-order-confirmation-with-hydrations';\n let dataAction = require('@msdyn365-commerce-modules/order-management/dist/lib/actions/get-sales-order-confirmation-with-hydrations');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/order-management/dist/lib/actions/get-tender-types';\n let dataAction = require('@msdyn365-commerce-modules/order-management/dist/lib/actions/get-tender-types');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-channel-delivery-option-configuration';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-channel-delivery-option-configuration');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-feature-state';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-feature-state');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-loyalty-card';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-loyalty-card');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['@msdyn365-commerce-modules|order-management|modules|order-confirmation|order-confirmation'] = {\n c: () => require('@msdyn365-commerce-modules/order-management/dist/lib/modules/order-confirmation/order-confirmation.view.js'),\n cn: '@msdyn365-commerce-modules-order-management-order-confirmation'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n CacheType,\n createObservableDataAction,\n IAction,\n IActionContext,\n IActionInput,\n ICommerceApiSettings,\n ICreateActionContext\n} from '@msdyn365-commerce/core';\nimport { ProductDeliveryOptions, SalesOrder, SimpleProduct, TransactionType } from '@msdyn365-commerce/retail-proxy';\nimport { getDeliveryOptionsAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\nimport {\n getSalesOrderDetailsBySalesIdAsync,\n getSalesOrderDetailsByTransactionIdAsync\n} from '@msdyn365-commerce/retail-proxy/dist/DataActions/SalesOrdersDataActions.g';\nimport {\n ArrayExtensions,\n buildCacheKey,\n getSimpleProducts,\n ObjectExtensions,\n ProductInput,\n QueryResultSettingsProxy\n} from '@msdyn365-commerce-modules/retail-actions';\n\n/**\n * Sales order response interface.\n */\ninterface ISalesOrderWithHydrations {\n salesOrder: SalesOrder;\n products: SimpleProduct[];\n productDeliveryOptions?: ProductDeliveryOptions[];\n}\n\n/**\n * OrderTypes Types of orders.\n */\nexport enum orderTypes {\n salesOrder = 'salesOrder',\n transaction = 'transaction'\n}\n\n/**\n * Calls the Retail API and returns the sales order.\n * @param orderType - OrderType.\n * @param orderId - Unique OrderId for each order.\n * @returns Sales Order.\n */\nconst getSalesOrder = (orderType: string = '', orderId: string = '') => async (\n context: IActionContext\n): Promise => {\n // Local (1) searches the retail server database, and remote (2) searches\n // on the headquarters side. All (3) and none (0) are not supported.\n const localSearch = 1;\n return orderType === orderTypes.salesOrder\n ? getSalesOrderDetailsBySalesIdAsync({ callerContext: context }, orderId)\n : getSalesOrderDetailsByTransactionIdAsync({ callerContext: context }, orderId, localSearch);\n};\n\n/**\n * Calls the Retail API and returns the products.\n * @param productIds - The product ids of the product to retrieve.\n * @param channelId - The channel id for the products.\n * @returns Simple product data.\n */\nconst getProducts = (productIds: (string | number)[] = [], channelId?: number) => async (\n context: IActionContext\n): Promise => {\n const productInputs = productIds.map(\n productId => new ProductInput(productId, context.requestContext.apiSettings, channelId, undefined, context.requestContext)\n );\n return getSimpleProducts(productInputs, context);\n};\n\n/**\n * Action input.\n */\nexport class GetSalesOrderConfirmationWithHydrationsInput implements IActionInput {\n public orderType: string;\n\n public orderId: string;\n\n private readonly apiSettings: ICommerceApiSettings;\n\n constructor(orderType: string, orderId: string, apiSettings: ICommerceApiSettings) {\n this.orderType = orderType;\n this.orderId = orderId;\n this.apiSettings = apiSettings;\n }\n\n /**\n * Get cache key.\n * @returns String.\n */\n public getCacheKey = () => buildCacheKey('SalesOrderConfirmationWithHydrations', this.apiSettings);\n\n /**\n * Get cache object.\n * @returns String.\n */\n public getCacheObjectType = () => `SalesOrderConfirmationWithHydrations-${this.orderType}-${this.orderId}`;\n\n /**\n * Get cache data type.\n * @returns String.\n */\n public dataCacheType = (): CacheType => 'request';\n}\n\n/**\n * Creates the input required to make the retail api call.\n * @param inputData - Actioncontext data.\n * @returns Sales Order Input.\n */\nconst createSalesOrderConfrimationWithHydrationsInput = (inputData: ICreateActionContext) => {\n const { salesId = '', transactionId = '' } = inputData.requestContext.query || {};\n if (salesId) {\n return new GetSalesOrderConfirmationWithHydrationsInput(orderTypes.salesOrder, salesId, inputData.requestContext.apiSettings);\n } else if (transactionId) {\n return new GetSalesOrderConfirmationWithHydrationsInput(\n orderTypes.transaction,\n transactionId,\n inputData.requestContext.apiSettings\n );\n }\n throw new Error('createSalesOrderConfrimationWithHydrationsInput - No salesId or transactionId provided.');\n};\n\n/**\n * Get sales order with hydrations action.\n * @param input - Input for data action.\n * @param context - Action context.\n * @returns Sales order response.\n */\nexport async function getSalesOrderConfirmationWithHydrationsAction(\n input: GetSalesOrderConfirmationWithHydrationsInput,\n context: IActionContext\n): Promise {\n if (!context) {\n throw new Error('getSalesOrderConfirmationWithHydrationsAction - Action context cannot be null/undefined');\n }\n\n const { orderType, orderId } = input;\n\n if (!orderType || !orderId) {\n context.trace('[getSalesOrderConfirmationWithHydrationsAction] No orderType or orderId provided.');\n return {};\n }\n\n const salesOrder = await getSalesOrder(orderType, orderId)(context);\n\n if (!salesOrder) {\n context.trace('[getSalesOrderWithHydrationsAction] No salesOrder found.');\n return {};\n }\n\n // If it is salesInvoice, return salesOrder and empty products\n if (salesOrder.TransactionTypeValue === TransactionType.SalesInvoice) {\n return {\n salesOrder,\n products: []\n };\n }\n\n if (!ArrayExtensions.hasElements(salesOrder.SalesLines)) {\n context.trace('[getSalesOrderWithHydrationsAction] No salesLine found.');\n return {};\n }\n\n const productIds = salesOrder.SalesLines.map(salesLine => salesLine.ProductId ?? '');\n\n if (!ArrayExtensions.hasElements(productIds)) {\n context.trace('[getSalesOrderWithHydrationsAction] No products in saleLines found.');\n return {};\n }\n\n const products = await getProducts(productIds, salesOrder.ChannelId)(context);\n\n if (!ArrayExtensions.hasElements(products)) {\n context.trace('[getSalesOrderWithHydrationsAction] No simple products found.');\n return {};\n }\n\n const validProducts = products.filter(product => !ObjectExtensions.isNullOrUndefined(product.RecordId));\n const filterPickup = 4;\n const deliveryOptions = await getDeliveryOptionsAsync(\n { callerContext: context, queryResultSettings: QueryResultSettingsProxy.getPagingFromInputDataOrDefaultValue(context) },\n validProducts.map(product => product.RecordId),\n {},\n filterPickup\n )\n .then(result => {\n return result;\n })\n .catch((error: Error) => {\n context.trace(error.message);\n context.telemetry.exception(error);\n context.telemetry.debug('[getDeliveryOptionsForCartLineItems]Error executing action');\n throw new Error('[getDeliveryOptionsForCartLineItems]Error executing action');\n });\n\n return {\n salesOrder,\n products,\n deliveryOptions\n };\n}\n\n/**\n * Get sales order with hydrations action.\n * @param id - Unique Id for data action.\n * @param context - Action context.\n * @param input - Input for data action.\n * @returns Sales order response.\n */\nexport const getSalesOrderConfirmationWithHydrationsActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/order-management/get-sales-order-confirmation-with-hydrations',\n action: >getSalesOrderConfirmationWithHydrationsAction,\n input: createSalesOrderConfrimationWithHydrationsInput\n});\n\nexport default getSalesOrderConfirmationWithHydrationsActionDataAction;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { createObservableDataAction, IAction } from '@msdyn365-commerce/core';\nimport { retailAction } from '@msdyn365-commerce/retail-proxy/dist';\nimport { createGetTenderTypesInput } from '@msdyn365-commerce/retail-proxy/dist/DataActions/StoreOperationsDataActions.g';\nimport { TenderType } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\n\n/**\n * Get Tender Types Data Action.\n */\nexport const retailActionDataAction = createObservableDataAction({\n action: >retailAction,\n input: () => createGetTenderTypesInput({})\n});\n\nexport default retailActionDataAction;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IGetHelpInput, IHelp } from '../../..';\n\nexport const getOrderConfirmationHelp = ({\n needHelpLabel,\n helpLineNumberLabel,\n contactNumber,\n helpLineContactAriaLabel,\n telemetryContent\n}: IGetHelpInput): IHelp => {\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n const attribute = getTelemetryAttributes(telemetryContent!, payLoad);\n return {\n helpProps: { className: 'ms-order-confirmation__help' },\n needHelpLabel:

{needHelpLabel}

,\n helpLineNumberLabel: {helpLineNumberLabel},\n contactNumber: (\n \n {contactNumber}\n \n )\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PriceComponent } from '@msdyn365-commerce/components';\nimport * as React from 'react';\n\nimport { IGetOrderSummaryInput, IOrderSummary, IPriceContext } from '../../../common';\n\ninterface ISummaryLineProps {\n priceContext?: IPriceContext;\n name: string;\n label: string;\n value?: number;\n}\n\nconst OrderSummaryLine: React.SFC = ({ name, label, value = 0, priceContext }) => (\n

\n {label}\n {priceContext ? (\n \n ) : (\n {value}\n )}\n

\n);\n\nexport const getOrderConfirmationOrderSummary = ({\n order,\n priceContext,\n earnedPoints,\n resource: {\n orderSummaryHeading,\n orderSummaryItemsTotalLabel,\n orderSummaryShippingFeeLabel,\n orderSummaryTaxLabel,\n orderSummaryGrandTotalLabel,\n pointsEarnedLabel\n },\n canShip,\n isTaxIncludedInPrice,\n isShowTaxBreakUp\n}: IGetOrderSummaryInput): IOrderSummary => {\n const subTotal = isTaxIncludedInPrice && isShowTaxBreakUp ? order.SubtotalAmountWithoutTax : order.SubtotalAmount;\n const taxOnShippingCharge = order.TaxOnShippingCharge !== undefined ? order.TaxOnShippingCharge : 0;\n const shippingChargeAmount = order.ShippingChargeAmount !== undefined ? order.ShippingChargeAmount : 0;\n\n // isTaxIncludedInPrice isShowTaxBreakup useProperties\n // False False/True otherChargeAmount\n // True True otherChargeAmount\n // True false otherChargeAmount+TaxOnNonShippingCharges\n const shippingCharge =\n isTaxIncludedInPrice && !isShowTaxBreakUp ? shippingChargeAmount + taxOnShippingCharge : order.ShippingChargeAmount;\n return {\n orderSummaryProps: { className: 'ms-order-confirmation__order-summary' },\n heading:

{orderSummaryHeading}

,\n subtotal: ,\n shipping: canShip ? (\n \n ) : (\n ''\n ),\n tax: isShowTaxBreakUp ? (\n \n ) : (\n ''\n ),\n totalAmount: (\n \n ),\n earnedPoints: earnedPoints ? : undefined\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PriceComponent } from '@msdyn365-commerce/components';\nimport { RetailOperation, TenderLine } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport * as React from 'react';\n\nimport { IPaymentMethods, IPaymentMethodsInput } from '../../../common';\n\nexport const getOrderConfirmationPaymentMethods = ({\n priceContext,\n tenderLines,\n tenderIdOperationIdMap,\n resource: {\n paymentMethodsTitle,\n creditCardEndingLabel,\n giftCardEndingLabel,\n amountCoveredLabel,\n loyaltyCardUsedLabel,\n cashUsedLabel,\n customerAccountUsedLabel\n }\n}: IPaymentMethodsInput): IPaymentMethods => {\n const getLastFourDigit = (digits = '') => digits.substr(-4);\n\n const getCard = (tenderLine: TenderLine, showAmount: boolean = false) => {\n const cardLastFourDigit = getLastFourDigit(tenderLine.MaskedCardNumber);\n\n // @ts-expect-error\n const isValidCardNumber = cardLastFourDigit && !isNaN(cardLastFourDigit);\n const amount = (tenderLine.AuthorizedAmount || 0) > 0 ? tenderLine.AuthorizedAmount : tenderLine.Amount;\n const showAmountCovered = !!(showAmount && amount && amount > 0);\n\n return (\n
\n

\n {`${tenderLine.CardTypeId} ${isValidCardNumber ? `${creditCardEndingLabel} ${cardLastFourDigit}` : ''}`}\n

\n {showAmountCovered && (\n

\n {amountCoveredLabel}\n \n

\n )}\n
\n );\n };\n\n const getGiftCertificate = (tenderLine: TenderLine) => (\n
\n

\n {giftCardEndingLabel}\n {` `}\n {getLastFourDigit(tenderLine.GiftCardId)}\n

\n

\n {amountCoveredLabel}\n \n

\n
\n );\n\n const getLoyalty = (tenderLine: TenderLine) => (\n
\n

\n {loyaltyCardUsedLabel}\n {` `}\n {tenderLine.LoyaltyCardId}\n

\n

\n {amountCoveredLabel}\n \n

\n
\n );\n\n const getCash = (tenderLine: TenderLine) => (\n
\n

{cashUsedLabel}

\n

\n {amountCoveredLabel}\n \n

\n
\n );\n\n /**\n * Get customer account payment information.\n * @param tenderLine - The customer account payment tender line.\n * @returns The customer account payment HTML.\n */\n const getCustomerAccountPayment = (tenderLine: TenderLine) => (\n
\n

\n {customerAccountUsedLabel}\n {` `}\n {tenderLine.CustomerId}\n

\n

\n {amountCoveredLabel}\n \n

\n
\n );\n\n return {\n paymentMethodsProps: { className: 'ms-order-confirmation__payment-methods' },\n title:
{paymentMethodsTitle}
,\n methods: tenderLines.reduce((lines: React.ReactNode[], tenderLine) => {\n if (!tenderLine.TenderTypeId) {\n return lines;\n }\n switch (tenderIdOperationIdMap[tenderLine.TenderTypeId]) {\n case RetailOperation.PayCard:\n lines.push(getCard(tenderLine, tenderLines.length > 1));\n break;\n case RetailOperation.PayGiftCertificate:\n lines.push(getGiftCertificate(tenderLine));\n break;\n case RetailOperation.PayLoyalty:\n lines.push(getLoyalty(tenderLine));\n break;\n case RetailOperation.PayCash:\n lines.push(getCash(tenderLine));\n break;\n case RetailOperation.PayCustomerAccount:\n lines.push(getCustomerAccountPayment(tenderLine));\n break;\n default:\n\n // Do nothing\n }\n return lines;\n }, [])\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 Msdyn365 from '@msdyn365-commerce/core';\nimport {\n ChannelDeliveryOptionConfiguration,\n ProductDeliveryOptions,\n SalesLine,\n SalesOrder,\n SimpleProduct,\n TransactionType\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport get from 'lodash/get';\nimport { computed } from 'mobx';\nimport * as React from 'react';\n\nimport { IGetOrderSummaryInput, IHelp, IOrderSummary, IPaymentMethods, IPaymentMethodsInput } from '../../common';\nimport { getGroups, IGroups } from '../../common/get-groups';\nimport { getOrderInformation, getOrderInformationInput, IOrderInformation } from '../../common/get-order-information';\nimport { ISalesLine } from '../../common/get-sales-line';\nimport { getSalesLines, getSalesLinesInput } from '../../common/get-sales-lines';\nimport { Label } from '../../common/label';\nimport { getTenderIdOperationIdMap, IPriceContext } from '../../common/utilities';\nimport { getOrderConfirmationHelp } from './components/get-help';\nimport { getOrderConfirmationOrderSummary } from './components/get-order-summary';\nimport { getOrderConfirmationPaymentMethods } from './components/get-payment-methods';\nimport { IOrderConfirmationData } from './order-confirmation.data';\nimport { IOrderConfirmationProps } from './order-confirmation.props.autogenerated';\n\nexport interface IOrderConfirmationViewProps extends IOrderConfirmationProps {\n moduleProps: IModuleProps;\n salesOrder?: SalesOrder;\n footerProps?: INodeProps;\n alert?: React.ReactNode;\n loading?: React.ReactNode;\n heading: React.ReactNode;\n backToShoppingLink?: React.ReactNode;\n orderInfomation?: IOrderInformation;\n salesLines?: ISalesLine[];\n groups?: IGroups;\n orderSummary?: IOrderSummary;\n payment?: IPaymentMethods;\n help?: IHelp;\n}\n\n/**\n *\n * OrderConfirmation component.\n * @extends {React.PureComponent>}\n */\nclass OrderConfirmation extends React.PureComponent> {\n private readonly moduleName: string = 'ms-order-confirmation';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly backToShoppingAttributes?: Msdyn365.IDictionary;\n\n constructor(props: IOrderConfirmationProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.BackToShopping);\n this.backToShoppingAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n }\n\n @computed get isCurrentChannel(): boolean {\n if (!this.order) {\n return false;\n }\n return this.order.ChannelId === get(this.props, 'context.request.apiSettings.channelId');\n }\n\n @computed get isDataReady(): boolean {\n return get(this.props, 'data.orderHydration.status') === 'SUCCESS';\n }\n\n @computed get hasError(): boolean {\n return get(this.props, 'data.orderHydration.status') === 'FAILED';\n }\n\n @computed get order(): SalesOrder | undefined {\n return get(this.props, 'data.orderHydration.result.salesOrder');\n }\n\n @computed get products(): SimpleProduct[] {\n return get(this.props, 'data.orderHydration.result.products') || [];\n }\n\n @computed get deliveryOptions(): ProductDeliveryOptions[] {\n return get(this.props, 'data.orderHydration.result.deliveryOptions') || [];\n }\n\n @computed get priceContext(): IPriceContext {\n const {\n id,\n typeName,\n context,\n telemetry,\n resources: { freePriceText }\n } = this.props;\n return {\n id,\n typeName,\n context,\n telemetry,\n freePriceText\n };\n }\n\n @computed get earnedPoints(): number {\n const loyaltyCard = this.props.data.loyaltyCard.result;\n if (loyaltyCard && loyaltyCard.RewardPoints && this.order) {\n const pointPrograms = new Set(loyaltyCard.RewardPoints.map(point => point.RewardPointId));\n const rewardLines = this.order.LoyaltyRewardPointLines || [];\n let total = 0;\n rewardLines.forEach(line => {\n if ((line.RewardPointAmountQuantity || 0) > 0 && pointPrograms.has(line.RewardPointId)) {\n total += line.RewardPointAmountQuantity!;\n }\n });\n return total;\n }\n return 0;\n }\n\n @computed get orderSummaryProps(): IGetOrderSummaryInput | undefined {\n if (!this.order) {\n return;\n }\n const { request } = this.props.context;\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\n const { channelDeliveryOptionConfig, featureState } = this.props?.data;\n const retailMultiplePickUpOptionEnabled = featureState?.result?.find(item => item.Name === multiplePickupStoreSwitchName)\n ?.IsEnabled;\n const pickupDeliveryModeCode = request && request.channel && request.channel.PickupDeliveryModeCode;\n const emailDeliveryModeCode = request && request.channel && request.channel.EmailDeliveryModeCode;\n const orderDetailsLines = this.order?.SalesLines;\n const canShip = orderDetailsLines?.some(orderDetailsLine =>\n orderDetailsLine.DeliveryMode && orderDetailsLine.DeliveryMode !== ''\n ? orderDetailsLine.DeliveryMode !==\n this.getDeliveryMode(\n orderDetailsLine,\n retailMultiplePickUpOptionEnabled,\n channelDeliveryOptionConfig?.result,\n pickupDeliveryModeCode\n ) && orderDetailsLine.DeliveryMode !== emailDeliveryModeCode\n : orderDetailsLine\n );\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- app configs are of generic type\n const isShowOrHideTaxEnabled = request.app.config.isEnableShowOrHideSalesTaxECommerceEnabled === true;\n\n const {\n resources: {\n orderSummaryHeading,\n orderSummaryItemsTotalLabel,\n orderSummaryShippingFeeLabel,\n orderSummaryTaxLabel,\n orderSummaryGrandTotalLabel,\n pointsEarnedLabel\n }\n } = this.props;\n return {\n order: this.order,\n earnedPoints: this.earnedPoints,\n priceContext: this.priceContext,\n resource: {\n orderSummaryHeading,\n orderSummaryItemsTotalLabel,\n orderSummaryShippingFeeLabel,\n orderSummaryTaxLabel,\n pointsEarnedLabel,\n orderSummaryGrandTotalLabel\n },\n canShip,\n isTaxIncludedInPrice: this.order.IsTaxIncludedInPrice,\n isShowTaxBreakUp: isShowOrHideTaxEnabled\n };\n }\n\n @computed get paymentMethodsProps(): IPaymentMethodsInput | undefined {\n const tenderTypes = this.props.data.tenderTypes.result;\n if (!this.order || !this.order.TenderLines || !tenderTypes) {\n return;\n }\n\n const locale = get(this.props, 'context.request.locale') || 'en-US';\n\n const {\n resources: {\n paymentMethodsTitle,\n creditCardEndingLabel,\n giftCardEndingLabel,\n amountCoveredLabel,\n cashUsedLabel,\n loyaltyCardUsedLabel,\n customerAccountUsedLabel\n }\n } = this.props;\n\n return {\n priceContext: this.priceContext,\n tenderLines: this.order.TenderLines,\n tenderIdOperationIdMap: getTenderIdOperationIdMap(tenderTypes),\n locale,\n resource: {\n paymentMethodsTitle,\n creditCardEndingLabel,\n giftCardEndingLabel,\n amountCoveredLabel,\n cashUsedLabel,\n loyaltyCardUsedLabel,\n customerAccountUsedLabel\n }\n };\n }\n\n public render(): JSX.Element {\n const {\n resources: {\n noSalesOrderText,\n genericErrorMessage,\n needHelpLabel,\n helpLineNumberLabel,\n loadingLabel,\n backToShopping,\n orderItemLabel,\n orderItemsLabel,\n pickupItemsHeader,\n pickingItemsLabel,\n shippingAddressTitle,\n shippingItemToYouLabel,\n helpLineContactAriaLabel,\n emailItemsHeader,\n emailingItemsLabel\n },\n config: { heading, contactNumber, shouldShowQrCode, showTimeslot }\n } = this.props;\n\n const moduleProps = { moduleProps: this.props, className: classname('ms-order-confirmation', this.props.config.className) };\n const backToShoppingUrl = Msdyn365.getUrlSync('home', this.props.context.actionContext) || '';\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\n const { channelDeliveryOptionConfig, featureState } = this.props?.data;\n const retailMultiplePickUpOptionEnabled = featureState?.result?.find(item => item.Name === multiplePickupStoreSwitchName)\n ?.IsEnabled;\n\n let viewProps: IOrderConfirmationViewProps = {\n ...this.props,\n moduleProps,\n heading: heading && heading.text && (\n \n ),\n backToShoppingLink: backToShoppingUrl && (\n \n ),\n footerProps: { className: 'ms-order-confirmation__footer' }\n };\n\n if (this.hasError) {\n viewProps = {\n ...viewProps,\n alert: