{"version":3,"file":"static/js/d1837f35dc3d493ff784.bundle.js","mappings":";sUAiCO,MAAMA,EAOTC,YAAmBC,EAAuEC,GAUnF,KAAAC,YAAc,KAAcC,EAAAA,EAAAA,eAAc,gBAAgBC,KAAKC,eAAiBD,KAAKC,eAAiB,KAAMD,KAAKH,aAMjH,KAAAK,mBAAqB,IAAc,eAMnC,KAAAC,cAAgB,IAAiB,UArBpCH,KAAKJ,+BAAiCA,EACtCI,KAAKH,YAAcA,EACnBG,KAAKC,eAAiBL,MAAAA,OAA8B,EAA9BA,EAAgCQ,oBA4BvDC,eAAeC,EAClBC,EACAC,GAEA,OAAOC,EAAAA,uBAAAA,8CACH,CAAEC,cAAeF,GACjBD,EAAMX,iCAQoDe,EAAAA,EAAAA,IAA2B,CACzFC,GAAI,sGACJC,OAAQP,ICTL,IAAKQ,GAAZ,SAAYA,GACRA,EAAA,wBACAA,EAAA,0BAFJ,CAAYA,IAAAA,EAAU,KAUtB,MA0BMC,EAAwCd,GAA2BI,MAAAA,IAAuD,IAAAW,EAAAC,EAAAC,EAC5H,MAAM,aAAEC,EAAe,GAAE,cAAEC,EAAgB,IAAmC,QAA/BJ,EAAGR,EAAQa,eAAeC,aAAK,IAAAN,EAAAA,EAAI,GAE5EO,EA7BwBf,CAAAA,IAC9B,MAAMe,EAAwD,GAC9D,IAAID,EACJ,GAAId,EAAQa,eAAeC,MAAO,CAC9BA,EAAQd,EAAQa,eAAeC,MAC/B,MAAME,EAAaC,OAAOC,QAAQJ,GAElC,IAAK,IAAIK,EAAQ,EAAGA,GAASH,EAAWI,OAAQD,IAAS,CACrD,MAAME,EAA8B,QAAQF,QACtCG,EAAuB,QAAQH,SACjCE,KAAuBP,GAASQ,KAAwBR,GACxDC,EAAyBQ,KAAK,CAC1BC,mCAAoCV,EAAMO,GAC1CI,gCAAiCX,EAAMQ,MAKvD,OAAOP,GAWuDW,CAAyB1B,GAIjF2B,EACmH,QAD1FlB,EACkE,QADlEC,SAFSkB,EAAAA,2BAAAA,+BAA0D,CAAE1B,cAAeF,KAGrF6B,MAAKC,GAA0B,sCAAlBA,EAAKC,kBAAiD,IAAArB,OAAA,EAA7FA,EAA+FsB,8BAAsB,IAAAvB,EAAAA,EAAI,GAEvHwB,EAAuF,GAE7F,IAAK,MAAMH,KAAQH,EAA2B,CAC1C,MAAMO,EAA2BJ,EAAKK,KAAKC,oBACrCC,EAA+BP,EAAKQ,MAQ1C,GANIJ,IAD0CvB,EAAayB,qBAEvDH,EAAyCV,KAAK,CAC1CgB,uCAAwCT,EAAKQ,MAC7CE,gDAAiD5B,IAGrD6B,EAAAA,gBAAgBC,YAAY3B,GAC5B,IAAK,MAAM4B,KAAkB5B,EACrBmB,IAAqBS,EAAenB,mCAAmCY,qBACvEH,EAAyCV,KAAK,CAC1CgB,uCAAwCF,EACxCG,gDAAiDG,EAAelB,kCAcpF,OAAO3B,EAFO,IAAIZ,EALqD,CACnEU,mBAAoBH,EACpBmD,yCAA0CX,GAG4CjC,EAAQa,eAAexB,aAEpDW,IA2B3D6C,EAAyBA,CAACC,EAAmCC,IAAuBlD,MAAAA,IAGtF,MAAMmD,EAAgBF,EAAeG,KACjC9B,GACI,IAAI+B,EAAAA,aACA/B,EAAMgC,UACNnD,EAAQa,eAAexB,YACvB0D,OACAK,EACApD,EAAQa,eACRM,EAAMkC,aAGlB,OAAOC,EAAAA,EAAAA,mBAAkBN,EAAehD,IAMrC,MAAMuD,EASTpE,YACIqE,EACAC,EACApE,EACAI,GAYG,KAAAH,YAAc,KAAcC,EAAAA,EAAAA,eAAc,2BAA4BC,KAAKH,aAM3E,KAAAK,mBAAqB,SAAAgE,EAAAC,EAAAC,EAAA,MACxB,4BAA0C,QAA1CF,EAA4BlE,KAAKgE,iBAAS,IAAAE,EAAAA,EAAI,MAAkB,QAAhBC,EAAInE,KAAKiE,eAAO,IAAAE,EAAAA,EAAI,MAAyB,QAAvBC,EAAIpE,KAAKC,sBAAc,IAAAmE,EAAAA,EAAI,MAM9F,KAAAjE,cAAgB,IAAiB,UAvBpCH,KAAKgE,UAAYA,EACjBhE,KAAKiE,QAAUA,EACfjE,KAAKH,YAAcA,EACnBG,KAAKC,eAAiBA,GAkDvBI,eAAegE,EAClB9D,EACAC,GAAuB,IAAA8D,EAAAC,EAEvB,MAAM,UAAEP,EAAS,QAAEC,GAAY1D,GAEzB,eAAEN,EAAiB,IAAmC,QAA/BqE,EAAG9D,EAAQa,eAAeC,aAAK,IAAAgD,EAAAA,EAAI,GAEhE,GAAI9D,EAAQa,eAAemD,KAAKC,mBAAqBT,IAAcC,KAAahE,EAE5E,OADAO,EAAQkE,MAAM,2FACoB,GAGtC,MAAMC,QAvHY,WAAH,IAAIX,EAAAY,UAAAhD,OAAA,QAAAgC,IAAAgB,UAAA,GAAAA,UAAA,GAAoB,GAAIX,EAAAW,UAAAhD,OAAA,QAAAgC,IAAAgB,UAAA,GAAAA,UAAA,GAAkB,GAAE,OAAKvE,MAAAA,IAAuD,IAAAwE,EAC3H,MAAM,eAAE5E,EAAiB,IAAmC,QAA/B4E,EAAGrE,EAAQa,eAAeC,aAAK,IAAAuD,EAAAA,EAAI,GAEhE,OAAI5E,EACOc,EAAqCd,EAArCc,CAAqDP,GACrDwD,IAAclD,EAAW6D,WACzBlE,EAAAA,uBAAAA,mCAA0D,CAAEC,cAAeF,GAAWyD,GAG1FxD,EAAAA,uBAAAA,yCAAgE,CAAEC,cAAeF,GAAWyD,EAASa,EAAAA,eAAeC,MA8GlGC,CAAchB,EAAWC,EAAzBe,CAAkCxE,GAK3D,GAJImE,GAAcA,EAAWM,aACzBN,EAAWM,WAAaN,EAAWM,WAAWC,QAAQC,IAAyBA,EAASC,aAGvFT,EAED,OADAnE,EAAQkE,MAAM,4DACoB,GAItC,GAAIC,EAAWU,uBAAyBC,EAAAA,gBAAgBC,aACpD,MAAO,CACHZ,WAAAA,EACAa,SAAU,IAGlB,IAAIC,GAAqB,EAEzB,GAAId,EAAWe,YAAclF,EAAQa,eAAexB,YAAY0D,gBAAsCK,IAAzBe,EAAWe,UAAyB,CAC7GlF,EAAQkE,MAAM,+EACd,IACI,MAAMiB,QAAoBC,EAAAA,EAAAA,uBAAsB,CAAElF,cAAeF,GAAWmE,EAAWe,WAEvFD,EAAsC,KADRE,MAAAA,OAAW,EAAXA,EAAaE,gCACAC,EAAAA,EAAAA,IAAiBtF,EAAQa,gBACtE,MAAO0E,GACLC,QAAQC,IAAI,mEAAoEF,IAIxF,IAAK9C,EAAAA,gBAAgBC,YAAYyB,EAAWM,YAExC,OADAzE,EAAQkE,MAAM,2DACoB,GAGtC,MAAMwB,EAAuCvB,EAAWM,WAAWxB,KAAI0C,IAC5D,CACHxC,eAAmCC,IAAxBuC,EAAUC,UAA0BD,EAAUC,UAAY,EACrEvC,UAAWsC,EAAUE,cAI7B,IAAKpD,EAAAA,gBAAgBC,YAAYgD,GAE7B,OADA1F,EAAQkE,MAAM,uEACoB,GAGtC,MAAM4B,QAAsBC,EAAAA,EAAAA,uBAAsB,CAAE7F,cAAeF,GAAW,CAC1E,2DAMJ,IAAIgF,EAA4B,GAEhC,IALIc,MAAAA,GAAmI,QAAtH/B,EAAb+B,EAAejE,MAAMmE,GAAqD,2DAAtBA,EAAa7D,cAAkE,IAAA4B,OAAA,EAAnIA,EACMkC,aAAa,EAMhB,CAEH,MAAMC,QAAuBC,EAAAA,oBAAAA,iBACzB,CAAEjG,cAAeF,GACjBA,EAAQa,eAAexB,YAAY0D,WACnC,GAIEqD,EAA4BV,EAAkBhB,QAAO2B,GAChDH,EAAeI,MAAKC,GAAiBA,EAAcC,WAAaH,EAAiBhD,cAItFoD,EAA+Bf,EAAkBhB,QAAO2B,GACnDH,EAAeI,MAAKC,GAAiBA,EAAcC,WAAaH,EAAiBhD,cAG5F,IAAIqD,EAAoC,GACC,IAArCN,EAA0BhF,SAC1BsF,QAAyB7D,EACrBuD,EACApG,EAAQa,eAAexB,YAAY0D,UAFdF,CAGvB7C,IAGN,IAAI2G,EAAuC,GACC,IAAxCF,EAA6BrF,SAC7BuF,QAA4B9D,EAAuB4D,EAA8BtC,EAAWe,UAAhErC,CAA2E7C,IAG3GgF,EAAW,IAAI0B,KAAqBC,QAhCpC3B,QAAiBnC,EAAuB6C,EAAmBvB,EAAWe,UAArDrC,CAAgE7C,GAmCrF,IAAKyC,EAAAA,gBAAgBC,YAAYsC,GAE7B,OADAhF,EAAQkE,MAAM,iEACoB,GAEtC,MAAM0C,EAAgB5B,EAASN,QAAOmC,IAAYC,EAAAA,iBAAiBC,kBAAkBF,EAAQL,YAqB7F,MAAkC,CAC9BrC,WAAAA,EACAa,SAAAA,EACAgC,sBAtB0BC,EAAAA,oBAAAA,wBAC1B,CACI/G,cAAeF,EACfkH,oBAAqBC,EAAAA,yBAAyBC,qCAAqCpH,IAEvF4G,EAAc3D,KAAI4D,GAAWA,EAAQL,WACrC,GACA,GAECa,MAAKC,GACKA,IAEVC,OAAOhC,IAIJ,MAHAvF,EAAQkE,MAAMqB,EAAMiC,SACpBxH,EAAQyH,UAAUC,UAAUnC,GAC5BvF,EAAQyH,UAAUE,MAAM,8DAClB,IAAIC,MAAM,iEAOpBC,eAAgB5C,GAQjB,MAAM6C,GAA8C3H,EAAAA,EAAAA,IAA2B,CAClFC,GAAI,8EACJC,OAAQwD,EACR9D,MAvKyCgI,IAAmC,IAAAC,EAC5E,MAAM,QAAEC,EAAU,GAAE,cAAEC,EAAgB,GAAE,eAAEzI,EAAiB,IAAqC,QAAjCuI,EAAGD,EAAUlH,eAAeC,aAAK,IAAAkH,EAAAA,EAAI,GAEpG,GAAIvI,EAAgB,CAGhB,OAAO,IAAI8D,OAFOH,OACFA,EACgD2E,EAAUlH,eAAexB,YAAaI,GACnG,GAAIwI,EACP,OAAO,IAAI1E,EAAiCjD,EAAW6D,WAAY8D,EAASF,EAAUlH,eAAexB,aAClG,GAAI6I,EACP,OAAO,IAAI3E,EAAiCjD,EAAW6H,YAAaD,EAAeH,EAAUlH,eAAexB,aAGhH,MAAM,IAAIuI,MAAM,kGA6JpB,qMC5YO,MAAMQ,EAAbjJ,cACW,KAAAG,YAAc,IAAM,cAEpB,KAAAI,mBAAqB,IAAM,cAE3B,KAAAC,cAAgB,IAAiB,WAQrC,MAAM0I,EAA0BN,GAC5B,IAAIK,EASRvI,eAAeyI,EAAoBvI,EAA4BC,GAMlE,aALyBuI,EAAAA,EAAAA,qBAAoB,CACzCrI,cAAeF,EACfkH,oBAAqBC,EAAAA,yBAAyBC,qCAAqCpH,KASpF,MAAMwI,GAAgCrI,EAAAA,EAAAA,IAAyC,CAClFC,GAAI,+DACJC,OAAQiI,EACRvI,MAAOsI,IAGX,4DCrDO,MAAMI,EAAsBC,IAMR,IANS,cAChCC,EAAa,oBACbC,EAAmB,cACnBC,EAAa,yBACbC,EAAwB,iBACxBC,GACYL,EACZ,MAAMM,GAAoBC,EAAAA,EAAAA,kBAAiB,QAASF,EAAmBG,EAAAA,kBAAkBC,eACnFC,GAAaC,EAAAA,EAAAA,wBAAuBN,EAAmBC,GAC7D,MAAO,CACHM,UAAW,CAAEC,UAAW,0BACxBZ,cAAea,EAAAA,cAAA,KAAGD,UAAU,gCAAgCZ,GAC5DC,oBAAqBY,EAAAA,cAAA,QAAMD,UAAU,gCAAgCX,GACrEC,cACIW,EAAAA,cAAA,IAAAvI,OAAAwI,OAAA,CACIF,UAAU,wCAAuC,aACrC,GAAGT,KAA4BD,IAC3Ca,KAAM,OAAOb,KACTO,GAEHP,8DCZjB,MAAMc,EAAiDjB,IAAA,IAAC,KAAEkB,EAAI,MAAEC,EAAK,MAAEC,EAAQ,EAAC,aAAEC,EAAY,cAAEC,GAAetB,EAAA,OAC3Gc,EAAAA,cAAA,KAAGD,UAAW,wCAAwCK,KAClDJ,EAAAA,cAAA,QAAMD,UAAU,yCAAyCM,GACxDE,EACGP,EAAAA,cAACS,EAAAA,eAAchJ,OAAAwI,OAAA,GACPM,EAAY,CAChBR,UAAU,wCACVW,KAAM,CAAEC,MAAO,CAAEC,wBAAyBN,IAC1CO,aAAcL,KAGlBR,EAAAA,cAAA,QAAMD,UAAU,yCAAyCO,KAKxDQ,EAA8BC,IAeA,IAfC,MACxCC,EAAK,aACLT,EAAY,aACZU,EACAC,UAAU,oBACNC,EAAmB,4BACnBC,EAA2B,6BAC3BC,EAA4B,qBAC5BC,EAAoB,4BACpBC,EAA2B,kBAC3BC,GACH,QACDC,EAAO,qBACPC,EAAoB,iBACpBC,GACoBZ,EACpB,MAAMa,EAAWF,GAAwBC,EAAmBX,EAAMa,yBAA2Bb,EAAMc,eAC7FC,OAAoDnI,IAA9BoH,EAAMgB,oBAAoChB,EAAMgB,oBAAsB,EAC5FC,OAAsDrI,IAA/BoH,EAAMkB,qBAAqClB,EAAMkB,qBAAuB,EAM/FC,EACFT,IAAyBC,EAAmBM,EAAuBF,EAAsBf,EAAMkB,qBACnG,MAAO,CACHE,kBAAmB,CAAErC,UAAW,mCAChCsC,QAASrC,EAAAA,cAAA,KAAGD,UAAU,2CAA2CoB,GACjEmB,SACItC,EAAAA,cAACG,EAAgB,CACbC,KAAK,WACLC,MAAOe,EACPd,MAAOsB,EACPrB,aAAcA,EACdC,cAAeQ,EAAMuB,eAG7BC,SAAUf,EACNzB,EAAAA,cAACG,EAAgB,CACbC,KAAK,WACLC,MAAOgB,EACPf,MAAO6B,EACP5B,aAAcA,EACdC,cAAeQ,EAAMuB,eAGzB,GAEJE,IAAKd,EACD3B,EAAAA,cAACG,EAAgB,CACbC,KAAK,aACLC,MAAOiB,EACPhB,MAAOU,EAAM0B,UACbnC,aAAcA,EACdC,cAAeQ,EAAMuB,eAGzB,GAEJI,YACI3C,EAAAA,cAACG,EAAgB,CACbC,KAAK,eACLC,MAAOkB,EACPjB,MAAOU,EAAM4B,YACbrC,aAAcA,EACdC,cAAeQ,EAAMuB,eAG7BtB,aAAcA,EAAejB,EAAAA,cAACG,EAAgB,CAACC,KAAK,gBAAgBC,MAAOmB,EAAmBlB,MAAOW,SAAmBrH,6DC5FzH,MAAMiJ,EAAgC3D,IAcD,IAdE,aAC1CqB,EAAY,YACZuC,EAAW,uBACXC,EACA7B,UAAU,oBACN8B,EAAmB,sBACnBC,EAAqB,oBACrBC,EAAmB,mBACnBC,EAAkB,qBAClBC,EAAoB,cACpBC,EAAa,yBACbC,GACH,cACD9C,GACmBtB,EACnB,MAAMqE,EACO,IADPA,EAEkB,IAFlBA,EAGU,IAHVA,EAIO,IAJPA,EAKkB,IAGlBC,EAAmB,WAAH,IAAIC,EAAM7I,UAAAhD,OAAA,QAAAgC,IAAAgB,UAAA,GAAAA,UAAA,GAAG,GAAE,OAAM6I,EAASA,EAAOC,QAAQ,GAAK,IAsGxE,MAAO,CACHC,oBAAqB,CAAE5D,UAAW,qCAClC6D,MAAO5D,EAAAA,cAAA,OAAKD,UAAU,2CAA2CiD,GACjEa,QAASf,EAAYgB,QAAO,CAACC,EAA0BC,KACnD,IAAKA,EAAWC,aACZ,OAAOF,EAEX,OAAQhB,EAAuBiB,EAAWC,eACtC,KAAKV,EACDQ,EAAMhM,KA7GN,SAACiM,GAAuD,IAA/BE,EAAAtJ,UAAAhD,OAAA,QAAAgC,IAAAgB,UAAA,IAAAA,UAAA,GACrC,MAAMuJ,EAAoBX,EAAiBQ,EAAWI,kBAGhDC,EAAoBF,IAAsBG,MAAMH,GAChDI,GAAUP,EAAWQ,kBAAoB,GAAK,EAAIR,EAAWQ,iBAAmBR,EAAWS,OAC3FC,KAAuBR,GAAcK,GAAUA,EAAS,GAE9D,OACIvE,EAAAA,cAAA,OAAKD,UAAU,yCAAyC4E,IAAKX,EAAWC,cACpEjE,EAAAA,cAAA,KAAGD,UAAU,0CACR,GAAGiE,EAAWY,cAAcP,EAAoB,GAAGpB,KAAyBkB,IAAsB,MAEtGO,GACG1E,EAAAA,cAAA,KAAGD,UAAU,sDACRoD,EACDnD,EAAAA,cAACS,EAAAA,eAAchJ,OAAAwI,OAAA,GACPM,EAAY,CAChBR,UAAU,gDACVW,KAAM,CAAEC,MAAO,CAAEC,wBAAyB2D,GAAU,IACpD1D,aAAcL,OAyFXqE,CAAQb,EAAYlB,EAAYlL,OAAS,IACpD,MACJ,KAAK2L,EACDQ,EAAMhM,KAjEMiM,CAAAA,GACxBhE,EAAAA,cAAA,OAAKD,UAAU,yCAAyC4E,IAAKX,EAAWC,cACpEjE,EAAAA,cAAA,KAAGD,UAAU,sDACRmD,EACA,IACAM,EAAiBQ,EAAWc,aAEjC9E,EAAAA,cAAA,KAAGD,UAAU,2DACRoD,EACDnD,EAAAA,cAACS,EAAAA,eAAchJ,OAAAwI,OAAA,GACPM,EAAY,CAChBR,UAAU,qDACVW,KAAM,CAAEC,MAAO,CAAEC,wBAAyBoD,EAAWS,QAAU,IAC/D5D,aAAcL,OAoDHuE,CAAmBf,IAC9B,MACJ,KAAKT,EACDQ,EAAMhM,KAjDFiM,CAAAA,GAChBhE,EAAAA,cAAA,OAAKD,UAAU,yCAAyC4E,IAAKX,EAAWC,cACpEjE,EAAAA,cAAA,KAAGD,UAAU,oDACRqD,EACA,IACAY,EAAWgB,eAEhBhF,EAAAA,cAAA,KAAGD,UAAU,yDACRoD,EACDnD,EAAAA,cAACS,EAAAA,eAAchJ,OAAAwI,OAAA,GACPM,EAAY,CAChBR,UAAU,mDACVW,KAAM,CAAEC,MAAO,CAAEC,wBAAyBoD,EAAWS,QAAU,IAC/D5D,aAAcL,OAoCHyE,CAAWjB,IACtB,MACJ,KAAKT,EACDQ,EAAMhM,KAjCLiM,CAAAA,GACbhE,EAAAA,cAAA,OAAKD,UAAU,yCAAyC4E,IAAKX,EAAWC,cACpEjE,EAAAA,cAAA,KAAGD,UAAU,0CAA0CsD,GACvDrD,EAAAA,cAAA,KAAGD,UAAU,sDACRoD,EACDnD,EAAAA,cAACS,EAAAA,eAAchJ,OAAAwI,OAAA,GACPM,EAAY,CAChBR,UAAU,gDACVW,KAAM,CAAEC,MAAO,CAAEC,wBAAyBoD,EAAWS,QAAU,IAC/D5D,aAAcL,OAwBH0E,CAAQlB,IACnB,MACJ,KAAKT,EACDQ,EAAMhM,KA7FaiM,CAAAA,GAC/BhE,EAAAA,cAAA,OAAKD,UAAU,yCAAyC4E,IAAKX,EAAWC,cACpEjE,EAAAA,cAAA,KAAGD,UAAU,sDACRuD,EACA,IACAU,EAAWmB,YAEhBnF,EAAAA,cAAA,KAAGD,UAAU,2DACRoD,EACDnD,EAAAA,cAACS,EAAAA,eAAchJ,OAAAwI,OAAA,GACPM,EAAY,CAChBR,UAAU,4DACVW,KAAM,CAAEC,MAAO,CAAEC,wBAAyBoD,EAAWS,QAAU,IAC/D5D,aAAcL,OAgFH4E,CAA0BpB,IAM7C,OAAOD,IACR,wFCjHX,MAAMsB,EAAgFC,IAClF,MAAMC,EAAqBvF,IAAAA,aAAkB,KACzCsF,EAAME,aAAaF,EAAMG,iBAC1B,CAACH,IAEJ,OACItF,IAAAA,cAAA,SAAOD,UAAW2F,GAAAA,CAAW,GAAGJ,EAAMvF,gCAAiC,uBACnEC,IAAAA,cAAA,SACID,UAAW2F,GAAAA,CAAW,GAAGJ,EAAMvF,4BAA6B,kBAC5D4F,KAAK,WAAU,aACHL,EAAMM,UAAUC,wCAAuC,eACrDP,EAAMG,cACpBK,QAASR,EAAMG,cACfM,SAAUR,IAEdvF,IAAAA,cAAA,QAAMD,UAAW2F,GAAAA,CAAW,GAAGJ,EAAMvF,uBAAwB,iBAUnEiG,EAAoFV,IACtF,MAAM,UAAEM,GAAcN,EAEhBW,EAA4B,GAAGX,EAAMvF,qCAErCmG,EACFZ,EAAM9O,QAAQ2P,IAAIC,OAAOC,0BAAkF,SAAtDf,EAAM9O,QAAQ2P,IAAIC,OAAOC,yBAElF,OACIrG,IAAAA,cAAAA,IAAAA,SAAA,KACKsF,EAAMgB,uBACHtG,IAAAA,cAAA,UACIA,IAAAA,cAACqF,EAAmC5N,OAAAwI,OAAA,GAAKqF,UAG7C1L,EAEJoG,IAAAA,cAAA,WACAA,IAAAA,cAAA,UAAK4F,EAAUW,+BACfvG,IAAAA,cAAA,UAAK4F,EAAUY,yBACfxG,IAAAA,cAAA,MAAID,UAAWkG,GAA4BL,EAAUa,2BACrDzG,IAAAA,cAAA,UAAK4F,EAAUc,gCACdpB,EAAMqB,+BAA4B/M,EAAYoG,IAAAA,cAAA,UAAK4F,EAAUgB,wBAC9D5G,IAAAA,cAAA,MAAID,UAAWkG,GAA4BL,EAAUiB,0BACpDX,GAA8BlG,IAAAA,cAAA,UAAK4F,EAAUkB,+BAE9C9G,IAAAA,cAAA,MAAID,UAAWkG,GAA4BL,EAAUmB,uBACrD/G,IAAAA,cAAA,MAAID,UAAWkG,GAA4BL,EAAUoB,iDACrDhH,IAAAA,cAAA,MAAID,UAAWkG,GAA4BL,EAAUqB,mDACrDjH,IAAAA,cAAA,MAAID,UAAWkG,GAA4BL,EAAUsB,uCACrDlH,IAAAA,cAAA,UAAK4F,EAAUuB,2BAUrBC,EAAmF9B,IACrF,MAAM,UAAEM,GAAcN,EACtB,OACItF,IAAAA,cAAAA,IAAAA,SAAA,KACKsF,EAAMgB,uBACHtG,IAAAA,cAAA,UACIA,IAAAA,cAACqF,EAAmC5N,OAAAwI,OAAA,GAAKqF,UAG7C1L,EAEJoG,IAAAA,cAAA,WACAA,IAAAA,cAAA,MAAID,UAAW,GAAGuF,EAAMvF,kBAAmB6F,EAAUY,2BAUpDa,EAA6E/B,IACtF,MAAMgC,EAAe,GAAGhC,EAAMvF,iBAE9B,IAAIwH,EAQJ,OALIA,EAFiG,QAAhFC,EAAAA,EAAAA,UAAS,CAAEC,QAASC,EAAAA,YAAYC,SAAUnR,QAAS8O,EAAM9O,QAAQoR,UAEpE5H,IAAAA,cAACoH,EAAsC3P,OAAAwI,OAAA,GAAKqF,IAE5CtF,IAAAA,cAACgG,EAAuCvO,OAAAwI,OAAA,GAAKqF,IAI3DtF,IAAAA,cAAA,SAAOD,UAAWuF,EAAMvF,WACpBC,IAAAA,cAAA,MAAID,UAAWuH,GAAeC,qrBCrD1C,MAAMM,EAAeA,CAACrR,EAAuB+N,EAA4B1D,SACtDjH,IAAX2K,EACO,GAEJ/N,EAAQsR,iBAAiBC,eAAexD,EAAQ1D,GAQrDmH,EAA0E1C,IAC5E,MAAMjI,EAAUiI,EAAM5E,KAAKrD,QAErB4K,GAAuBC,EAAAA,EAAAA,QAAO5C,EAAMM,UAAUuC,qCAAsC9K,EAAQlB,UAAUC,WACtGgM,EAAepI,IAAAA,aAAkB,KACnC3C,EAAQgL,YAAchL,EAAQgL,aAC/B,CAAChL,IAEJ,OACI2C,IAAAA,cAAA,SAAOD,UAAW2F,GAAAA,CAAW,GAAGJ,EAAMvF,gCAAiC,uBACnEC,IAAAA,cAAA,SACID,UAAW2F,GAAAA,CAAW,GAAGJ,EAAMvF,4BAA6B,kBAC5D4F,KAAK,WACLG,QAASzI,EAAQiL,oBAAsBjL,EAAQgL,WAAU,aAC7CJ,EAAoB,eAClB5K,EAAQiL,oBAAsBjL,EAAQgL,WACpDtC,SAAUqC,EACVG,UAAWlL,EAAQiL,qBAEvBtI,IAAAA,cAAA,QAAMD,UAAW2F,GAAAA,CAAW,GAAGJ,EAAMvF,uBAAwB,iBAUnEyI,EAA8ElD,IAAqC,IAAAmD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACrH,MAAMzL,EAAUiI,EAAM5E,KAAKrD,QACrB0L,GAAmBC,EAAAA,EAAAA,qBACA,QADmBP,EACxCpL,EAAQ4L,qBAAa,IAAAR,OAAA,EAArBA,EAAuBS,OACvB5D,EAAM9O,QAAQ2S,cAAc9R,eAAexB,YAClB,QAD6B6S,EACtDpD,EAAM9O,QAAQoR,QAAQzB,WAAG,IAAAuC,GAAQ,QAARA,EAAzBA,EAA2BtC,cAAM,IAAAsC,OAAA,EAAjCA,EAAmCU,kBAGjCC,EAAqB,GAAG/D,EAAMvF,qCAE9BuJ,EAAyC,QAA9BX,EAAwB,QAAxBC,EAAGvL,EAAQ4L,qBAAa,IAAAL,OAAA,EAArBA,EAAuBjQ,YAAI,IAAAgQ,EAAAA,EAAItL,EAAQlB,UAAUoN,YAErE,OACIvJ,IAAAA,cAAA,OAAKD,UAAWsJ,GACZrJ,IAAAA,cAACwJ,EAAAA,GAAK,CACFnS,eAAgBiO,EAAM9O,QAAQ2S,cAAc9R,eAC5C0I,UAAW,GAAGsJ,mBACdI,QAASH,EAETI,KAA0B,QAArBb,EAAAxL,EAAQ4L,qBAAa,IAAAJ,OAAA,EAArBA,EAAuBc,kBAAmB,QAC/CC,YAAab,EACbc,aAAcvE,EAAM9O,QAAQoR,QAAQiC,aACpCC,cAAkC,QAArBhB,EAAExD,EAAMwE,qBAAa,IAAAhB,EAAAA,EAAIiB,EAAAA,GACtCC,oBAAoB,YAWvBC,EAAkF3E,IAAqC,IAAA4E,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAChI,MACI7J,MAAM,QAAErD,EAAO,WAAE1C,EAAU,gBAAE6C,IAC7B8H,EACEnJ,EAAYkB,EAAQlB,UAEpBqO,GAAaC,EAAAA,EAAAA,IAAkCtO,EAAUC,UAAWD,EAAUuO,aAAclN,GAC5FmN,EAAsD,QAAhCT,EAAG5E,EAAM9O,QAAQoR,QAAQgD,eAAO,IAAAV,OAAA,EAA7BA,EAA+BW,uBACxDC,EAAqD,QAAhCX,EAAG7E,EAAM9O,QAAQoR,QAAQgD,eAAO,IAAAT,OAAA,EAA7BA,EAA+BY,sBACvDC,GAAeC,EAAAA,EAAAA,IACjBT,EACArO,EACAA,EAAUuO,aACVC,EACArF,EAAM4F,oCACN5F,EAAM5E,KAAKyK,4BACXL,GAEEM,EAAgD,CAClDC,OAAQ/F,EAAMM,UAAU0F,mBACxBC,KAAMjG,EAAMM,UAAU4F,oBACtBC,SAAUnG,EAAMM,UAAU8F,mBAC1BC,MAAOrG,EAAMM,UAAUgG,iBAErBC,GAAqBC,EAAAA,EAAAA,IAAsBd,EAAcI,EAAuB9F,EAAM4F,qCAatFa,EAX8C,CAChDC,SAAU1G,EAAMM,UAAUqG,oBAC1BC,eAAgB5G,EAAMM,UAAUuG,0BAChCC,SAAU9G,EAAMM,UAAUyG,oBAC1BC,WAAYhH,EAAMM,UAAU2G,sBAC5BC,QAASlH,EAAMM,UAAU6G,mBACzBC,aAAS9S,EACT+S,QAASrH,EAAMM,UAAUgH,qBAGTC,EAAAA,EAAAA,IAAmB7B,EAAc7O,EAAU2Q,iBAAkBtC,IAG3EvE,EAA4B,GAAGX,EAAMvF,gCAErCuJ,EAAyC,QAA9Bc,EAAwB,QAAxBC,EAAGhN,EAAQ4L,qBAAa,IAAAoB,OAAA,EAArBA,EAAuB1R,YAAI,IAAAyR,EAAAA,EAAIjO,EAAUoN,YAE7D,IAAIwD,EAAa,GACjB,IAAKzP,EAAAA,iBAAiBC,kBAAkB+L,KAAiBhM,EAAAA,iBAAiBC,kBAAkBpB,EAAUC,aAClG2Q,GAAaC,EAAAA,EAAAA,uBAAsB1D,EAAanN,EAAUC,UAAWkJ,EAAM9O,QAAQ2S,eAE/E8D,EAAAA,GAASC,YAAapR,EAAAA,EAAAA,IAAiBwJ,EAAM9O,QAAQ2S,cAAc9R,iBAAiB,CAAC,IAAD8V,EACpF,MAAMC,EAAU,IAAIC,IAAIN,EAAYO,OAAOC,SAASrN,MACpDkN,EAAQI,aAAaC,IAAI,YAAa,GAAsB,QAAtBN,EAAGhR,EAAUE,iBAAS,IAAA8Q,EAAAA,EAAI,KAChEJ,EAAaK,EAAQlN,KAK7B,MAAMgG,EACFZ,EAAM9O,QAAQ2P,IAAIC,OAAOC,0BAAkF,SAAtDf,EAAM9O,QAAQ2P,IAAIC,OAAOC,yBAE5EqH,EAAaA,CAAClX,EAAuBmX,KACvC,QAAa/T,IAAT+T,EACA,MAAO,GAIX,OAAOnX,EAAQsR,iBAAiB4F,WAAWC,EADH,CAAEC,KAAM,UAAWC,MAAO,OAAQC,IAAK,aAI7EC,OAA6DnU,IAAhCuC,EAAU6R,mBAAmE,OAAhC7R,EAAU6R,kBACpFC,OAAmErU,IAApCuC,EAAU+R,uBAA2E,OAApC/R,EAAU+R,sBAE1FC,EAAiB,IAAIC,EAAAA,oBAAoB/Q,EAAQlB,UAAWkB,EAAQ4L,cAAe8D,GAIzF,OACI/M,IAAAA,cAAAA,IAAAA,SAAA,KACKsF,EAAMgB,uBACHtG,IAAAA,cAAA,UACIA,IAAAA,cAACgI,EAAgCvQ,OAAAwI,OAAA,GAAKqF,UAG1C1L,EAEJoG,IAAAA,cAAA,UACIA,IAAAA,cAACwI,EAAoC/Q,OAAAwI,OAAA,GAAKqF,KAE9CtF,IAAAA,cAAA,UAAK7D,EAAU+M,QACflJ,IAAAA,cAAA,UACIA,IAAAA,cAAA,OAAKD,UAAW,GAAGuF,EAAMvF,2BACrBC,IAAAA,cAAA,KAAGD,UAAW,GAAGuF,EAAMvF,0BAA2BG,KAAM6M,GACnDzD,GAELtJ,IAAAA,cAAA,QAAMD,UAAW,GAAGuF,EAAMvF,iCACA,QAD+BuK,EACpDjN,EAAQ4L,qBAAa,IAAAqB,GAAY,QAAZA,EAArBA,EAAuB+D,kBAAU,IAAA/D,OAAA,EAAjCA,EAAmC7Q,KAAI6U,IAAS,IAAAC,EAAA,OAA4B,QAA5BA,EAAID,EAAUE,sBAAc,IAAAD,OAAA,EAAxBA,EAA0BzV,SAC1EoC,QAAOuT,IAAmBC,EAAAA,iBAAiBC,mBAAmBF,KAC9DG,KAAKtJ,EAAMM,UAAUiJ,0CAE5BxR,EAAQiL,oBACNtI,IAAAA,cAAA,OAAKD,UAAU,oBAAoBuF,EAAMM,UAAUkJ,sCAI/D9O,IAAAA,cAAA,MAAID,UAAWkG,GAA4B4B,EAAavC,EAAM9O,QAAS2F,EAAU4S,MAAOpU,EAAW4H,eACnGvC,IAAAA,cAAA,UAAK6L,GACJvG,EAAMqB,+BAA4B/M,EAAYoG,IAAAA,cAAA,UAAK+L,GACpD/L,IAAAA,cAAA,MAAID,UAAWkG,GAA4B9J,EAAU6S,UACpD9I,GAA8BlG,IAAAA,cAAA,UAAK7D,EAAU8S,qBAE9CjP,IAAAA,cAAA,MAAID,UAAWkG,GAA4B4B,EAAavC,EAAM9O,QAAS2F,EAAUyG,YAAajI,EAAW4H,eACzGvC,IAAAA,cAAA,MAAID,UAAWkG,GACT8H,EAtC6B,IAsCAL,EAAWpI,EAAM9O,QAAS2F,EAAU6R,oBAEvEhO,IAAAA,cAAA,MAAID,UAAWkG,GACTgI,EAzC6B,IA0CzBP,EAAWpI,EAAM9O,QAAS2F,EAAU+R,wBAG9ClO,IAAAA,cAAA,UAA8B,QAA9BuK,EAAKpO,EAAU+S,uBAAe,IAAA3E,OAAA,EAAzBA,EAA2B4E,aAC9B7J,EAAM8J,+BAmBJpP,IAAAA,cAAA,UACIA,IAAAA,cAACqP,EAA6C5X,OAAAwI,OAAA,GAAKqF,KAnBvDtF,IAAAA,cAAA,UACIA,IAAAA,cAACsP,EAAAA,EAAoB7X,OAAAwI,OAAA,GACbqF,EAAK,CACTvF,UAAW,GAAGuF,EAAMvF,+BACpBW,KAAM,CAAElF,SAAU,CAAC2S,IACnBvI,UAAS2J,EAAAA,EAAA,GACFjK,EAAMM,WAAS,IAClB4J,kCAAmClK,EAAMM,UAAU6J,iCACnDC,wCAAwCxH,EAAAA,EAAAA,QACpC5C,EAAMM,UAAU+J,sCAChBrG,MAAAA,EAAAA,EAAe,MAGvBsG,oBAAqBtK,EAAMsK,oBAC3BC,QAAM,QAY9B,IAAIC,EAOJ,MAAMC,EACFzK,IACoB,IAAA0K,EAAAC,EACpB,MACIrK,WAAW,uCAAEsK,EAAsC,kCAAEC,IACrD7K,GAEG8K,EAAmBC,IAAkBC,EAAAA,EAAAA,WAAS,GAE/CnU,EAAYmJ,EAAM5E,KAAKrD,QAAQlB,UAE/BmN,EAAoD,QAAzC0G,EAAmC,QAAnCC,EAAG3K,EAAM5E,KAAKrD,QAAQ4L,qBAAa,IAAAgH,OAAA,EAAhCA,EAAkCtX,YAAI,IAAAqX,EAAAA,EAAI7T,EAAUoN,YACxE,IAAIwD,EAAa,GACjB,IAAKzP,EAAAA,iBAAiBC,kBAAkB+L,KAAiBhM,EAAAA,iBAAiBC,kBAAkBpB,EAAUC,aAClG2Q,GAAaC,EAAAA,EAAAA,uBAAsB1D,EAAanN,EAAUC,UAAWkJ,EAAM9O,QAAQ2S,eAE/E8D,EAAAA,GAASC,YAAapR,EAAAA,EAAAA,IAAiBwJ,EAAM9O,QAAQ2S,cAAc9R,iBAAiB,CAAC,IAADkZ,EACpF,MAAMnD,EAAU,IAAIC,IAAIN,EAAYO,OAAOC,SAASrN,MACpDkN,EAAQI,aAAaC,IAAI,YAAa,GAAsB,QAAtB8C,EAAGpU,EAAUE,iBAAS,IAAAkU,EAAAA,EAAI,KAChExD,EAAaK,EAAQlN,KAG7B,MAAMiO,EAAiB,IAAIC,EAAAA,oBAAoB9I,EAAM5E,KAAKrD,QAAQlB,UAAWmJ,EAAM5E,KAAKrD,QAAQ4L,cAAe8D,GAEzGyD,EAAqBxQ,IAAAA,aAAkB,KACrCiN,EAAAA,GAASC,YACTI,OAAOC,SAASrN,KAAO6M,KAE5B,CAACA,IAEE0D,EAASzQ,IAAAA,aAAkB,KAC7B,MAAM0Q,GAA6BN,EAC/BM,GACIZ,GACAA,GAAuB,GAE3BO,EAAeK,GACfZ,EAAyBO,IAEzBP,OAAyBlW,EACzByW,EAAeK,MAEpB,CAACN,EAAmBC,IAEvB,GAAI3B,EAAAA,iBAAiBC,mBAAmB5B,GACpC,OAAO,KAGX,MAAMhN,EAAY,GAAGuF,EAAMvF,gCACrB4Q,EAA4B,GAAG5Q,uBAErC,OACIC,IAAAA,cAAA,OAAKD,UAAWA,GACZC,IAAAA,cAAC4Q,EAAAA,OAAM,CAAC7Q,UAAW,GAAGA,YAAqB8Q,QAASJ,IACnDL,GACGpQ,IAAAA,cAAA,OAAKD,UAAW4Q,GACZ3Q,IAAAA,cAAC4Q,EAAAA,OAAM,CACH7Q,UAAW,GAAG4Q,kBACdE,QAASL,EAAkB,aACfN,GAEXC,GAELnQ,IAAAA,cAACsP,EAAAA,EAAoB7X,OAAAwI,OAAA,GACbqF,EAAK,CACTvF,UAAW,GAAG4Q,eACdjQ,KAAM,CAAElF,SAAU,CAAC2S,IACnBvI,UAAS2J,EAAAA,EAAA,GACFjK,EAAMM,WAAS,IAClB4J,kCAAmClK,EAAMM,UAAU6J,iCACnDC,wCAAwCxH,EAAAA,EAAAA,QACpC5C,EAAMM,UAAU+J,sCAChBrG,MAAAA,EAAAA,EAAe,MAGvBsG,oBAAqBtK,EAAMsK,0BAa7CP,EACF/J,IACoB,IAAAwL,EAAAC,EACpB,MAAOX,EAAmBC,IAAkBC,EAAAA,EAAAA,WAAS,GAE/CnU,EAAYmJ,EAAM5E,KAAKrD,QAAQlB,UAE/BmN,EAAoD,QAAzCwH,EAAmC,QAAnCC,EAAGzL,EAAM5E,KAAKrD,QAAQ4L,qBAAa,IAAA8H,OAAA,EAAhCA,EAAkCpY,YAAI,IAAAmY,EAAAA,EAAI3U,EAAUoN,YACxE,IAAIwD,EAAa,GACjB,IAAKzP,EAAAA,iBAAiBC,kBAAkB+L,KAAiBhM,EAAAA,iBAAiBC,kBAAkBpB,EAAUC,aAClG2Q,GAAaC,EAAAA,EAAAA,uBAAsB1D,EAAanN,EAAUC,UAAWkJ,EAAM9O,QAAQ2S,eAE/E8D,EAAAA,GAASC,YAAapR,EAAAA,EAAAA,IAAiBwJ,EAAM9O,QAAQ2S,cAAc9R,iBAAiB,CAAC,IAAD2Z,EACpF,MAAM5D,EAAU,IAAIC,IAAIN,EAAYO,OAAOC,SAASrN,MACpDkN,EAAQI,aAAaC,IAAI,YAAa,GAAsB,QAAtBuD,EAAG7U,EAAUE,iBAAS,IAAA2U,EAAAA,EAAI,KAChEjE,EAAaK,EAAQlN,KAG7B,MAAMiO,EAAiB,IAAIC,EAAAA,oBAAoB9I,EAAM5E,KAAKrD,QAAQlB,UAAWmJ,EAAM5E,KAAKrD,QAAQ4L,cAAe8D,GAgBzG0D,EAASzQ,IAAAA,aAAkB,KAC7B,MAAM0Q,GAA6BN,EAC/BM,GACIZ,GACAA,GAAuB,GAE3BO,EAAeK,GACfZ,EAAyBO,IAEzBP,OAAyBlW,EACzByW,EAAeK,MAEpB,CAACN,EAAmBC,IAEvB,GAAI3B,EAAAA,iBAAiBC,mBAAmB5B,GACpC,OAAO,KAGX,MAAMhN,EAAY,GAAGuF,EAAMvF,wCACrB4Q,EAA4B,GAAG5Q,uBAErC,OACIC,IAAAA,cAAA,OAAKD,UAAWA,GACZC,IAAAA,cAAC4Q,EAAAA,OAAM,CAAC7Q,UAAW,GAAGA,YAAqB8Q,QAASJ,IACnDL,GACGpQ,IAAAA,cAAA,OAAKD,UAAW4Q,GACZ3Q,IAAAA,cAACsP,EAAAA,EAAoB7X,OAAAwI,OAAA,GACbqF,EAAK,CACTvF,UAAW,GAAG4Q,mBACdjQ,KAAM,CAAElF,SAAU,CAAC2S,IACnBvI,UAAS2J,EAAAA,EAAA,GACFjK,EAAMM,WAAS,IAClB4J,kCAAmClK,EAAMM,UAAU6J,iCACnDC,wCAAwCxH,EAAAA,EAAAA,QACpC5C,EAAMM,UAAU+J,sCAChBrG,MAAAA,EAAAA,EAAe,MAGvBsG,oBAAqBtK,EAAMsK,uBAE/B5P,IAAAA,cAACiR,EAAAA,EAAkB,CACfC,eAAgB5L,EAAM6L,uBACtBpR,UAAW4Q,EACXS,wBAAyB9L,EAAMM,UAAUwL,wBACzCC,UApDQC,EACxBhM,EACAiM,EACAlB,IACC,KACDA,GAAe,IA+CYiB,CAAoBhM,EAAOA,EAAM6L,uBAAyBd,QAahFmB,EAAiFlM,IAAqC,IAAAmM,EAAAC,EAC/H,MACIhR,MAAM,QAAErD,IACRiI,EACEnJ,EAAYkB,EAAQlB,UACpBmN,EAAyC,QAA9BmI,EAAwB,QAAxBC,EAAGrU,EAAQ4L,qBAAa,IAAAyI,OAAA,EAArBA,EAAuB/Y,YAAI,IAAA8Y,EAAAA,EAAItV,EAAUoN,YAE7D,OACIvJ,IAAAA,cAAAA,IAAAA,SAAA,KACKsF,EAAMgB,uBACHtG,IAAAA,cAAA,UACIA,IAAAA,cAACgI,EAAgCvQ,OAAAwI,OAAA,GAAKqF,UAG1C1L,EAEJoG,IAAAA,cAAA,UACIA,IAAAA,cAACwI,EAAoC/Q,OAAAwI,OAAA,GAAKqF,KAE9CtF,IAAAA,cAAA,UACIA,IAAAA,cAAA,OAAKD,UAAW,GAAGuF,EAAMvF,2BACrBC,IAAAA,cAAA,QAAMD,UAAW,GAAGuF,EAAMvF,2BAA4BuJ,GACtDtJ,IAAAA,cAAA,QAAMD,UAAW,GAAGuF,EAAMvF,gCACrBmI,EAAAA,EAAAA,QAAO5C,EAAMM,UAAU+L,+BAAgCxV,EAAU6S,aAI9EhP,IAAAA,cAAA,UACIA,IAAAA,cAAC+P,EAAsCtY,OAAAwI,OAAA,GAAKqF,OAW/CsM,EAAuEtM,IAChF,MAAMuM,EAA+F,QAAhFrK,EAAAA,EAAAA,UAAS,CAAEC,QAASC,EAAAA,YAAYC,SAAUnR,QAAS8O,EAAM9O,QAAQoR,UAChF7H,EAAY2F,GAAAA,CACdJ,EAAMvF,UACNuF,EAAM5E,KAAKrD,QAAQiL,mBAAqB,GAAGhD,EAAMvF,+BAAiC,GAAGuF,EAAMvF,iCAC3FuF,EAAMvF,UACNuF,EAAM5E,KAAKrD,QAAQgL,WAAa,GAAG/C,EAAMvF,sBAAwB,GAAGuF,EAAMvF,yBAG9E,OACIC,IAAAA,cAAA,MAAID,UAAWA,GACV8R,EACG7R,IAAAA,cAACwR,EAAuC/Z,OAAAwI,OAAA,GAAKqF,IAE7CtF,IAAAA,cAACiK,EAAwCxS,OAAAwI,OAAA,GAAKqF,MCzfxDwM,EAAsBxM,GAAoC+C,IAC5D,IAAK,MAAMhL,KAAWiI,EAAM5E,KAAKlF,SAC7B6B,EAAQgL,WAAaA,GAShB0J,EAAiEzM,IAC1E,MAAMgC,EAAe,GAAGhC,EAAMvF,iBACxBiS,EAAkB,GAAG1M,EAAMvF,oBAC3BvE,EAAW8J,EAAM5E,KAAKlF,SACtByW,EAAoBzW,EAASN,QAAOmC,GAAWA,EAAQiL,qBAE7D,OACItI,IAAAA,cAAA,SAAOD,UAAWuF,EAAMvF,WACpBC,IAAAA,cAACqH,EAAgC,CAC7B7Q,QAAS8O,EAAM9O,QACf0b,SAAU5M,EAAM4M,SAChBtb,GAAIob,EACJjS,UAAWiS,EACXpM,UAAWN,EAAMM,UACjBlF,KAAM,GACNiG,0BAA2BrB,EAAMqB,0BACjCL,uBAAwBhB,EAAMgB,uBAC9Bb,cAAexM,EAAAA,gBAAgBkZ,IAAIF,GAAoB5U,GAAiCA,EAAQgL,aAChG7C,YAAasM,EAAmBxM,GAChC8M,wCAAyC9M,EAAM8M,0CAElD5W,EAAS/B,KAAI,CAAC4D,EAAS1F,IAEhBqI,IAAAA,cAAC4R,EAA6B,CAC1Bpb,QAAS8O,EAAM9O,QACf0b,SAAU5M,EAAM4M,SAChBtb,GAAI,GAAG0Q,KAAgB3P,IACvBgN,IAAKtH,EAAQlB,UAAU+M,OACvBnJ,UAAWuH,EACX1B,UAAWN,EAAMM,UACjBkE,cAAexE,EAAMwE,cACrBnD,0BAA2BrB,EAAMqB,0BACjCiJ,oBAAqBtK,EAAMsK,oBAC3B1E,oCAAqC5F,EAAM4F,oCAC3C5E,uBAAwBhB,EAAMgB,uBAC9B5F,KAAM,CACF/F,WAAY2K,EAAM5E,KAAKM,MACvB3D,QAAAA,EACAG,gBAAiB8H,EAAM5E,KAAKlD,gBAC5B2N,4BAA6B7F,EAAM5E,KAAKyK,6BAE5CiH,wCAAyC9M,EAAM8M,wCAC/ChD,+BAAgC9J,EAAM8J,wFC1FvD,MAAM6B,EAAyD/R,IAKjE,IALkE,UACnEa,EAAS,UACTsR,EAAS,wBACTD,EAAuB,eACvBF,GACHhS,EACG,OACIc,EAAAA,cAAC4Q,EAAAA,OAAM,CAAC7Q,UAAW,GAAGA,wBAAiC8Q,QAASQ,EAAWgB,SAAUnB,GAChFE,gFCoBDkB,uxBAAZ,SAAYA,GACRA,EAAAA,EAAA,uBACAA,EAAAA,EAAA,+BAFJ,CAAYA,IAAAA,EAAoB,KAgChC,IAAMC,EAAN,cAA2BvS,EAAAA,cAyMvBrK,YAAmB2P,GACfkN,MAAMlN,GAnMO,KAAAmN,WAAqB,mBAErB,KAAAC,8BAAwC,kEAiUlD,KAAAC,gCAAmCC,GAAiC5c,KAAKsP,MAAMc,OAAO/D,QAASwQ,KAAOD,EAAME,OAAOxS,MAKzG,KAAAyS,iBAAmB,KAChC/c,KAAKgd,UAAYV,EAAqBW,UAMzB,KAAAC,qBAAuB,KACpCld,KAAKgd,UAAYV,EAAqBa,cASzB,KAAAC,mBAAqB,CAClCC,EACAnI,KACA,IAAAoI,EAAAC,EACA,IAAKF,GAAcrd,KAAKgd,YAAcV,EAAqBa,aACvD,OAGJ,MAAM,QAAE1U,EAAU,IAAuC,QAAnC6U,EAAGtd,KAAKsP,MAAM9O,QAAQoR,QAAQtQ,aAAK,IAAAgc,EAAAA,EAAI,GACvDE,OACoC5Z,IAArC5D,KAAKsP,MAAMc,OAAOqN,gBACiB,8BAAhCzd,KAAKsP,MAAMc,OAAOqN,gBACU,iCAAhCzd,KAAKsP,MAAMc,OAAOqN,eAChB9M,QACkC/M,IAAnC5D,KAAKgL,MAAO5K,oBAAuE,KAAnCJ,KAAKgL,MAAO5K,qBAA0C,KAAZqI,EAC/F,OAAOiV,EAAAA,EAAAA,GAAU,CACbjB,WAAYzc,KAAKyc,WACjBY,WAAAA,EACAzN,UAAW,CACP+N,eAAgB3d,KAAKsP,MAAMM,UAAU+N,eACrCC,gBAAiB5d,KAAKsP,MAAMM,UAAUgO,iBAE1CC,YAAaL,EACbM,aAAc9d,KAAKsP,MAAMc,OAAO0N,aAChCC,kCAAmC7I,EACnCvE,0BAAAA,EACAL,uBAAwBtQ,KAAKge,2BAAiE,QAAtCT,EAACvd,KAAKsP,MAAM5E,KAAKuT,eAAenW,cAAM,IAAAyV,GAArCA,EAAuClV,mBAQvF,KAAA6V,oBAAsB,KACnC,GAAIle,KAAKoM,mBAAqBpM,KAAKgd,YAAcV,EAAqBa,aAClE,OAAOrS,EAAAA,EAAAA,GAA4B9K,KAAKoM,oBAS/B,KAAA+R,oBAAsB,KACnC,GAAIne,KAAK2N,qBAAuB3N,KAAKgd,YAAcV,EAAqBa,aACpE,OAAOtQ,EAAAA,EAAAA,GAA8B7M,KAAK2N,sBASjC,KAAAyQ,iBAAmB,KAChC,MACIxO,WAAW,cAAEzG,EAAa,oBAAEC,EAAmB,yBAAEE,GACjD8G,QAAQ,cAAE/G,IACVrJ,KAAKsP,MAET,GAAIjG,GAAiBrJ,KAAKgd,YAAcV,EAAqBa,aACzD,OAAOlU,EAAAA,EAAAA,GAAoB,CACvBE,cAAAA,EACAC,oBAAAA,EACAC,cAAAA,EACAC,yBAAAA,EACAC,iBAAkBvJ,KAAKuJ,oBAWlB,KAAA8U,yBAA2B,KAAK,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC7C,GAAI1e,KAAKgd,YAAcV,EAAqBW,SACxC,OAGJ,MAAM,aAAEzW,GAAiBxG,KAAKsP,MAAM5E,KAE9BiU,EAAmD,QAAtBL,EAAG9X,EAAasB,cAAM,IAAAwW,GAExD,QAFwDA,EAAnBA,EAAqBjc,MACtDC,GAAuBA,EAAKK,OAAS3C,KAAK0c,uCAC9C,IAAA4B,OAAA,EAFqCA,EAEnC7X,UACGmY,EAAsD,QAAtBL,EAAG/X,EAAasB,cAAM,IAAAyW,GAE3D,QAF2DA,EAAnBA,EAAqBlc,MACzDC,GALkC,2DAKXA,EAAKK,cAChC,IAAA4b,OAAA,EAFwCA,EAEtC9X,WACG,QAAEgC,EAAU,IAAuC,QAAnC+V,EAAGxe,KAAKsP,MAAM9O,QAAQoR,QAAQtQ,aAAK,IAAAkd,EAAAA,EAAI,GACvD7N,QACkC/M,IAAnC5D,KAAKgL,MAAO5K,oBAAuE,KAAnCJ,KAAKgL,MAAO5K,qBAA0C,KAAZqI,EACzFoW,OACwDjb,KAArB,QAArC6a,EAAAze,KAAKsP,MAAM5E,KAAKuT,eAAenW,cAAM,IAAA2W,OAAA,EAArCA,EAAuCpW,kBAEI,QADjCqW,EACJ1e,KAAKsP,MAAM5E,KAAKuT,eAAenW,cAAM,IAAA4W,OAAA,EAArCA,EAAuCrW,gBACjD,OACIrI,KAAKgL,OACDhB,EAAAA,cAAC+R,EAAAA,GAA0B,CACvBnb,GAAIZ,KAAKsP,MAAM1O,GACfsb,SAAUlc,KAAKsP,MAAM4M,SACrB1b,QAASR,KAAKsP,MAAM9O,QACpBuJ,UAAU,+BACV+J,cAAe9T,KAAKsP,MAAMc,OAAO0D,cACjC8F,oBAAqB5Z,KAAKsP,MAAMc,OAAOwJ,qBAAuBiF,EAC9DzF,+BAAgCpZ,KAAKsP,MAAMc,OAAO0O,oBAClD5J,oCAAqCyJ,EACrCrO,uBAAwBtQ,KAAKge,wBAC7BrN,0BAA2BA,EAC3BjG,KAAM,CACFM,MAAOhL,KAAKgL,MACZxF,SAAUxF,KAAK+e,sBACfvX,gBAAiBxH,KAAKwH,gBACtB2N,4BAA6BnV,KAAKsP,MAAM5E,KAAKyK,4BAA4BrN,QAE7E8H,UAAW5P,KAAKsP,MAAMM,UACtBwM,wCACIwC,IAAoC9Y,EAAAA,EAAAA,IAAiB9F,KAAKsP,MAAM9O,QAAQ2S,cAAc9R,mBAUzF,KAAA2d,iBAAmB,KAChC,IAAK,MAAM3X,KAAWrH,KAAKif,+BACvB5X,EAAQgL,YAAa,EAEzBrS,KAAKge,yBAA0B,GAMlB,KAAAkB,kBAAoB,KACjClf,KAAKge,yBAA0B,GAgElB,KAAAmB,wBAA0B,KACvC,IAAKnf,KAAKsP,MAAMc,OAAOwJ,oBACnB,OAGJ,MAAMvG,EAAqB,uCAC3B,OACIrJ,EAAAA,cAAA,OAAKD,UAAWsJ,GACXrT,KAAKof,mBAAmB/L,GACxBrT,KAAKqf,6BAA6BhM,GAClCrT,KAAKsf,8BAA8BjM,KAoB/B,KAAAkM,iBAAmB,KAChC,IAAKvf,KAAKsP,MAAMc,OAAOoP,kBACnB,OAAO,KAGX,MAAMC,EAAqB,gDAC3B,OACIzV,EAAAA,cAAA,OAAKD,UAAW0V,GACZzV,EAAAA,cAAC4Q,EAAAA,OAAM,CACH7Q,UAAW2V,GAAAA,CACP,GAAGD,mBACHzf,KAAKgd,YAAcV,EAAqBa,aAAe,2BAA6B,IAExFwC,KAAK,SACL/R,MAAO5N,KAAKsP,MAAMM,UAAUgQ,sCAAqC,aACrD5f,KAAKsP,MAAMM,UAAUgQ,sCACjC/E,QAAS7a,KAAKkd,uBAElBlT,EAAAA,cAAC4Q,EAAAA,OAAM,CACH7Q,UAAW2V,GAAAA,CACP,GAAGD,eACHzf,KAAKgd,YAAcV,EAAqBW,SAAW,2BAA6B,IAEpF0C,KAAK,SACL/R,MAAO5N,KAAKsP,MAAMM,UAAUiQ,kCAAiC,aACjD7f,KAAKsP,MAAMM,UAAUiQ,kCACjChF,QAAS7a,KAAK+c,qBAUb,KAAA+C,qBAAuB,KAA6B,IAAAC,EAAAC,EACjE,MACIpQ,WAAW,eAAEqQ,EAAc,oCAAEC,GAC7B9P,QAAQ,QAAE/D,IACVrM,KAAKsP,MACH6Q,EAAc,CAAEA,YAAangB,KAAKsP,MAAOvF,UAAW2V,GAAAA,CAAU,mBAAoB1f,KAAKsP,MAAMc,OAAOrG,YACpGqW,EAAwE,QAAvDL,GAAGM,EAAAA,EAAAA,IAAW,OAAQrgB,KAAKsP,MAAM9O,QAAQ2S,sBAAc,IAAA4M,EAAAA,EAAI,GAElF,OAAAxG,EAAAA,EAAA,GACOvZ,KAAKsP,OAAK,IACb6Q,YAAAA,EACA9T,QAASA,GACLrC,EAAAA,cAACsW,EAAAA,GAAI7e,OAAAwI,OAAA,GACGoC,EAAO,CACXtC,UAAU,4BACV8S,KAAM7c,KAAKge,wBAA0BkC,EAAsC7T,EAAQwQ,KACnF0D,IAAgB,QAAbP,EAAE3T,EAAQkU,WAAG,IAAAP,EAAAA,EAAI,KACpBQ,UAAW,CAAEC,OAAQzgB,KAAK2c,gCAAiCtb,eAAgBrB,KAAKsP,MAAM9O,QAAQoR,YAGtG8O,mBAAoBN,GAChBpW,EAAAA,cAAC4Q,EAAAA,OAAM,CAAC7Q,UAAU,sCAAsCG,KAAMkW,GACzDH,GAGTU,YAAa,CAAE5W,UAAW,+BAIjB,KAAA6W,gBAAkB,SAC/Bza,GAIA,IAAA0a,EAAA,IAHAC,EAAAlc,UAAAhD,OAAA,QAAAgC,IAAAgB,UAAA,IAAAA,UAAA,GACAuQ,EAAgEvQ,UAAAhD,OAAA,EAAAgD,UAAA,QAAAhB,EAChEmd,EAA2Bnc,UAAAhD,OAAA,EAAAgD,UAAA,QAAAhB,EAE3B,OAAKkd,EAGE3L,MAAAA,GAAoD,QAAzB0L,EAA3B1L,EAA6B6L,+BAAuB,IAAAH,OAAA,EAApDA,EAAsDxe,MAAK4e,GAAgBA,IAAiB9a,EAAUuO,eAFlGqM,GAxcX/gB,KAAKgd,UAAYV,EAAqBa,aACtCnd,KAAKkhB,UAAY,GACjBlhB,KAAKuJ,kBAAmB4X,EAAAA,EAAAA,oBACpBnhB,KAAKsP,MAAM9O,QAAQoR,QAAQwP,kBAC3BphB,KAAKsP,MAAM+R,aACXrhB,KAAKsP,MAAMrH,WAEfjI,KAAKge,yBAA0B,EArMzB,uBACN,QAAKhe,KAAKgL,OAGHhL,KAAKgL,MAAMtF,YAAc4b,GAAAA,CAAIthB,KAAKsP,MAAO,yCAG1C,kBACN,MAAyD,YAAlDgS,GAAAA,CAAIthB,KAAKsP,MAAO,8BAGjB,eACN,MAAyD,WAAlDgS,GAAAA,CAAIthB,KAAKsP,MAAO,8BAGjB,YACN,OAAOgS,GAAAA,CAAIthB,KAAKsP,MAAO,yCAGjB,eACN,OAAOgS,GAAAA,CAAIthB,KAAKsP,MAAO,wCAA0C,GAG3D,sBACN,OAAOgS,GAAAA,CAAIthB,KAAKsP,MAAO,+CAAiD,GAGlE,mBACN,MAAM,GACF1O,EAAE,SACFsb,EAAQ,QACR1b,EAAO,UACPyH,EACA2H,WAAW,cAAE2R,IACbvhB,KAAKsP,MACT,MAAO,CACH1O,GAAAA,EACAsb,SAAAA,EACA1b,QAAAA,EACAyH,UAAAA,EACAsZ,cAAAA,GAIE,mBACN,MAAMC,EAAcxhB,KAAKsP,MAAM5E,KAAK8W,YAAY1Z,OAChD,GAAI0Z,GAAeA,EAAYC,cAAgBzhB,KAAKgL,MAAO,CACvD,MAAM0W,EAAgB,IAAIC,IAAIH,EAAYC,aAAahe,KAAKme,GAA8BA,EAAMC,iBAC1FC,EAAc9hB,KAAKgL,MAAM+W,yBAA2B,GAC1D,IAAIC,EAAQ,EAMZ,OALAF,EAAYG,SAAQC,KACXA,EAAKC,2BAA6B,GAAK,GAAKT,EAAcU,IAAIF,EAAKL,iBACpEG,GAASE,EAAKC,8BAGfH,EAEX,OAAO,EAGD,wBAAqB,IAAAK,EAAAC,EAAAC,EAC3B,IAAKviB,KAAKgL,MACN,OAEJ,MAAM,QAAE4G,GAAY5R,KAAKsP,MAAM9O,SACzB,4BAAE2U,EAA2B,aAAE3O,GAA2B,QAAb6b,EAAGriB,KAAKsP,aAAK,IAAA+S,OAAA,EAAVA,EAAY3X,KAC5DiU,EAAgCnY,MAAAA,GAAoB,QAAR8b,EAAZ9b,EAAcsB,cAAM,IAAAwa,GAEzD,QAFyDA,EAApBA,EAAsBjgB,MACvDC,GAAuBA,EAAKK,OAAS3C,KAAK0c,uCAC9C,IAAA4F,OAAA,EAFqCA,EAEnC7b,UACGkO,EAAyB/C,GAAWA,EAAQgD,SAAWhD,EAAQgD,QAAQC,uBACvEC,EAAwBlD,GAAWA,EAAQgD,SAAWhD,EAAQgD,QAAQG,sBACtEyN,EAA8B,QAAbD,EAAGviB,KAAKgL,aAAK,IAAAuX,OAAA,EAAVA,EAAYtd,WAEhCwd,GAA2F,IAAlE7Q,EAAQzB,IAAIC,OAAOsS,4CAE5C,QAAEja,EAAU,IAAOmJ,EAAQtQ,OAAS,GAIpCmK,UAFiC7H,IAAlC5D,KAAKgL,MAAM5K,oBAAsE,KAAlCJ,KAAKgL,MAAM5K,qBAA0C,KAAZqI,KAIzF+Z,MAAAA,OAAiB,EAAjBA,EAAmB1b,MAAK6b,GACpBA,EAAiBjO,cAAkD,KAAlCiO,EAAiBjO,aAC5CiO,EAAiBjO,eACb1U,KAAK4gB,gBACD+B,EACAhE,EACAxJ,MAAAA,OAA2B,EAA3BA,EAA6BrN,OAC7B6M,IACCgO,EAAiBjO,eAAiBI,EAC3C6N,MAIV/S,WAAW,oBACPzE,EAAmB,4BACnBC,EAA2B,6BAC3BC,EAA4B,qBAC5BC,EAAoB,4BACpBC,EAA2B,kBAC3BC,IAEJxL,KAAKsP,MACT,MAAO,CACHtE,MAAOhL,KAAKgL,MACZC,aAAcjL,KAAKiL,aACnBV,aAAcvK,KAAKuK,aACnBW,SAAU,CACNC,oBAAAA,EACAC,4BAAAA,EACAC,6BAAAA,EACAC,qBAAAA,EACAE,kBAAAA,EACAD,4BAAAA,GAEJE,QAAAA,EACAC,qBAAsB1L,KAAKgL,MAAM4X,qBACjCjX,iBAAkB8W,GAIhB,0BACN,MAAMI,EAAc7iB,KAAKsP,MAAM5E,KAAKmY,YAAY/a,OAChD,IAAK9H,KAAKgL,QAAUhL,KAAKgL,MAAM8X,cAAgBD,EAC3C,OAGJ,MAAME,EAASzB,GAAAA,CAAIthB,KAAKsP,MAAO,2BAA6B,SAGxDM,WAAW,oBACP5C,EAAmB,sBACnBC,EAAqB,oBACrBC,EAAmB,mBACnBC,EAAkB,cAClBE,EAAa,qBACbD,EAAoB,yBACpBE,IAEJtN,KAAKsP,MAET,MAAO,CACH/E,aAAcvK,KAAKuK,aACnBuC,YAAa9M,KAAKgL,MAAM8X,YACxB/V,wBAAwBiW,EAAAA,EAAAA,IAA0BH,GAClDE,OAAAA,EACA7X,SAAU,CACN8B,oBAAAA,EACAC,sBAAAA,EACAC,oBAAAA,EACAC,mBAAAA,EACAE,cAAAA,EACAD,qBAAAA,EACAE,yBAAAA,GAEJ9C,cAAexK,KAAKgL,MAAMuB,cAKlC,4BAKI,OAJKtJ,EAAAA,gBAAgBC,YAAYlD,KAAKkhB,YAClClhB,KAAKijB,qBAGFjjB,KAAKkhB,UAIhB,qCAKI,OAJKje,EAAAA,gBAAgBC,YAAYlD,KAAKkhB,YAClClhB,KAAKijB,qBAGFjjB,KAAKkhB,UAAUhc,QAAOmC,GAAWA,EAAQiL,qBAIpD,wBACI,MACM4Q,EADWljB,KAAKif,+BACY/Z,QAAOmC,GAAWA,EAAQgL,aAC5D,OAAKpP,EAAAA,gBAAgBC,YAAYggB,GAI1BA,EAHI,GAkBRC,SAAM,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACT,MACI9T,WAAW,wBAAE+T,EAAuB,aAAEC,GACtCxT,QAAQ,iBAAEyT,EAAgB,gBAAEC,EAAe,aAAEhG,EAAY,oBAAElE,IAC3D5Z,KAAKsP,MAEHyU,OACmCngB,IAArC5D,KAAKsP,MAAMc,OAAOqN,gBACc,iCAAhCzd,KAAKsP,MAAMc,OAAOqN,eAChBuG,EAAmD,QAAlCZ,EAAGpjB,KAAKsP,MAAM5E,KAAKuZ,SAASnc,cAAM,IAAAsb,OAAA,EAA/BA,EAAiCY,kBACrDE,EAA0D,QAA1Cb,EAAGrjB,KAAKsP,MAAM5E,KAAKwZ,iBAAiBpc,cAAM,IAAAub,OAAA,EAAvCA,EAAyCa,iBAC5DC,EAAWnkB,KAAKsP,MAAM5E,KAAK0Z,qBAAuBpkB,KAAKsP,MAAM5E,KAAK0Z,oBAAoBtc,OACtFuc,EAAcrkB,KAAKsP,MAAM5E,KAAK4Z,kBAAoBtkB,KAAKsP,MAAM5E,KAAK4Z,iBAAiBxc,OACnFyc,EAA0CF,GAAsC,IAAvBA,EAAYziB,OAAeyiB,EAAY,QAAKzgB,GAErG,4BAAEuR,EAA2B,aAAE3O,GAAiBxG,KAAKsP,MAAM5E,KAC3DiU,EAAmD,QAAtB2E,EAAG9c,EAAasB,cAAM,IAAAwb,GAExD,QAFwDA,EAAnBA,EAAqBjhB,MACtDC,GAAuBA,EAAKK,OAAS3C,KAAK0c,uCAC9C,IAAA4G,OAAA,EAFqCA,EAEnC7c,UACGmY,EAAsD,QAAtB2E,EAAG/c,EAAasB,cAAM,IAAAyb,GAE3D,QAF2DA,EAAnBA,EAAqBlhB,MACzDC,GANkC,2DAMXA,EAAKK,cAChC,IAAA4gB,OAAA,EAFwCA,EAEtC9c,WACG,eAAExG,EAAiB,GAAE,QAAEwI,EAAU,GAAE,cAAEC,EAAgB,IAA4D,QAAxD8a,EAAGxjB,KAAKsP,MAAM9O,QAAQ2S,cAAc9R,eAAeC,aAAK,IAAAkiB,EAAAA,EAAI,GAErHgB,EACFxkB,KAAKgL,QACLyZ,EAAAA,EAAAA,IACIzkB,KAAKsP,MACLtP,KAAKyc,WACLzc,KAAKgL,MACLhL,KAAKuK,aACLyZ,EACAE,EACAC,EACAI,EACAT,GACA,EACAD,MAAAA,GAAAA,GAGFa,EACF1kB,KAAKge,0BAA4BwG,OAAwB5gB,GAAY+gB,EAAAA,EAAAA,IAAoBH,GAE7F,IAAII,EAAoC5kB,KAAK8f,uBAQ7C,IAPI+E,EAAAA,EAAAA,IAAc7kB,KAAKsP,MAAM9O,QAAQoR,UAAjCiT,MAA6CL,GAAAA,EAAuBM,eAAiBP,IACrFK,EAASrL,EAAAA,EAAA,GACFqL,GAAS,IACZG,SAAUL,MAAAA,OAAgB,EAAhBA,EAAkBK,aAI/Btc,GAAWC,KAAmB1I,KAAKsP,MAAM9O,QAAQ2S,cAAc9R,eAAemD,KAAKC,gBAAiB,CAAC,IAADugB,EACrG,MAAMC,EAAkF,QAAzED,EAAWhlB,KAAKsP,MAAM9O,QAAQ2S,cAAc9R,eAAemD,KAAKygB,iBAAS,IAAAD,EAAAA,EAAI,GAK5F,OAJIE,EAAAA,GAAShO,WACTI,OAAOC,SAAStN,OAAOgb,GAGpBjlB,KAAKsP,MAAM6V,WAAWP,GAGjC,GAAI5kB,KAAKolB,WAAaplB,KAAKgL,MAQvB,QAPMvC,GAAWC,IAAkB1I,KAAKsP,MAAM9O,QAAQ2S,cAAc9R,eAAemD,KAAKC,iBAAoBxE,KACxG2kB,EAASrL,EAAAA,EAAA,GACFqL,GAAS,IACZS,MAAOrb,EAAAA,cAACsb,EAAAA,EAAK,CAACvb,UAAU,0BAA0BM,MAAOsZ,OAI1D3jB,KAAKsP,MAAM6V,WAAWP,GAGjC,IAAK5kB,KAAKulB,YAKN,OAJAX,EAASrL,EAAAA,EAAA,GACFqL,GAAS,IACZY,QAASxb,EAAAA,cAACsb,EAAAA,EAAK,CAACvb,UAAU,4BAA4BM,MAAOuZ,MAE1D5jB,KAAKsP,MAAM6V,WAAWP,GAEjC,MAAMnf,EAAYmU,IAA4D,QAAzC6J,EAAIzjB,KAAKsP,MAAM5E,KAAKuT,eAAenW,cAAM,IAAA2b,OAAA,EAArCA,EAAuCpb,gBAE1Eod,EAAmB7G,IAAoC9Y,EAAAA,EAAAA,IAAiB9F,KAAKsP,MAAM9O,QAAQ2S,cAAc9R,gBACzGqkB,GAAkBC,EAAAA,EAAAA,GACpB3lB,KAAKsP,MACLtP,KAAKyc,WACLzc,KAAKgL,MACLhL,KAAKwF,SACLxF,KAAKuK,aACLwZ,EACAjG,EACA9d,KAAKuJ,iBACLoV,EACAxJ,EAA4BrN,OAC5B9H,KAAKwH,gBACLxH,KAAKge,wBACLhe,KAAK+e,sBACLtZ,EACAggB,EACwB,QADR/B,EAChB1jB,KAAKsP,MAAM5E,KAAKkb,gBAAQ,IAAAlC,OAAA,EAAxBA,EAA0B5b,QAExBuV,EAAaqI,IAAmBG,EAAAA,EAAAA,GAAcH,GAepD,OAdAd,EAASrL,EAAAA,EAAA,GACFqL,GAAS,IACZjgB,WAAY3E,KAAKgL,MACjB8a,gBAAiBpB,EACjBqB,iBAAkB/lB,KAAKmf,0BACvB6G,UAAWhmB,KAAKuf,mBAChBlC,WAAAA,EACA4I,MAAOjmB,KAAKqe,2BACZ6H,OAAQlmB,KAAKod,mBAAmBC,EAAYsB,GAC5CwH,aAAcnmB,KAAKke,sBACnBkI,QAASpmB,KAAKme,sBACdkI,KAAMrmB,KAAKoe,qBAGRpe,KAAKsP,MAAM6V,WAAWP,GAyKzBvF,6BAA6BtV,GAAiB,IAAAuc,EAClD,IAAItmB,KAAKge,yBAA4B/a,EAAAA,gBAAgBC,YAAYlD,KAAKif,gCAItE,OACIjV,EAAAA,cAAC4Q,EAAAA,OAAM,CACH7Q,UAAW,GAAGA,sBACd8Q,QAAS7a,KAAKgf,iBAAgB,aAClBhf,KAAKsP,MAAMM,UAAU2W,2CACjC3Y,MAAO5N,KAAKsP,MAAMM,UAAU4W,sCAC5BjU,WAAgD,QAAtC+T,EAACtmB,KAAKsP,MAAM5E,KAAKuT,eAAenW,cAAM,IAAAwe,GAArCA,EAAuCje,iBAEjDrI,KAAKsP,MAAMM,UAAU4W,uCAK1BlH,8BAA8BvV,GAClC,GAAK/J,KAAKge,wBAIV,OACIhU,EAAAA,cAAC4Q,EAAAA,OAAM,CACH7Q,UAAW,GAAGA,uBACd8Q,QAAS7a,KAAKkf,kBAAiB,aACnBlf,KAAKsP,MAAMM,UAAU6W,4CACjC7Y,MAAO5N,KAAKsP,MAAMM,UAAU8W,wCAE3B1mB,KAAKsP,MAAMM,UAAU8W,wCAK1BtH,mBAAmBrV,GAAiB,IAAA4c,EACxC,GAAK3mB,KAAKge,yBAIgC,QAAtC2I,EAAC3mB,KAAKsP,MAAM5E,KAAKuT,eAAenW,cAAM,IAAA6e,GAArCA,EAAuCte,eAI5C,OACI2B,EAAAA,cAACsP,EAAAA,GAAoB,CACjBvP,UAAW,GAAGA,0BACdnJ,GAAIZ,KAAKsP,MAAM1O,GACfsb,SAAUlc,KAAKsP,MAAM4M,SACrBxR,KAAM,CAAElF,SAAUxF,KAAK4mB,mBACvBpmB,QAASR,KAAKsP,MAAM9O,QACpBoP,UAAW5P,KAAKsP,MAAMM,UACtBgK,oBAAqB5Z,KAAKsP,MAAMc,OAAOwJ,sBAwB3CqJ,qBAAkB,IAAA4D,EACtB,MAAMC,EAA2D,QAAxCD,EAAG7mB,KAAKsP,MAAM5E,KAAKuT,eAAenW,cAAM,IAAA+e,GAAuB,QAAvBA,EAArCA,EAAuCliB,WAAWM,kBAAU,IAAA4hB,OAAA,EAA5DA,EAA8DpjB,KAAI0C,IAAY,IAAA4gB,EACtG,MAAMC,EAAyD,QAAxCD,EAAG/mB,KAAKsP,MAAM5E,KAAKuT,eAAenW,cAAM,IAAAif,OAAA,EAArCA,EAAuCvhB,SAASnD,MACtEgF,GAAWA,EAAQL,WAAab,EAAUC,YAE9C,OAAO,IAAIgS,EAAAA,oBAAoBjS,EAAW6gB,MAG9ChnB,KAAKkhB,UAAYje,EAAAA,gBAAgBgkB,YAAYH,MAnkBrCI,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,iCAECD,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,iCAECD,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,+CAQDD,EAAAA,EAAAA,IAAA,CAATE,EAAAA,IAAQ,sCAOCF,EAAAA,EAAAA,IAAA,CAATE,EAAAA,IAAQ,iCAICF,EAAAA,EAAAA,IAAA,CAATE,EAAAA,IAAQ,8BAICF,EAAAA,EAAAA,IAAA,CAATE,EAAAA,IAAQ,2BAICF,EAAAA,EAAAA,IAAA,CAATE,EAAAA,IAAQ,8BAICF,EAAAA,EAAAA,IAAA,CAATE,EAAAA,IAAQ,qCAICF,EAAAA,EAAAA,IAAA,CAATE,EAAAA,IAAQ,kCAiBCF,EAAAA,EAAAA,IAAA,CAATE,EAAAA,IAAQ,kCAgBCF,EAAAA,EAAAA,IAAA,CAATE,EAAAA,IAAQ,uCA6DCF,EAAAA,EAAAA,IAAA,CAATE,EAAAA,IAAQ,yCAuCTF,EAAAA,EAAAA,IAAA,CADCE,EAAAA,IAAQ,2CAUTF,EAAAA,EAAAA,IAAA,CADCE,EAAAA,IAAQ,oDAUTF,EAAAA,EAAAA,IAAA,CADCE,EAAAA,IAAQ,sCA9LP7K,GAAY2K,EAAAA,EAAAA,IAAA,CADjBG,EAAAA,IACK9K,GAypBN,6SCttBO,MAAM+K,EAA2Dpe,IAAA,IAAC,sBACrEqe,EAAqB,QACrB9e,EAAO,UACP+e,EAAS,YACTC,EAAW,MACXC,EAAK,OACLnZ,EAAM,mBACNoZ,EAAkB,YAClBC,EAAW,eACXC,EAAc,KACdC,GACH5e,EAAA,OACGc,EAAAA,cAAC+d,EAAAA,KAAItmB,OAAAwI,OAAA,GAAKsd,GACLK,EACAC,EACAF,EACAlf,EACA+e,EACAC,EACAC,EACAnZ,EACAuZ,IAIIE,EAA8Cjd,IAAA,IAAC,eAAEkd,EAAc,UAAE9hB,EAAS,eAAE+hB,EAAc,OAAEC,GAAQpd,EAAA,OAC7Gf,EAAAA,cAAC+d,EAAAA,KAAItmB,OAAAwI,OAAA,GAAKge,GACL9hB,EACA+hB,EACAC,IAIIC,EAAsDC,IAAA,IAAC,cAAEC,EAAa,QAAEjc,EAAO,MAAEqb,GAAOW,EAAA,OACjGre,EAAAA,cAAC+d,EAAAA,KAAItmB,OAAAwI,OAAA,GAAKqe,GACLjc,EACAqb,IAIIa,EAAsCC,IAAA,IAAC,WAChDC,EAAU,SACVC,EAAQ,QACRC,EAAO,gBACPC,EAAe,WACfvL,EAAU,0BACV1M,GACH6X,EAAA,OACGxe,EAAAA,cAAC+d,EAAAA,KAAItmB,OAAAwI,OAAA,GAAKwe,GACLC,GAAY1e,EAAAA,cAACoe,EAAyB3mB,OAAAwI,OAAA,GAAKye,IAC3CrL,GACGrT,EAAAA,cAAC+d,EAAAA,KAAItmB,OAAAwI,OAAA,GAAK2e,GACLvL,EAAW5Z,KAAI0C,GACZ6D,EAAAA,cAACA,EAAAA,SAAc,CAAC2E,IAAKxI,EAAUuE,KAAKvE,UAAU0iB,QACT,SAAhC1iB,EAAUuE,KAAKsK,cAA2B7O,EAAUuE,KAAKoe,SAAW3iB,EAAU4iB,aAAe,KAC9F/e,EAAAA,cAACge,EAAqBvmB,OAAAwI,OAAA,GAAK9D,KACzBwK,GAA6BxK,EAAU6iB,iBAKvDN,EAAS5K,cAAgB6K,EAC1BD,EAAS5K,cACN9T,EAAAA,cAAC+d,EAAAA,KAAItmB,OAAAwI,OAAA,GAAKye,EAASO,aACdN,EACAD,EAASQ,sBAMbC,EAAwCC,IAAA,IAAC,YAAEC,EAAW,OAAEnD,GAAQkD,EAAA,OACzEpf,EAAAA,cAAC+d,EAAAA,KAAItmB,OAAAwI,OAAA,GAAKof,GACLnD,EAAOziB,KAAI,CAAC6lB,EAAe3nB,IACxBqI,EAAAA,cAACue,EAAiB9mB,OAAAwI,OAAA,CAAC0E,IAAKhN,GAAW2nB,QAKlCC,EAAoDC,IAAA,IAAC,kBAC9Dpd,EAAiB,QACjBC,EAAO,SACPC,EAAQ,SACRE,EAAQ,IACRC,EAAG,YACHE,EAAW,aACX1B,GACHue,EAAA,OACGxf,EAAAA,cAAC+d,EAAAA,KAAItmB,OAAAwI,OAAA,GAAKmC,GACLC,EACAC,EACAE,EACAC,EACAE,EACA1B,IAIIwe,EAAiDC,IAAA,IAAC,oBAAE/b,EAAmB,MAAEC,EAAK,QAAEC,GAAS6b,EAAA,OAClG1f,EAAAA,cAAC+d,EAAAA,KAAItmB,OAAAwI,OAAA,GAAK0D,GACLC,EACAC,IAII8b,EAAoCC,IAAA,IAAC,UAAE9f,EAAS,cAAEX,EAAa,oBAAEC,EAAmB,cAAEC,GAAeugB,EAAA,OAC9G5f,EAAAA,cAAC+d,EAAAA,KAAItmB,OAAAwI,OAAA,GAAKH,GACLX,EACAC,EACAC,IAqCT,EAjC2DwgB,IActD,IAduD,YACxD1J,EAAW,iBACX4F,EAAgB,UAChBC,EAAS,MACTC,EAAK,SACLlB,EAAQ,QACR1Y,EAAO,MACPgZ,EAAK,QACLG,EAAO,gBACPM,EAAe,aACfK,EAAY,QACZC,EAAO,KACPC,EAAI,OACJH,GACH2D,EACG,OACI7f,EAAAA,cAAC8f,EAAAA,OAAMroB,OAAAwI,OAAA,GAAKkW,GACP4E,EACA1Y,EACAgZ,EACAG,EACAM,GAAmB9b,EAAAA,cAACsd,EAA2B7lB,OAAAwI,OAAA,GAAK6b,IACpDC,EACAC,EACAC,EACAC,GAAUlc,EAAAA,cAACmf,EAAkB1nB,OAAAwI,OAAA,GAAKic,IAClCC,GAAgBnc,EAAAA,cAACuf,EAAwB9nB,OAAAwI,OAAA,GAAKkc,IAC9CC,GAAWpc,EAAAA,cAACyf,EAAmBhoB,OAAAwI,OAAA,GAAKmc,IACpCC,GAAQrc,EAAAA,cAAC2f,EAAgBloB,OAAAwI,OAAA,GAAKoc","sources":["webpack://nss-commerce/./src/actions/get-sales-order-details-by-confirmation-id.ts?ce6e","webpack://nss-commerce/./src/actions/get-sales-order-with-hydrations.ts?a5de","webpack://nss-commerce/./src/actions/get-tender-types.ts?d667","webpack://nss-commerce/./src/modules/order-details/components/get-help.tsx?57cc","webpack://nss-commerce/./src/modules/order-details/components/get-order-summary.tsx?ba20","webpack://nss-commerce/./src/modules/order-details/components/get-payment-methods.tsx?eed1","webpack://nss-commerce/./src/modules/order-details/components/table-view/components/order-details-table-header-component.tsx?ab70","webpack://nss-commerce/./src/modules/order-details/components/table-view/components/order-details-table-row-component.tsx?bbd4","webpack://nss-commerce/./src/modules/order-details/components/table-view/order-details-table.tsx?7c6f","webpack://nss-commerce/./src/modules/order-details/components/view-tracking-button.tsx?3e36","webpack://nss-commerce/./src/modules/order-details/order-details.tsx?4414","webpack://nss-commerce/./src/modules/order-details/order-details.view.tsx?89b1"],"sourcesContent":["/*!\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} from '@msdyn365-commerce/core';\nimport {\n ChannelReferenceLookupCriteria,\n OrderShipments,\n SalesOrder,\n SalesOrdersDataActions,\n SimpleProduct\n} from '@msdyn365-commerce/retail-proxy';\nimport { buildCacheKey } from '@msdyn365-commerce-modules/retail-actions';\n\n/**\n * IOrderHistory.\n */\nexport interface IOrderHistory {\n salesOrders: OrderShipments[];\n products: SimpleProduct[];\n}\n\n/**\n * Action input.\n */\nexport class GetSalesOrderDetailsByConfirmationInput implements IActionInput {\n public channelReferenceLookupCriteria: ChannelReferenceLookupCriteria | null;\n\n public confirmationId: string | undefined;\n\n private readonly apiSettings: ICommerceApiSettings;\n\n public constructor(channelReferenceLookupCriteria: ChannelReferenceLookupCriteria | null, apiSettings: ICommerceApiSettings) {\n this.channelReferenceLookupCriteria = channelReferenceLookupCriteria;\n this.apiSettings = apiSettings;\n this.confirmationId = channelReferenceLookupCriteria?.ChannelReferenceId;\n }\n\n /**\n * GetCacheKey.\n * @returns - String.\n */\n public getCacheKey = (): string => buildCacheKey(`OrderDetails-${this.confirmationId ? this.confirmationId : ''}`, this.apiSettings);\n\n /**\n * GetCacheObjectType.\n * @returns - String.\n */\n public getCacheObjectType = (): string => 'OrderDetails';\n\n /**\n * DataCacheType.\n * @returns - String.\n */\n public dataCacheType = (): CacheType => 'request';\n}\n\n/**\n * Get sales order details by confirmation id action.\n * @param input - GetOrderHistory hydration input.\n * @param context - Channel context.\n * @returns - Sales Order Details.\n */\nexport async function getSalesOrderDetailsByChannelReferenceIdAction(\n input: GetSalesOrderDetailsByConfirmationInput,\n context: IActionContext\n): Promise {\n return SalesOrdersDataActions.getOrderByChannelReferenceLookupCriteriaAsync(\n { callerContext: context },\n input.channelReferenceLookupCriteria\n );\n}\n\n/**\n * GetSalesOrderDetailsByConfirmationIdDataAction.\n * @returns -- IObservableAction.\n */\nexport const getSalesOrderDetailsByChannelReferenceIdDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/order-management/order-lookup/get-sales-order-details-by-confirmation-id',\n action: getSalesOrderDetailsByChannelReferenceIdAction as IAction\n});\n\nexport default getSalesOrderDetailsByChannelReferenceIdDataAction;\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 isChannelTypeB2B\n} from '@msdyn365-commerce/core';\nimport {\n CatalogsDataActions,\n ChannelReferenceAdditionalLookupCriteria,\n ChannelReferenceLookupCriteria,\n ExtensibleEnumeration,\n FeatureState,\n IDictionary,\n ProductDeliveryOptions,\n ProductsDataActions,\n SalesOrder,\n SalesOrdersDataActions,\n SearchLocation,\n SimpleProduct,\n StoreOperationsDataActions,\n TransactionType,\n SalesLine\n} from '@msdyn365-commerce/retail-proxy';\nimport {\n ArrayExtensions,\n buildCacheKey,\n getSimpleProducts,\n ObjectExtensions,\n ProductInput,\n QueryResultSettingsProxy\n} from '@msdyn365-commerce-modules/retail-actions';\n\nimport {\n getFeatureStatesAsync,\n getOnlineChannelAsync\n} from '@msdyn365-commerce/retail-proxy/dist/DataActions/StoreOperationsDataActions.g';\nimport {\n getSalesOrderDetailsByChannelReferenceIdAction,\n GetSalesOrderDetailsByConfirmationInput\n} from './get-sales-order-details-by-confirmation-id';\n/**\n * ISalesOrderWithHydrations.\n */\ninterface ISalesOrderWithHydrations {\n salesOrder: SalesOrder;\n products: SimpleProduct[];\n productDeliveryOptions?: ProductDeliveryOptions[];\n isSameSiteType?: boolean;\n}\n\n/**\n * Product and Catalog Interface.\n */\ninterface IProductCatalog {\n productId: number;\n catalogId: number | undefined;\n}\n\n/**\n * AdditionalLookupCriteria entity interface.\n */\nexport interface IAdditionalLookupCriteria {\n orderStatusLookUpParameterTypeName: string;\n orderStatusLookUpParameterValue: string;\n}\n\n/**\n * OrderTypes Types of orders.\n */\nexport enum orderTypes {\n salesOrder = 'salesOrder',\n transaction = 'transaction'\n}\n\n/**\n * GetQueryStringParameters.\n * @param context -- URL.\n * @returns Additional lookup criteria -- IAdditionalLookupCriteria[].\n */\nconst getQueryStringParameters = (context: IActionContext): IAdditionalLookupCriteria[] => {\n const addtionalLookupParameter: IAdditionalLookupCriteria[] = [];\n let query: IDictionary;\n if (context.requestContext.query) {\n query = context.requestContext.query;\n const queryArray = Object.entries(query);\n\n for (let index = 1; index <= queryArray.length; index++) {\n const additionalFieldName: string = `field${index}Name`;\n const additionalFieldValue = `field${index}Value`;\n if (additionalFieldName in query && additionalFieldValue in query) {\n addtionalLookupParameter.push({\n orderStatusLookUpParameterTypeName: query[additionalFieldName],\n orderStatusLookUpParameterValue: query[additionalFieldValue]\n });\n }\n }\n }\n return addtionalLookupParameter;\n};\n\n/**\n * Calls the Retail API and returns the sales order for anonymous user.\n * @param confirmationId -- Confirmation Id.\n * @returns SalesOrder -- Promise.\n */\nconst getSalesOrderDetailsByLookupCriteria = (confirmationId: string) => async (context: IActionContext): Promise => {\n const { propertyName = '', propertyValue = '' } = context.requestContext.query ?? {};\n\n const addtionalLookupParameter: IAdditionalLookupCriteria[] = getQueryStringParameters(context);\n\n const getExtensibleEnumerations = await StoreOperationsDataActions.getExtensibleEnumerationsAsync({ callerContext: context });\n\n const orderLookupExtensibleEnum: ExtensibleEnumeration[] =\n getExtensibleEnumerations.find(item => item.TypeName === 'OrderLookupAdditionalCriteriaType')?.ExtensibleEnumerations ?? [];\n\n const channelReferenceAdditionalLookupCriteria: ChannelReferenceAdditionalLookupCriteria[] = [];\n\n for (const item of orderLookupExtensibleEnum) {\n const retailProxyValue: string = item.Name.toLocaleLowerCase();\n const retailProxyTypeValue: number = item.Value;\n const orderLookupSearchPropertyName: string = propertyName.toLocaleLowerCase();\n if (retailProxyValue === orderLookupSearchPropertyName) {\n channelReferenceAdditionalLookupCriteria.push({\n OrderLookupAdditionalCriteriaTypeValue: item.Value,\n OrderLookupAdditionalCriteriaTypeParameterValue: propertyValue\n });\n }\n if (ArrayExtensions.hasElements(addtionalLookupParameter)) {\n for (const additionalItem of addtionalLookupParameter) {\n if (retailProxyValue === additionalItem.orderStatusLookUpParameterTypeName.toLocaleLowerCase()) {\n channelReferenceAdditionalLookupCriteria.push({\n OrderLookupAdditionalCriteriaTypeValue: retailProxyTypeValue,\n OrderLookupAdditionalCriteriaTypeParameterValue: additionalItem.orderStatusLookUpParameterValue\n });\n }\n }\n }\n }\n\n const channelReferenceLookupCriteria: ChannelReferenceLookupCriteria = {\n ChannelReferenceId: confirmationId,\n ChannelReferenceAdditionalLookupCriteria: channelReferenceAdditionalLookupCriteria\n };\n\n const input = new GetSalesOrderDetailsByConfirmationInput(channelReferenceLookupCriteria, context.requestContext.apiSettings);\n\n return getSalesOrderDetailsByChannelReferenceIdAction(input, context);\n};\n\n/**\n * Calls the Retail API and returns the sales order.\n * @param orderType -- Order Type.\n * @param orderId -- Order id.\n * @returns SalesOrder -- Promise.\n */\nconst getSalesOrder = (orderType: string = '', orderId: string = '') => async (context: IActionContext): Promise => {\n const { confirmationId = '' } = context.requestContext.query ?? {};\n\n if (confirmationId) {\n return getSalesOrderDetailsByLookupCriteria(confirmationId)(context);\n } else if (orderType === orderTypes.salesOrder) {\n return SalesOrdersDataActions.getSalesOrderDetailsBySalesIdAsync({ callerContext: context }, orderId);\n }\n\n return SalesOrdersDataActions.getSalesOrderDetailsByTransactionIdAsync({ callerContext: context }, orderId, SearchLocation.All);\n};\n\n/**\n * Calls the Retail API and returns the products.\n * @param productCatalog - The product and catalog ids of the product to retrieve.\n * @param channelId - The channel id for the products.\n * @returns Simple product data.\n */\nconst getProductsWithCatalog = (productCatalog: IProductCatalog[], channelId?: number) => async (\n context: IActionContext\n): Promise => {\n const productInputs = productCatalog.map(\n index =>\n new ProductInput(\n index.productId,\n context.requestContext.apiSettings,\n channelId,\n undefined,\n context.requestContext,\n index.catalogId\n )\n );\n return getSimpleProducts(productInputs, context);\n};\n\n/**\n * Action input.\n */\nexport class GetSalesOrderWithHydrationsInput implements IActionInput {\n public orderType: string | undefined;\n\n public orderId: string | undefined;\n\n public confirmationId: string | undefined;\n\n private readonly apiSettings: ICommerceApiSettings;\n\n public constructor(\n orderType: string | undefined,\n orderId: string | undefined,\n apiSettings: ICommerceApiSettings,\n confirmationId?: string\n ) {\n this.orderType = orderType;\n this.orderId = orderId;\n this.apiSettings = apiSettings;\n this.confirmationId = confirmationId;\n }\n\n /**\n * GetCacheKey.\n * @returns String.\n */\n public getCacheKey = (): string => buildCacheKey('SalesOrderWithHydrations', this.apiSettings);\n\n /**\n * GetCacheObjectType.\n * @returns String.\n */\n public getCacheObjectType = (): string =>\n `SalesOrderWithHydrations-${this.orderType ?? ''}-${this.orderId ?? ''}-${this.confirmationId ?? ''}`;\n\n /**\n * DataCacheType.\n * @returns CacheType.\n */\n public dataCacheType = (): CacheType => 'request';\n}\n\n/**\n * Creates the input required to make the retail api call.\n * @param inputData -- InputData as ICreateActionContext.\n * @returns Action Input.\n */\nconst createSalesOrderWithHydrationsInput = (inputData: ICreateActionContext) => {\n const { salesId = '', transactionId = '', confirmationId = '' } = inputData.requestContext.query ?? {};\n\n if (confirmationId) {\n const orderType = undefined;\n const orderId = undefined;\n return new GetSalesOrderWithHydrationsInput(orderType, orderId, inputData.requestContext.apiSettings, confirmationId);\n } else if (salesId) {\n return new GetSalesOrderWithHydrationsInput(orderTypes.salesOrder, salesId, inputData.requestContext.apiSettings);\n } else if (transactionId) {\n return new GetSalesOrderWithHydrationsInput(orderTypes.transaction, transactionId, inputData.requestContext.apiSettings);\n }\n\n throw new Error('createSalesOrderWithHydrationsInput - No salesId, confirmationId or transactionId provided.');\n};\n\n/**\n * Get sales order with hydrations action.\n * @param input -- Input.\n * @param context -- Context.\n * @returns ISalesOrderWithHydrations.\n */\nexport async function getSalesOrderWithHydrationsAction(\n input: GetSalesOrderWithHydrationsInput,\n context: IActionContext\n): Promise {\n const { orderType, orderId } = input;\n\n const { confirmationId = '' } = context.requestContext.query ?? {};\n\n if (context.requestContext.user.isAuthenticated && (!orderType || !orderId) && !confirmationId) {\n context.trace('[getSalesOrderWithHydrationsAction] No orderType or orderId or confirmationId provided.');\n return {};\n }\n\n const salesOrder = await getSalesOrder(orderType, orderId)(context);\n if (salesOrder && salesOrder.SalesLines) {\n salesOrder.SalesLines = salesOrder.SalesLines.filter((saleline: SalesLine) => !saleline.IsVoided);\n }\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 let isEnabled: boolean = true;\n\n if (salesOrder.ChannelId !== context.requestContext.apiSettings.channelId && salesOrder.ChannelId !== undefined) {\n context.trace('[getSalesOrderWithHydrationsAction] SalesOrder is not from current channel.');\n try {\n const channelInfo = await getOnlineChannelAsync({ callerContext: context }, salesOrder.ChannelId);\n const salesOrderChannelType = channelInfo?.OnlineStoreCustomerTypeValue;\n isEnabled = salesOrderChannelType === 1 && isChannelTypeB2B(context.requestContext);\n } catch (error) {\n console.log('Please check the channel type if it is not online, 400 expected.', error);\n }\n }\n\n if (!ArrayExtensions.hasElements(salesOrder.SalesLines)) {\n context.trace('[getSalesOrderWithHydrationsAction] No salesLine found.');\n return {};\n }\n\n const productCatalogIds: IProductCatalog[] = salesOrder.SalesLines.map(salesLine => {\n return {\n productId: salesLine.ProductId !== undefined ? salesLine.ProductId : 0,\n catalogId: salesLine.CatalogId\n };\n });\n\n if (!ArrayExtensions.hasElements(productCatalogIds)) {\n context.trace('[getSalesOrderWithHydrationsAction] No products in saleLines found.');\n return {};\n }\n\n const featureStates = await getFeatureStatesAsync({ callerContext: context }, [\n 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature'\n ]);\n const isCatalogsFeatureEnabled =\n featureStates?.find((featureState: FeatureState) => featureState.Name === 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature')\n ?.IsEnabled || false;\n\n let products: SimpleProduct[] = [];\n\n if (!isCatalogsFeatureEnabled) {\n products = await getProductsWithCatalog(productCatalogIds, salesOrder.ChannelId)(context);\n } else {\n // Get product catalogs for current user. Catalog ids will be stored in RecordId property of userCatalogIds.\n const userCatalogIds = await CatalogsDataActions.getCatalogsAsync(\n { callerContext: context },\n context.requestContext.apiSettings.channelId,\n true\n );\n\n // Filter productCatalogIds to get only those that are in userCatalogIds.\n const matchingProductCatalogIds = productCatalogIds.filter(productCatalogId => {\n return userCatalogIds.some(userCatalogId => userCatalogId.RecordId === productCatalogId.catalogId);\n });\n\n // Filter productCatalogIds to get only those that are NOT in userCatalogIds.\n const nonMatchingProductCatalogIds = productCatalogIds.filter(productCatalogId => {\n return userCatalogIds.some(userCatalogId => userCatalogId.RecordId !== productCatalogId.catalogId);\n });\n\n let matchingProducts: SimpleProduct[] = [];\n if (matchingProductCatalogIds.length !== 0) {\n matchingProducts = await getProductsWithCatalog(\n matchingProductCatalogIds,\n context.requestContext.apiSettings.channelId\n )(context);\n }\n\n let nonMatchingProducts: SimpleProduct[] = [];\n if (nonMatchingProductCatalogIds.length !== 0) {\n nonMatchingProducts = await getProductsWithCatalog(nonMatchingProductCatalogIds, salesOrder.ChannelId)(context);\n }\n\n products = [...matchingProducts, ...nonMatchingProducts];\n }\n\n if (!ArrayExtensions.hasElements(products)) {\n context.trace('[getSalesOrderWithHydrationsAction] No simple products found.');\n return {};\n }\n const validProducts = products.filter(product => !ObjectExtensions.isNullOrUndefined(product.RecordId));\n\n const deliveryOptions = await ProductsDataActions.getDeliveryOptionsAsync(\n {\n callerContext: context,\n queryResultSettings: QueryResultSettingsProxy.getPagingFromInputDataOrDefaultValue(context)\n },\n validProducts.map(product => product.RecordId),\n {},\n 4\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 isSameSiteType: isEnabled\n };\n}\n\n/**\n * GetSalesOrderWithHydrationsAction Data Action.\n * @param options -- Options.\n */\nexport const getSalesOrderWithHydrationsActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/order-management/get-sales-order-with-hydrations',\n action: getSalesOrderWithHydrationsAction as IAction,\n input: createSalesOrderWithHydrationsInput\n});\n\nexport default getSalesOrderWithHydrationsActionDataAction;\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 IAny,\n ICreateActionContext,\n IGeneric\n} from '@msdyn365-commerce/core';\nimport { getTenderTypesAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/StoreOperationsDataActions.g';\nimport { TenderType } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { QueryResultSettingsProxy } from '@msdyn365-commerce-modules/retail-actions';\n\n/**\n * Action input.\n */\nexport class GetTenderTypesInput implements IActionInput {\n public getCacheKey = () => 'TenderTypes';\n\n public getCacheObjectType = () => 'TenderTypes';\n\n public dataCacheType = (): CacheType => 'request';\n}\n\n/**\n * CreateInput method for the getTenderTypes method.\n * @param inputData -- The input data passed to the createInput method.\n * @returns - Input for data action.\n */\nexport const createTenderTyperInput = (inputData: ICreateActionContext>): IActionInput => {\n return new GetTenderTypesInput();\n};\n\n/**\n * Get tender type action.\n * @param input - Input data.\n * @param context - Action context.\n * @returns - TenderType\n */\nexport async function getTenderTypeAction(input: GetTenderTypesInput, context: IActionContext): Promise {\n const tenderType = await getTenderTypesAsync({\n callerContext: context,\n queryResultSettings: QueryResultSettingsProxy.getPagingFromInputDataOrDefaultValue(context)\n });\n\n return tenderType;\n}\n\n/**\n * Get Tender Types Data Action.\n */\nexport const getTenderTypeActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/order-management/get-tender-types',\n action: getTenderTypeAction as IAction,\n input: createTenderTyperInput\n});\n\nexport default getTenderTypeActionDataAction;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, IPayLoad, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IGetHelpInput, IHelp } from '../../../common';\n\nexport const getOrderDetailsHelp = ({\n needHelpLabel,\n helpLineNumberLabel,\n contactNumber,\n helpLineContactAriaLabel,\n telemetryContent\n}: IGetHelpInput): IHelp => {\n const payLoad: IPayLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.ContactNumber);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return {\n helpProps: { className: 'ms-order-details__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 priceCurrency?: string;\n}\n\nconst OrderSummaryLine: React.SFC = ({ name, label, value = 0, priceContext, priceCurrency }) => (\n

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

\n);\n\nexport const getOrderDetailsOrderSummary = ({\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 shippingChargeAmount\n // True True shippingChargeAmount\n // True false shippingChargeAmount + taxOnShippingCharge\n const shippingCharge =\n isTaxIncludedInPrice && !isShowTaxBreakUp ? shippingChargeAmount + taxOnShippingCharge : order.ShippingChargeAmount;\n return {\n orderSummaryProps: { className: 'ms-order-details__order-summary' },\n heading:

{orderSummaryHeading}

,\n subtotal: (\n \n ),\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 { TenderLine } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport * as React from 'react';\n\nimport { IPaymentMethods, IPaymentMethodsInput } from '../../../common';\n\nexport const getOrderDetailsPaymentMethods = ({\n priceContext,\n tenderLines,\n tenderIdOperationIdMap,\n resource: {\n paymentMethodsTitle,\n creditCardEndingLabel,\n giftCardEndingLabel,\n amountCoveredLabel,\n loyaltyCardUsedLabel,\n cashUsedLabel,\n customerAccountUsedLabel\n },\n priceCurrency\n}: IPaymentMethodsInput): IPaymentMethods => {\n const OPERATIONS = {\n PayCard: 201,\n PayGiftCertificate: 214,\n PayLoyalty: 207,\n PayCash: 200,\n PayCustomerAccount: 202\n };\n\n const getLastFourDigit = (digits = '') => (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 getCustomerAccountPayment = (tenderLine: TenderLine) => (\n
\n

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

\n

\n {amountCoveredLabel}\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 return {\n paymentMethodsProps: { className: 'ms-order-details__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 OPERATIONS.PayCard:\n lines.push(getCard(tenderLine, tenderLines.length > 1));\n break;\n case OPERATIONS.PayGiftCertificate:\n lines.push(getGiftCertificate(tenderLine));\n break;\n case OPERATIONS.PayLoyalty:\n lines.push(getLoyalty(tenderLine));\n break;\n case OPERATIONS.PayCash:\n lines.push(getCash(tenderLine));\n break;\n case OPERATIONS.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 { IAny, IComponentProps, ICoreContext, IGeneric } from '@msdyn365-commerce/core';\nimport { isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\n/**\n * Resources which are used in order details header.\n */\nexport interface IOrderDetailsTableHeaderResources {\n orderDetailsProductNumberText: string;\n orderDetailsProductText: string;\n orderDetailsUnitPriceText: string;\n orderDetailsModeOfDeliveryText: string;\n orderDetailsStatusText: string;\n orderDetailsQuantityText: string;\n orderDetailsUnitOfMeasureText: string;\n orderDetailsTotalText: string;\n orderDetailsActionsText: string;\n orderDetailsSelectAllRadioAriaLabelText: string;\n orderDetailsConfirmedShipDateTextForTableHeader: string;\n orderDetailsRequestDeliveryDateTextForTableHeader: string;\n orderDetailsAddressTextForTableHeader: string;\n}\n\n/**\n * Configuration of the component.\n */\nexport interface IOrderDetailsTableHeaderProps extends IComponentProps {\n context: ICoreContext>;\n className: string;\n\n resources: IOrderDetailsTableHeaderResources;\n\n isCashAndCarryTransaction: boolean;\n isSelectedAll: boolean;\n isSelectionModeEnabled: boolean;\n isChannelMultipleCatalogsFeatureEnabled?: boolean;\n onSelectAll(isSelected: boolean): void;\n confirmedShipDateAvailable?: boolean;\n}\n\n/**\n * Renders checkbox for order details lines selection.\n * @param props - Order detail table header props.\n * @returns React element.\n */\nconst OrderDetailsHeaderCheckboxComponent: React.FC = (props: IOrderDetailsTableHeaderProps) => {\n const switchCheckedState = React.useCallback(() => {\n props.onSelectAll(!props.isSelectedAll);\n }, [props]);\n\n return (\n \n );\n};\n\n/**\n * Renders desktop view cells.\n * @param props - Configuration of the module.\n * @returns List of cells for the header.\n */\nconst OrderDetailsDesktopHeaderCellsComponent: React.FC = (props: IOrderDetailsTableHeaderProps) => {\n const { resources } = props;\n\n const columnWithNumberClassName = `${props.className}__row__column-with-number`;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- app configs are of generic type\n const shouldDisplayUnitOfMeasure =\n props.context.app.config.unitOfMeasureDisplayType && props.context.app.config.unitOfMeasureDisplayType !== 'none';\n\n return (\n <>\n {props.isSelectionModeEnabled ? (\n \n \n \n ) : (\n undefined\n )}\n \n {resources.orderDetailsProductNumberText}\n {resources.orderDetailsProductText}\n {resources.orderDetailsUnitPriceText}\n {resources.orderDetailsModeOfDeliveryText}\n {props.isCashAndCarryTransaction ? undefined : {resources.orderDetailsStatusText}}\n {resources.orderDetailsQuantityText}\n {shouldDisplayUnitOfMeasure && {resources.orderDetailsUnitOfMeasureText}}\n\n {resources.orderDetailsTotalText}\n {resources.orderDetailsConfirmedShipDateTextForTableHeader}\n {resources.orderDetailsRequestDeliveryDateTextForTableHeader}\n {resources.orderDetailsAddressTextForTableHeader}\n {resources.orderDetailsActionsText}\n \n );\n};\n\n/**\n * Renders mobile view cells.\n * @param props - Configuration of the module.\n * @returns List of cells for the header.\n */\nconst OrderDetailsMobileHeaderCellsComponent: React.FC = (props: IOrderDetailsTableHeaderProps) => {\n const { resources } = props;\n return (\n <>\n {props.isSelectionModeEnabled ? (\n \n \n \n ) : (\n undefined\n )}\n \n {resources.orderDetailsProductText}\n \n );\n};\n\n/**\n * Order details table header component.\n * @param props - Configuration of the component.\n * @returns React node with the header.\n */\nexport const OrderDetailsTableHeaderComponent: React.FC = (props: IOrderDetailsTableHeaderProps) => {\n const rowClassName = `${props.className}__row`;\n\n let headerCells: JSX.Element;\n const isMobileView = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\n if (isMobileView) {\n headerCells = ;\n } else {\n headerCells = ;\n }\n\n return (\n \n {headerCells}\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 { OrderDetailsProduct } from '@msdyn365-commerce/components';\nimport MsDyn365, {\n IAny,\n IComponentProps,\n ICoreContext,\n IDateFormatOptions,\n IGeneric,\n IImageSettings,\n Image,\n isChannelTypeB2B\n} from '@msdyn365-commerce/core';\nimport { ChannelDeliveryOptionConfiguration, format, ProductDeliveryOptions, SalesOrder } from '@msdyn365-commerce/retail-proxy';\nimport { getFallbackImageUrl, getProductPageUrlSync, ObjectExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React, { useState } from 'react';\n\nimport { BuySelectedComponent } from '../../../../../common/buy-selected-component';\nimport { ViewTrackingButton } from '../../view-tracking-button';\nimport {\n getDeliveryDescriptionByProductId,\n getDeliveryType,\n getDeliveryTypeString,\n IDeliveryTypeStringMap,\n ISalesStatusStringMap\n} from '../../../../../common/get-sales-line';\nimport { defaultImageSettings, getSalesStatusCode } from '../../../../../common/utilities';\n\n/**\n * Data required to render each order details row.\n */\nexport interface IOrderDetailsTableRowData {\n salesOrder: SalesOrder;\n product: OrderDetailsProduct;\n deliveryOptions: ProductDeliveryOptions[];\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\n}\n\n/**\n * Resources for order details table rows.\n */\nexport interface IOrderDetailsTableRowResources {\n orderDetailsProductDimensionsSeparator: string;\n orderDetailsQuantityMobileText: string;\n orderDetailsViewDetailsButtonText: string;\n orderDetailsViewDetailsButtonAriaLabel: string;\n pickedUpSalesLines: string;\n deliveredSalesLines: string;\n carryOutSalesLines: string;\n emailSalesLines: string;\n orderStatusReadyForPickup: string;\n orderStatusProcessing: string;\n orderStatusShipped: string;\n orderStatusPickedUp: string;\n orderStatusCanceled: string;\n orderStatusEmailed: string;\n\n orderDetailsSelectRadioAriaLabelText: string;\n\n orderDetailsBuyItAgainButtonText: string;\n orderDetailsBuyItAgainButtonAriaLabel: string;\n orderDetailsBuySelectedAddingToCartErrorNotificationTitle: string;\n orderDetailsBuySelectedAddingToCartErrorNotificationCloseAriaLabel: string;\n orderDetailsUnavailableProductText?: string;\n viewTrackingButtonLabel?: string;\n}\n\n/**\n * Configuration for the order details rows.\n */\nexport interface IOrderDetailsTableRowProps extends IComponentProps {\n context: ICoreContext>;\n className: string;\n\n imageSettings?: IImageSettings;\n isCashAndCarryTransaction: boolean;\n isReorderingEnabled?: boolean;\n isRetailMultiplePickUpOptionEnabled?: boolean;\n isSelectionModeEnabled: boolean;\n\n resources: IOrderDetailsTableRowResources;\n isChannelMultipleCatalogsFeatureEnabled?: boolean;\n orderDetailsReferences?: React.RefObject;\n isExtraButtonDialogViewEnabled?: boolean;\n}\n\n/**\n * Formats amount.\n * @param context - Core context.\n * @param amount - Amount to display.\n * @param currencyCode - Currency for the amount.\n * @returns String value.\n */\nconst formatAmount = (context: ICoreContext, amount: number | undefined, currencyCode: string | undefined) => {\n if (amount === undefined) {\n return '';\n }\n return context.cultureFormatter.formatCurrency(amount, currencyCode);\n};\n\n/**\n * Renders checkbox for order details line selection.\n * @param props - Order detail table row props.\n * @returns React element.\n */\nconst OrderDetailsRowCheckboxComponent: React.FC = (props: IOrderDetailsTableRowProps) => {\n const product = props.data.product;\n\n const checkboxRowAriaLabel = format(props.resources.orderDetailsSelectRadioAriaLabelText, product.salesLine.ProductId);\n const onSelectLine = React.useCallback(() => {\n product.isSelected = !product.isSelected;\n }, [product]);\n\n return (\n \n );\n};\n\n/**\n * Renders product image for order details line.\n * @param props - Order detail table row props.\n * @returns React element.\n */\nconst OrderDetailsRowProductImageComponent: React.FC = (props: IOrderDetailsTableRowProps) => {\n const product = props.data.product;\n const fallbackImageUrl = getFallbackImageUrl(\n product.simpleProduct?.ItemId,\n props.context.actionContext.requestContext.apiSettings,\n props.context.request.app?.config?.OmniChannelMedia\n );\n\n const containerClassName = `${props.className}__product-image-container`;\n\n const productName = product.simpleProduct?.Name ?? product.salesLine.Description;\n\n return (\n
\n \n
\n );\n};\n\n/**\n * Renders rows for desktop view.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of order details rows for desktop view.\n */\nexport const OrderDetailsDesktopTableRowCellComponent: React.FC = (props: IOrderDetailsTableRowProps) => {\n const {\n data: { product, salesOrder, deliveryOptions }\n } = props;\n const salesLine = product.salesLine;\n\n const pickupMode = getDeliveryDescriptionByProductId(salesLine.ProductId, salesLine.DeliveryMode, deliveryOptions);\n const pickupDeliveryModeCode = props.context.request.channel?.PickupDeliveryModeCode;\n const emailDeliveryModeCode = props.context.request.channel?.EmailDeliveryModeCode;\n const deliveryType = getDeliveryType(\n pickupMode,\n salesLine,\n salesLine.DeliveryMode,\n pickupDeliveryModeCode,\n props.isRetailMultiplePickUpOptionEnabled,\n props.data.channelDeliveryOptionConfig,\n emailDeliveryModeCode\n );\n const deliveryTypeStringMap: IDeliveryTypeStringMap = {\n pickUp: props.resources.pickedUpSalesLines,\n ship: props.resources.deliveredSalesLines,\n carryOut: props.resources.carryOutSalesLines,\n email: props.resources.emailSalesLines\n };\n const deliveryTypeString = getDeliveryTypeString(deliveryType, deliveryTypeStringMap, props.isRetailMultiplePickUpOptionEnabled);\n\n const salesStatusStringMap: ISalesStatusStringMap = {\n canceled: props.resources.orderStatusCanceled,\n readyForPickup: props.resources.orderStatusReadyForPickup,\n pickedUp: props.resources.orderStatusPickedUp,\n processing: props.resources.orderStatusProcessing,\n shipped: props.resources.orderStatusShipped,\n unknown: undefined,\n emailed: props.resources.orderStatusEmailed\n };\n\n const salesStatus = getSalesStatusCode(deliveryType, salesLine.SalesStatusValue, pickupMode);\n const salesStatusString = salesStatusStringMap[salesStatus];\n\n const columnWithNumberClassName = `${props.className}__column-with-number`;\n\n const productName = product.simpleProduct?.Name ?? salesLine.Description;\n\n let productUrl = '';\n if (!ObjectExtensions.isNullOrUndefined(productName) && !ObjectExtensions.isNullOrUndefined(salesLine.ProductId)) {\n productUrl = getProductPageUrlSync(productName, salesLine.ProductId, props.context.actionContext);\n\n if (MsDyn365.isBrowser && isChannelTypeB2B(props.context.actionContext.requestContext)) {\n const fullUrl = new URL(productUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${salesLine.CatalogId ?? 0}`);\n productUrl = fullUrl.href;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- app configs are of generic type\n const shouldDisplayUnitOfMeasure =\n props.context.app.config.unitOfMeasureDisplayType && props.context.app.config.unitOfMeasureDisplayType !== 'none';\n\n const formatDate = (context: ICoreContext, date: Date | undefined) => {\n if (date === undefined) {\n return '';\n }\n\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'long', day: 'numeric' };\n return context.cultureFormatter.formatDate(date, dateOptions);\n };\n\n const confirmedShipDateAvailable = salesLine.ConfirmedShipDate === undefined || salesLine.ConfirmedShipDate === null;\n const requestDeliveryDateAvailable = salesLine.RequestedDeliveryDate === undefined || salesLine.RequestedDeliveryDate === null;\n\n const currentProduct = new OrderDetailsProduct(product.salesLine, product.simpleProduct, productUrl);\n\n const defaultConfirmedShipDateLabelValue = '-';\n\n return (\n <>\n {props.isSelectionModeEnabled ? (\n \n \n \n ) : (\n undefined\n )}\n \n \n \n {salesLine.ItemId}\n \n
\n \n {productName}\n \n \n {product.simpleProduct?.Dimensions?.map(dimension => dimension.DimensionValue?.Value)\n .filter(dimensionValue => !StringExtensions.isNullOrWhitespace(dimensionValue))\n .join(props.resources.orderDetailsProductDimensionsSeparator)}\n \n {!product.isProductAvailable && (\n
{props.resources.orderDetailsUnavailableProductText}
\n )}\n
\n \n {formatAmount(props.context, salesLine.Price, salesOrder.CurrencyCode)}\n {deliveryTypeString}\n {props.isCashAndCarryTransaction ? undefined : {salesStatusString}}\n {salesLine.Quantity}\n {shouldDisplayUnitOfMeasure && {salesLine.UnitOfMeasureSymbol}}\n\n {formatAmount(props.context, salesLine.TotalAmount, salesOrder.CurrencyCode)}\n \n {!confirmedShipDateAvailable ? formatDate(props.context, salesLine.ConfirmedShipDate) : defaultConfirmedShipDateLabelValue}\n \n \n {!requestDeliveryDateAvailable\n ? formatDate(props.context, salesLine.RequestedDeliveryDate)\n : defaultConfirmedShipDateLabelValue}\n \n {salesLine.ShippingAddress?.FullAddress}\n {!props.isExtraButtonDialogViewEnabled ? (\n \n \n \n ) : (\n \n \n \n )}\n \n );\n};\n\nlet setShowPreviousActions: React.Dispatch> | undefined;\n\n/**\n * Renders actions popup for the mobile view.\n * @param props - Configuration for popup.\n * @returns A react node with actions..\n */\nconst OrderDetailsExtraActionsPopupComponent: React.FC = (\n props: IOrderDetailsTableRowProps\n): JSX.Element | null => {\n const {\n resources: { orderDetailsViewDetailsButtonAriaLabel, orderDetailsViewDetailsButtonText }\n } = props;\n\n const [shouldShowActions, setShowActions] = useState(false);\n\n const salesLine = props.data.product.salesLine;\n\n const productName = props.data.product.simpleProduct?.Name ?? salesLine.Description;\n let productUrl = '';\n if (!ObjectExtensions.isNullOrUndefined(productName) && !ObjectExtensions.isNullOrUndefined(salesLine.ProductId)) {\n productUrl = getProductPageUrlSync(productName, salesLine.ProductId, props.context.actionContext);\n\n if (MsDyn365.isBrowser && isChannelTypeB2B(props.context.actionContext.requestContext)) {\n const fullUrl = new URL(productUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${salesLine.CatalogId ?? 0}`);\n productUrl = fullUrl.href;\n }\n }\n const currentProduct = new OrderDetailsProduct(props.data.product.salesLine, props.data.product.simpleProduct, productUrl);\n\n const onClickViewDetails = React.useCallback(() => {\n if (MsDyn365.isBrowser) {\n window.location.href = productUrl;\n }\n }, [productUrl]);\n\n const toggle = React.useCallback(() => {\n const shouldShowActionsNewValue = !shouldShowActions;\n if (shouldShowActionsNewValue) {\n if (setShowPreviousActions) {\n setShowPreviousActions(false);\n }\n setShowActions(shouldShowActionsNewValue);\n setShowPreviousActions = setShowActions;\n } else {\n setShowPreviousActions = undefined;\n setShowActions(shouldShowActionsNewValue);\n }\n }, [shouldShowActions, setShowActions]);\n\n if (StringExtensions.isNullOrWhitespace(productUrl)) {\n return null;\n }\n\n const className = `${props.className}__extra-actions-cell`;\n const actionsContainerClassName = `${className}__actions-container`;\n\n return (\n
\n \n \n
\n )}\n \n );\n};\n\n/**\n * Renders actions popup for the mobile view.\n * @param props - Configuration for popup.\n * @returns A react node with actions..\n */\nconst OrderDetailsDesktopExtraActionsPopupComponent: React.FC = (\n props: IOrderDetailsTableRowProps\n): JSX.Element | null => {\n const [shouldShowActions, setShowActions] = useState(false);\n\n const salesLine = props.data.product.salesLine;\n\n const productName = props.data.product.simpleProduct?.Name ?? salesLine.Description;\n let productUrl = '';\n if (!ObjectExtensions.isNullOrUndefined(productName) && !ObjectExtensions.isNullOrUndefined(salesLine.ProductId)) {\n productUrl = getProductPageUrlSync(productName, salesLine.ProductId, props.context.actionContext);\n\n if (MsDyn365.isBrowser && isChannelTypeB2B(props.context.actionContext.requestContext)) {\n const fullUrl = new URL(productUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${salesLine.CatalogId ?? 0}`);\n productUrl = fullUrl.href;\n }\n }\n const currentProduct = new OrderDetailsProduct(props.data.product.salesLine, props.data.product.simpleProduct, productUrl);\n\n /**\n * Request specific invoice function.\n * @param props -Invoice table row props.\n * @param requestInvoiceButtonReference -Reference button.\n * @returns Call Request Invoice.\n */\n const onViewTrackingClick = (\n props: IOrderDetailsTableRowProps,\n requestInvoiceButtonReference: React.RefObject,\n setShowActions: React.Dispatch>\n ) => () => {\n setShowActions(false);\n };\n\n const toggle = React.useCallback(() => {\n const shouldShowActionsNewValue = !shouldShowActions;\n if (shouldShowActionsNewValue) {\n if (setShowPreviousActions) {\n setShowPreviousActions(false);\n }\n setShowActions(shouldShowActionsNewValue);\n setShowPreviousActions = setShowActions;\n } else {\n setShowPreviousActions = undefined;\n setShowActions(shouldShowActionsNewValue);\n }\n }, [shouldShowActions, setShowActions]);\n\n if (StringExtensions.isNullOrWhitespace(productUrl)) {\n return null;\n }\n\n const className = `${props.className}__desktop-extra-actions-cell`;\n const actionsContainerClassName = `${className}__actions-container`;\n\n return (\n
\n
\n );\n};\n\n/**\n * Renders rows for mobile view.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of order details rows for mobile view.\n */\nexport const OrderDetailsMobileTableRowCellComponent: React.FC = (props: IOrderDetailsTableRowProps) => {\n const {\n data: { product }\n } = props;\n const salesLine = product.salesLine;\n const productName = product.simpleProduct?.Name ?? salesLine.Description;\n\n return (\n <>\n {props.isSelectionModeEnabled ? (\n \n \n \n ) : (\n undefined\n )}\n \n \n \n \n
\n {productName}\n \n {format(props.resources.orderDetailsQuantityMobileText, salesLine.Quantity)}\n \n
\n \n \n \n \n \n );\n};\n\n/**\n * Renders order details rows.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of order details rows.\n */\nexport const OrderDetailsTableRowComponent: React.FC = (props: IOrderDetailsTableRowProps) => {\n const isMobileView = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\n const className = classnames(\n props.className,\n props.data.product.isProductAvailable ? `${props.className}__available-product` : `${props.className}__unavailable-product`,\n props.className,\n props.data.product.isSelected ? `${props.className}__selected` : `${props.className}__unselected`\n );\n\n return (\n \n {isMobileView ? (\n \n ) : (\n \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 { OrderDetailsProduct } from '@msdyn365-commerce/components';\nimport { IComponentProps, ICoreContext, IImageSettings } from '@msdyn365-commerce/core';\nimport { ChannelDeliveryOptionConfiguration, ProductDeliveryOptions, SalesOrder } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport React from 'react';\n\nimport { IOrderDetailsTableHeaderResources, OrderDetailsTableHeaderComponent } from './components/order-details-table-header-component';\nimport { IOrderDetailsTableRowResources, OrderDetailsTableRowComponent } from './components/order-details-table-row-component';\n\n/**\n * Interface with the data required for order details.\n */\nexport interface IOrderDetailsTableData {\n order: SalesOrder;\n products: OrderDetailsProduct[];\n deliveryOptions: ProductDeliveryOptions[];\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\n}\n\n/**\n * Resources needed to render order details table.\n */\nexport interface IOrderDetailsTableResources extends IOrderDetailsTableHeaderResources, IOrderDetailsTableRowResources {}\n\n/**\n * Configuration of order details table.\n */\nexport interface IOrderDetailsTableProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n imageSettings?: IImageSettings;\n isCashAndCarryTransaction: boolean;\n isReorderingEnabled?: boolean;\n isRetailMultiplePickUpOptionEnabled?: boolean;\n isSelectionModeEnabled: boolean;\n\n resources: IOrderDetailsTableResources;\n isChannelMultipleCatalogsFeatureEnabled?: boolean;\n isExtraButtonDialogViewEnabled?: boolean;\n}\n\n/**\n * On select all function.\n * @param props - Invoice table props.\n * @returns On change.\n */\nconst onSelectAllHandler = (props: IOrderDetailsTableProps) => (isSelected: boolean) => {\n for (const product of props.data.products) {\n product.isSelected = isSelected;\n }\n};\n\n/**\n * Renders order details table.\n * @param props - Configuration for order details table.\n * @returns React node with the table.\n */\nexport const OrderDetailsTableComponent: React.FC = (props: IOrderDetailsTableProps) => {\n const rowClassName = `${props.className}__row`;\n const headerClassName = `${props.className}__header`;\n const products = props.data.products;\n const availableProducts = products.filter(product => product.isProductAvailable);\n\n return (\n \n product.isSelected)}\n onSelectAll={onSelectAllHandler(props)}\n isChannelMultipleCatalogsFeatureEnabled={props.isChannelMultipleCatalogsFeatureEnabled}\n />\n {products.map((product, index) => {\n return (\n \n );\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 { Button } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface IViewTrackingButtonProps {\n innerReference?: React.RefObject;\n className: string;\n viewTrackingButtonLabel?: string;\n onClicked(): void;\n}\n\nexport const ViewTrackingButton: React.FC = ({\n className,\n onClicked,\n viewTrackingButtonLabel,\n innerReference\n}) => {\n return (\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 { OrderDetailsProduct } from '@msdyn365-commerce/components';\nimport Msdyn365, { ContentEditableEvent, getUrlSync, isChannelTypeB2B, Text, isUserTypeB2B } from '@msdyn365-commerce/core';\nimport {\n ChannelDeliveryOptionConfiguration,\n FeatureState,\n LoyaltyRewardPoint,\n OrderOriginator,\n ProductCatalog,\n ProductDeliveryOptions,\n SalesLine,\n SalesOrder,\n SimpleProduct\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport get from 'lodash/get';\nimport { computed, observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { BuySelectedComponent, 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 { getOrderDetailsHelp } from './components/get-help';\nimport { getOrderDetailsOrderSummary } from './components/get-order-summary';\nimport { getOrderDetailsPaymentMethods } from './components/get-payment-methods';\nimport { OrderDetailsTableComponent } from './components/table-view';\nimport { IOrderDetailsData } from './order-details.data';\nimport { addressOptions, IOrderDetailsProps } from './order-details.props.autogenerated';\n\n/**\n * Specifies different layouts for order details.\n */\nexport enum OrderDetailsViewMode {\n listView = 0,\n detailedView = 1\n}\n\nexport interface IOrderDetailsViewProps extends IOrderDetailsProps {\n moduleProps: IModuleProps;\n tableViewActions?: React.ReactNode;\n viewModes?: React.ReactNode;\n table?: React.ReactNode;\n salesOrder?: SalesOrder;\n footerProps?: INodeProps;\n alert?: React.ReactNode;\n loading?: React.ReactNode;\n heading: React.ReactNode;\n placedBy?: 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 catalogs?: ProductCatalog[];\n}\n\n/**\n *\n * OrderDetails component.\n * @extends {React.PureComponent>}\n */\n@observer\nclass OrderDetails extends React.PureComponent> {\n @observable private _viewMode: OrderDetailsViewMode;\n\n @observable private _products: OrderDetailsProduct[];\n\n @observable private _isSelectionModeEnabled: boolean;\n\n private readonly moduleName: string = 'ms-order-details';\n\n private readonly multiplePickupStoreSwitchName: string = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\n\n private readonly telemetryContent: ITelemetryContent;\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: LoyaltyRewardPoint) => 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 { channelDeliveryOptionConfig, featureState } = this.props?.data;\n const isMultiplePickUpOptionEnabled = featureState?.result?.find(\n (item: FeatureState) => item.Name === this.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 // 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 { salesId = '' } = request.query || {};\n const isCashAndCarryTransaction =\n (this.order.ChannelReferenceId === undefined || this.order.ChannelReferenceId === '') && salesId === '';\n\n const canShip =\n !isCashAndCarryTransaction &&\n orderDetailsLines?.some(orderDetailsLine =>\n orderDetailsLine.DeliveryMode && orderDetailsLine.DeliveryMode !== ''\n ? orderDetailsLine.DeliveryMode !==\n this.getDeliveryMode(\n orderDetailsLine,\n isMultiplePickUpOptionEnabled,\n channelDeliveryOptionConfig?.result,\n pickupDeliveryModeCode\n ) && orderDetailsLine.DeliveryMode !== emailDeliveryModeCode\n : orderDetailsLine\n );\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 priceCurrency: this.order.CurrencyCode\n };\n }\n\n @computed\n private get _orderDetailsProducts(): OrderDetailsProduct[] {\n if (!ArrayExtensions.hasElements(this._products)) {\n this._initProductsModel();\n }\n\n return this._products;\n }\n\n @computed\n private get _orderDetailsAvailableProducts(): OrderDetailsProduct[] {\n if (!ArrayExtensions.hasElements(this._products)) {\n this._initProductsModel();\n }\n\n return this._products.filter(product => product.isProductAvailable);\n }\n\n @computed\n private get _selectedProducts(): OrderDetailsProduct[] {\n const products = this._orderDetailsAvailableProducts;\n const selectedProducts = products.filter(product => product.isSelected);\n if (!ArrayExtensions.hasElements(selectedProducts)) {\n return [];\n }\n\n return selectedProducts;\n }\n\n public constructor(props: IOrderDetailsProps) {\n super(props);\n this._viewMode = OrderDetailsViewMode.detailedView;\n this._products = [];\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this._isSelectionModeEnabled = false;\n }\n\n public render(): JSX.Element {\n const {\n resources: { noSalesOrderDetailsText, loadingLabel },\n config: { shouldShowQrCode, showChannelInfo, showTimeslot, isReorderingEnabled }\n } = this.props;\n\n const showFullAddress =\n this.props.config.addressOptions !== undefined &&\n this.props.config.addressOptions === addressOptions.showAddressWithMultiplelines;\n const channelIdentities = this.props.data.channels.result?.channelIdentities;\n const orgUnitLocations = this.props.data.orgUnitLocations.result?.orgUnitLocations;\n const customer = this.props.data.customerInformation && this.props.data.customerInformation.result;\n const originators = this.props.data.orderOriginators && this.props.data.orderOriginators.result;\n const originator: OrderOriginator | undefined = originators && originators.length === 1 ? originators[0] : undefined;\n const channelMultipleCatalogsFeature = 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature';\n const { channelDeliveryOptionConfig, featureState } = this.props.data;\n const isMultiplePickUpOptionEnabled = featureState.result?.find(\n (item: FeatureState) => item.Name === this.multiplePickupStoreSwitchName\n )?.IsEnabled;\n const isMultipleCatalogsFeatureEnabled = featureState.result?.find(\n (item: FeatureState) => item.Name === channelMultipleCatalogsFeature\n )?.IsEnabled;\n const { confirmationId = '', salesId = '', transactionId = '' } = this.props.context.actionContext.requestContext.query ?? {};\n\n const orderInformationInput =\n this.order &&\n getOrderInformationInput(\n this.props,\n this.moduleName,\n this.order,\n this.priceContext,\n channelIdentities,\n orgUnitLocations,\n customer,\n originator,\n showChannelInfo,\n false,\n shouldShowQrCode ?? true\n );\n\n const orderInformation =\n this._isSelectionModeEnabled || !orderInformationInput ? undefined : getOrderInformation(orderInformationInput);\n\n let viewProps: IOrderDetailsViewProps = this.getOrderDetailsProps();\n if (isUserTypeB2B(this.props.context.request) && orderInformationInput?.isOnlineStore && originator) {\n viewProps = {\n ...viewProps,\n placedBy: orderInformation?.placedBy\n };\n }\n\n if ((salesId || transactionId) && !this.props.context.actionContext.requestContext.user.isAuthenticated) {\n const signInUrl: string = this.props.context.actionContext.requestContext.user.signInUrl ?? '';\n if (Msdyn365.isBrowser) {\n window.location.assign(signInUrl);\n }\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n if (this.hasError || !this.order) {\n if (((salesId || transactionId) && this.props.context.actionContext.requestContext.user.isAuthenticated) || confirmationId) {\n viewProps = {\n ...viewProps,\n alert: