{"version":3,"file":"123.chunk.js","mappings":"sQAKaA,EAAsD,CACjEC,aAAc,GACdC,kBAAmB,GACnBC,gBAAiB,GACjBC,WAAYC,EAAAA,GACZC,cAAc,EACdC,OAAQ,GACRC,aAAc,GACdC,OAAQ,IAGGC,GAAuBC,EAAAA,EAAAA,eAAgCX,GAEvDY,EAAwBF,EAAqBG,SAE7CC,EAAmB,WAAH,OAASC,EAAAA,EAAAA,YAAWL,EAAqB,E,UCZzDM,EAAqC,SAAHC,GAAqB,IAAfC,EAAQD,EAARC,SACnDC,EAAkDL,IAA1CX,EAAegB,EAAfhB,gBAAiBK,EAAYW,EAAZX,aAAcC,EAAMU,EAANV,OAEvC,OACEW,EAAAA,EAAAA,KAACC,EAAAA,GAAS,CAACC,MAAOC,EAAAA,GAAUL,UAC1BE,EAAAA,EAAAA,KAACI,EAAAA,IAAuB,CACtBC,QAASjB,EACTkB,SAAUvB,EACVM,OAAQA,EAAOS,SAEdA,KAIT,E,ylBCbA,IAAMS,EAAuB,UACvBC,EAAoB,eAEpBC,EAAkBC,EAAAA,GAAAA,eACN,CACdC,aAAc,KACdC,IAAKL,EACLM,UAAWL,EACXM,WAASC,EAAAA,EAAAA,GAAA,GACNR,GAAoBQ,EAAAA,EAAAA,GAAA,GAClBP,ECN+C,CACtDQ,SAAU,YACVC,SAAU,YACVC,WAAY,iBDOVC,cAAe,CACbC,aAAa,EACbC,OAAQ,IACRC,OAAQ,KAGVC,MAAO,CACLC,SAAU,gCACVC,cAAe,mBAGlBC,IAAIC,EAAAA,IAEPlB,EAAgBmB,OAET,IAAMC,EAIT,SAAHhC,GAA4C,IElC3CiC,EAMA/B,EAAQhB,EAAiBM,EF4BpBS,EAAQD,EAARC,SAAUiC,EAAqBlC,EAArBkC,sBACPC,GEnCRF,EFmCsC,CACpCG,SAAU,mBAAQF,CAAqB,EACvCG,UAAWH,GE/BbhC,EAAoCL,IAA5BX,EAAegB,EAAfhB,gBAAiBM,EAAMU,EAANV,QAElB8C,EAAAA,EAAAA,KACL9C,EACA+C,EAAAA,GACA,CAAEC,KAAMtD,GACR,CACEuD,IAAGC,EAAA,CACDC,mBAAmB,EACnBC,mBAAmB,EACnBC,uBAAuB,GACpBZ,MFkBDE,KAgBR,OAXAW,EAAAA,EAAAA,YAAU,WAAM,IAAAC,EAAAC,EAEdpC,EAAgBqC,kBACdvC,EACAC,EAC4C,QAD3BoC,EACE,QADFC,EACjBb,aAAI,EAAJA,EAAMe,qBAAa,IAAAF,EAAAA,EAAId,SAAqB,IAAAa,EAAAA,EAAI,CAAC,GACjD,GACA,EAEJ,GAAG,CAACZ,aAAI,EAAJA,EAAMe,cAAehB,KAElB/B,EAAAA,EAAAA,KAACgD,EAAAA,GAAe,CAACC,KAAMxC,EAAgBX,SAAEA,GAClD,E,SGpDaoD,EAAkC,SAAHrD,GAA+B,IAAzBC,EAAQD,EAARC,SAAUqD,EAAQtD,EAARsD,SACpDC,EAAaC,SAASC,cAAcH,GAC1C,OAAIC,GACKG,EAAAA,EAAAA,cAAazD,EAAUsD,GAGzB,IACT,E,2XCbO,IAAMI,EAAQ,SAAAC,GAGnB,SAAAD,EAAYE,EAAiB1B,GAAkB,IAAA2B,EAG5B,OAH4BC,EAAAA,EAAAA,GAAA,KAAAJ,GAC7CG,EAAAE,EAAA,KAAAL,EAAA,CAAME,KAAS3C,EAAAA,EAAAA,GAAA4C,EAAA,eACfA,EAAKG,KAAO,WACZH,EAAK3B,KAAOA,EAAK2B,CACnB,CAAC,OAAAI,EAAAA,EAAAA,GAAAP,EAAAC,IAAAO,EAAAA,EAAAA,GAAAR,EAAA,CAPkB,EAOlBS,E,QAAAA,GAP2BC,QCGvBC,eAAeC,EAAWC,EAAaC,GAC5C,OAAOC,EAAAA,EACJC,IAAOH,EAAKC,GACZG,MAAK,SAAA5E,GAAO,OAAQA,EAAZmC,IAAyB,IACjC0C,OAAM,SAACC,GACN,MAAM,IAAInB,EAASmB,EAAMjB,QAASiB,EACpC,GACJ,CCRO,IAAKC,EAAU,SAAVA,GAAU,OAAVA,EAAU,kCAAVA,EAAU,4CAAVA,EAAU,4CAAVA,CAAU,MAMf,SAASC,EAAc7C,GAC5B,MAAO,CAAE8C,KAAMF,EAAWG,gBAAiB/C,KAAAA,EAC7C,CAEO,SAASgD,EAAmBhD,GACjC,MAAO,CAAE8C,KAAMF,EAAWK,qBAAsBjD,KAAAA,EAClD,CAEO,SAASkD,EAAkBlD,GAChC,MAAO,CAAE8C,KAAMF,EAAWO,qBAAsBnD,KAAAA,EAClD,CClBO,IAAMoD,EAA6B,CACxCC,mBAAoB,GACpBC,mBAAoB,GACpBC,oBAAqB,GACrBC,mBAAoB,GACpBC,YAAa,GACbC,cAAe,GACfC,mBAAoB,GACpBC,gBAAiB,GACjBC,gBAAgB,EAChB1G,OAAQ,GACR2G,SAAU,GACVC,SAAU,I,qkBCVL,IAAMC,EAAsB,SAACC,EAAqBC,GACvD,IAAQpB,EAAeoB,EAAfpB,KAAM9C,EAASkE,EAATlE,KAEd,OAAQ8C,GACN,KAAKF,EAAWG,gBACd,IAAQoB,EAAmDnE,EAAnDmE,YAAaC,EAAsCpE,EAAtCoE,iBAAkBC,EAAoBrE,EAApBqE,gBAE/BC,EAAiFH,EAAjFG,WAAYC,EAAqEJ,EAArEI,WAAYC,EAAyDL,EAAzDK,cAAeC,EAA0CN,EAA1CM,SAAUC,EAAgCP,EAAhCO,kBAAmBC,EAAaR,EAAbQ,SACpEC,EAA6BR,EAA7BQ,YAAaC,EAAgBT,EAAhBS,YAEfC,EAAQvE,EAAAA,EAAA,GACT0D,GAAK,IACRZ,mBAAoBiB,EACpBhB,mBAAoBiB,EACpBf,mBAAoBiB,EACpBf,cAAec,EACfb,mBAAoBkB,EACpBjB,gBAAiBgB,EACjBd,SAAUa,IAUZ,OAPID,GAA2C,KAAtBA,IACvBI,EAASvB,oBAAsBmB,GAE7BL,SAAAA,EAAiBU,kBACnBD,EAASf,SAAWM,EAAgBU,iBAG/BD,EAET,KAAKlC,EAAWK,qBACd,OAAA1C,EAAAA,EAAA,GACK0D,GAAK,IACRR,YAAazD,IAGjB,KAAK4C,EAAWO,qBACd,OAAIc,EAAMJ,iBAAmB7D,EACpBiE,EAGT1D,EAAAA,EAAA,GACK0D,GAAK,IACRJ,eAAgB7D,IAGpB,QACE,OAAOiE,EAEb,E,ykBCrCA,I,GAAMe,IAAsBzH,EAAAA,EAAAA,oBAAwC0H,GAC5DxH,GAAauH,GAAbvH,SAEKyH,GAAuD,SAAHrH,GAAqB,ICZzDsH,EDY0CrH,EAAQD,EAARC,SACrEC,EAAqEL,IAA7Db,EAAYkB,EAAZlB,aAAcC,EAAiBiB,EAAjBjB,kBAAmBK,EAAMY,EAANZ,OAAQJ,EAAegB,EAAfhB,gBACjDqI,GAAuCC,EAAAA,EAAAA,YAAWrB,EAAqBZ,GAAakC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA7EI,EAAYF,EAAA,GAAEG,EAAcH,EAAA,GAGKI,GAApCC,EAAAA,EAAAA,SCjBuBR,EDiBHM,EChBjB,CACL5C,cAAa,SAAC7C,GACZmF,EAAStC,EAAc7C,GACzB,EACAgD,mBAAkB,SAAChD,GACjBmF,EAASnC,EAAmBhD,GAC9B,EACAkD,kBAAiB,SAAClD,GAChBmF,EAASjC,EAAkBlD,GAC7B,KDMA4F,QAAW/C,EAAa6C,EAAb7C,cAAeG,EAAkB0C,EAAlB1C,mBAAoBE,EAAiBwC,EAAjBxC,kBAEhD2C,GAAuDC,EAAAA,EAAAA,IACrD,CAAChJ,EAAmBK,EAAQ,gBAC5BgF,eAAO4D,EAAgBC,GACrB,GAAID,EAAQ,CACV,IAAM1D,EAAM,IAAI4D,IAAIF,GAIpB,OAHA1D,EAAI6D,aAAaC,IAAI,SAAUH,GAC/B3D,EAAI6D,aAAaC,IAAI,UAAWpJ,GAEzBqF,EAAQC,EAAI+D,WACrB,CAGF,IAZY3C,EAAWoC,EAAjB7F,KAA0BqG,EAAgBR,EAAvBlD,OAc3BhC,EAAAA,EAAAA,YAAU,WACJ8C,GACFT,EAAmBS,GAEjB4C,GAEFC,QAAQ3D,MAAM0D,EAElB,GAAG,CAAC5C,EAAa4C,EAAkBrD,IACnC,IAAAuD,GAA6CT,EAAAA,EAAAA,IAC3C,CAACjJ,EAAcM,EAAQ,WACvBgF,eAAO4D,EAAgBC,GACrB,GAAID,EAAQ,CACV,IAAM1D,EAAM,IAAI4D,IAAIF,GAIpB,OAHA1D,EAAI6D,aAAaC,IAAI,SAAUH,GAC/B3D,EAAI6D,aAAaC,IAAI,UAAWpJ,GAEzBqF,EAAQC,EAAI+D,WACrB,CAGF,IAZYI,EAAMD,EAAZvG,KAAqByG,EAAWF,EAAlB5D,OActBhC,EAAAA,EAAAA,YAAU,WACJ6F,GACF3D,EAAc2D,GAEZC,GAEFH,QAAQ3D,MAAM8D,EAElB,GAAG,CAACD,EAAQC,EAAa5D,IACzB,IAAM6D,GAAgBC,EAAAA,EAAAA,UAAQ,kBAAApG,GAAAA,GAAC,CAAD,EAAYiF,GAAY,IAAEtC,kBAAAA,GAAiB,GAAK,CAACA,EAAmBsC,IAElG,OAAOxH,EAAAA,EAAAA,KAACP,GAAQ,CAACS,MAAOwI,EAAc5I,SAAEA,GAC1C,EAEa8I,GAAkB,WAC7B,IAAMC,GAAUlJ,EAAAA,EAAAA,YAAWqH,IAC3B,GAAI6B,EACF,OAAOA,EAET,MAAM,IAAI3E,MAAM,wCAClB,EEzEM4E,IAAOC,EAAAA,EAAAA,GAAO,MAAPA,CAAaC,KAAAA,IAAAC,EAAAA,EAAAA,GAAA,kFASpBC,GAAgB,WACpB,IAAQC,GAAcC,EAAAA,EAAAA,KAAdD,UACA1D,EAAgBmD,KAAhBnD,YACR,OAAI4D,EAAAA,EAAAA,QAAkB5D,EAAY6D,OACzB,MAIPtJ,EAAAA,EAAAA,KAAC8I,GAAI,CAAC,cAAaK,EAAU,eAAerJ,UAC1CE,EAAAA,EAAAA,KAACuJ,EAAAA,EAAW,CAAC9D,YAAaA,KAGhC,EACAyD,GAAUM,YAAc,c,0BCxBXC,GAAkB,WAAM,IAAA5J,EAC3B0F,EAAwBqD,KAAxBrD,oBACAmE,GAAYC,EAAAA,GAAAA,KAAZD,QACFE,EC4CyB,WAC/B,IAAQlE,EAAkBkD,KAAlBlD,cACAgE,GAAYC,EAAAA,GAAAA,KAAZD,QAER,OAAOf,EAAAA,EAAAA,UAAQ,kBApDL,SAACkB,EAAeH,GAC1B,OAAQG,GACN,IAAK,cACH,MAAO,CAAEC,gBAAiBJ,EAAQK,IAAI,IAAKC,MAAON,EAAQO,OAAO,MACnE,IAAK,YACL,IAAK,YACH,MAAO,CAAEH,gBAAiBJ,EAAQQ,KAAK,KAAMF,MAAON,EAAQS,KAAKC,MACnE,IAAK,iBACH,MAAO,CACLN,gBAAiBJ,EAAQW,OAAO,IAChCL,MAAON,EAAQW,OAAO,MAE1B,IAAK,YACH,MAAO,CAAEP,gBAAiBJ,EAAQY,MAAM,IAAKN,MAAON,EAAQY,MAAM,MACpE,IAAK,OACH,MAAO,CACLR,gBAAiBJ,EAAQO,OAAO,IAChCD,MAAON,EAAQO,OAAO,MAE1B,IAAK,YACH,MAAO,CAAEH,gBAAiBJ,EAAQQ,KAAK,IAAKF,MAAON,EAAQS,KAAKC,MAClE,IAAK,SACH,MAAO,CAAEN,gBAAiBJ,EAAQa,KAAK,IAAKP,MAAON,EAAQa,KAAK,MAClE,IAAK,MACH,MAAO,CACLT,gBAAiBJ,EAAQc,QAAQC,MACjCT,MAAON,EAAQgB,UAAUC,MAE7B,IAAK,yBACH,MAAO,CACLb,gBAAiBJ,EAAQgB,UAAUD,MACnCT,MAAON,EAAQkB,OAAOC,OAE1B,IAAK,WACH,MAAO,CACLf,gBAAiBJ,EAAQc,QAAQC,MACjCT,MAAON,EAAQoB,MAAM,MAEzB,IAAK,WACH,MAAO,CACLhB,gBAAiBJ,EAAQW,OAAO,KAChCL,MAAON,EAAQW,OAAO,MAE1B,QACE,OAEN,CAMuB7F,CAAIkB,EAAegE,EAAQ,GAAE,CAAChE,EAAegE,GACpE,CDjDyBqB,GACjBC,EEcyB,WAC/B,IAAQlF,EAAa8C,KAAb9C,SACA4D,GAAYC,EAAAA,GAAAA,KAAZD,QAER,OAAOf,EAAAA,EAAAA,UAAQ,kBAvBL,SAAC7D,EAAc4E,GACzB,OAAQ5E,GACN,IAAK,aACL,IAAK,mBACL,IAAK,YACH,MAAO,CACLgF,gBAAiBJ,EAAQgB,UAAUC,KACnCX,MAAON,EAAQkB,OAAOC,OAE1B,IAAK,yBACH,MAAO,CACLf,gBAAiBJ,EAAQc,QAAQC,MACjCT,MAAON,EAAQkB,OAAOC,OAE1B,QACE,OAEN,CAMuBrG,CAAIsB,EAAU4D,EAAQ,GAAE,CAAC5D,EAAU4D,GAC1D,CFnByBuB,GACjBC,GAAgBvC,EAAAA,EAAAA,UACpB,iBAAO,CACLmB,gBAAiBJ,EAAQkB,OAAOC,MAChCb,MAAOzE,GAAuBmE,EAAQkB,OAAOO,MAC9C,GACD,CAAC5F,EAAqBmE,EAAQkB,OAAOO,MAAOzB,EAAQkB,OAAOC,QAG7D,OAAuC,QAAvChL,EAAO+J,QAAAA,EAAkBoB,SAAc,IAAAnL,EAAAA,EAAIqL,CAC7C,EGdME,IAAcrC,EAAAA,EAAAA,GAAO,MAAPA,CAAc,CAChCsC,OAAQ,OACRC,KAAM,EACNC,UAAW,QACXC,eAAgB,UAChBC,SAAU,WACVC,IAAK,EACLC,MAAO,OACPC,OAAQ,IAGJC,GAAiB,SAACxH,EAAayH,EAAWC,GAC9C,IAAM1L,EAAU,IAAI4H,IAAI5D,GAKxB,OAJAhE,EAAQ6H,aAAaC,IAAI,IAAK2D,GAC9BzL,EAAQ6H,aAAaC,IAAI,cAAe,QACxC9H,EAAQ6H,aAAaC,IAAI,IAAK4D,GAEvB1L,EAAQ+H,UACjB,EAEa4D,GAAkB,WAC7B,IAAQ7C,GAAcC,EAAAA,EAAAA,KAAdD,UAGF8C,EAAe5I,SAASC,cAAc,iBAAmB,mCAAqC,QAEpG4I,EAAmDtD,KAA3CvD,EAAkB6G,EAAlB7G,mBAAoBG,EAAkB0G,EAAlB1G,mBAE5B,OAAKH,GAKHrF,EAAAA,EAAAA,KAACoL,GAAW,CACVe,IAAK3G,EACL,cAAa2D,EAAU,OACvBiD,MAAOH,EACPI,IAAI,iFACJC,OAAM,SAAAC,OACNV,GAAexG,EAAoB,MAAO,MAAK,gBAAAkH,OAC/CV,GAAexG,EAAoB,MAAO,MAAK,gBAAAkH,OAC/CV,GAAexG,EAAoB,OAAQ,MAAK,iBAAAkH,OAChDV,GAAexG,EAAoB,OAAQ,MAAK,iBAAAkH,OAChDV,GAAexG,EAAoB,OAAQ,MAAK,iBAAAkH,OAChDV,GAAexG,EAAoB,OAAQ,MAAK,iBAAAkH,OAChDV,GAAexG,EAAoB,OAAQ,MAAK,kBAhB3C,IAoBX,EChDMmH,IAAczD,EAAAA,EAAAA,GAAO,QAAPA,EAAgB,iBAAO,CACzCsC,OAAQ,OACRC,KAAM,EACNC,UAAW,QACXC,eAAgB,UAChBC,SAAU,WACVC,IAAK,EACLC,MAAO,OACPC,OAAQ,EACT,IAEYa,GAAkB,WAC7B,IAAQtD,GAAcC,EAAAA,EAAAA,KAAdD,UACFuD,GAAWC,EAAAA,GAAAA,KAETrH,EAAuBsD,KAAvBtD,mBAER,OAAKA,GAAsBoH,EAClB,MAIP1M,EAAAA,EAAAA,KAACwM,GAAW,CACVI,UAAQ,EACRC,MAAI,EACJC,OAAK,EACLC,UAAU,EACV,cAAa5D,EAAU,SACvBkD,IAAK/G,GAGX,E,ykBCdA,IAAM0H,IAAejE,EAAAA,EAAAA,GAAO,MAAPA,EAA2B,SAAAlJ,GAAA,IAAGiK,EAAejK,EAAfiK,gBAAiBE,EAAKnK,EAALmK,MAAOiD,EAAYpN,EAAZoN,aAAcC,EAAUrN,EAAVqN,WAAYC,EAAKtN,EAALsN,MAAK,OAAA5K,GAAAA,IAAAxB,EAAAA,EAAAA,GAAA,CACxGqM,WAAYtD,EACZE,MAAAA,EACAqB,OAAQ,QACRgC,UAAW,QACXC,UAAW,QACXC,SAAU,SACV9B,SAAU,YACT0B,EAAMK,YAAYC,GAAG,KAAO,CAC3BpC,OAAQ,QACRqC,aAAcP,EAAMQ,QAAQ,KAE1BT,IAAUnM,EAAAA,EAAAA,GAAA,CACZsK,OAAQ,SACP8B,EAAMK,YAAYC,GAAG,KAAO,CAC3BpC,OAAQ,QACRqC,aAAcP,EAAMQ,QAAQ,MAG5BV,GAAgB,CAAEK,UAAW,GAAG,IAGhCM,IAAoB7E,EAAAA,EAAAA,GAAO,MAAPA,EAA2B,SAAA8E,GAAA,IAAGZ,EAAYY,EAAZZ,aAAcE,EAAKU,EAALV,MAAK,OAAA5K,IAAAxB,EAAAA,EAAAA,GAAA,CACzE+M,QAAS,eACTxC,KAAM,OACNG,SAAU,WACVC,IAAK,OACLE,OAAQ,IACPuB,EAAMK,YAAYC,GAAG,KAAO,CAC3BnC,KAAM,OACNyC,OAAQ,QACRtC,SAAU,WACVC,IAAK,SAEHuB,IAAYlM,EAAAA,EAAAA,GAAA,GACboM,EAAMK,YAAYC,GAAG,KAAO,CAC3BM,OAAQZ,EAAMQ,QAAQ,EAAG,EAAG,EAAG,GAC/BlC,SAAU,WAEb,IAGGuC,IAAgBjF,EAAAA,EAAAA,GAAO,MAAPA,EAA2B,SAAAkF,GAAA,IAAGhB,EAAYgB,EAAZhB,aAAcE,EAAKc,EAALd,MAAK,OAAA5K,GAAA,CACrE2L,WAAY,SACZJ,QAAS,OACTK,eAAgB,SAChB7C,KAAM,MACNG,SAAU,WACV2C,UAAW,wBACX1C,IAAK,MACLC,MAAO,OACPC,OAAQ,GACJqB,IAAYlM,EAAAA,EAAAA,GAAA,CACduK,KAAM,EACN+C,QAASlB,EAAMQ,QAAQ,GAAI,GAC3BlC,SAAU,WACVC,IAAK,GACJyB,EAAMK,YAAYC,GAAG,KAAO,CAC3BnC,KAAM,MACN+C,QAAS,EACT5C,SAAU,WACV2C,UAAW,wBACX1C,IAAK,QAER,IAGG4C,IAAcvF,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAwF,GAAA,IAAGpB,EAAKoB,EAALpB,MAAK,OAAApM,EAAAA,EAAAA,GAAA,CACxC+M,QAAS,cACTU,WAAY,mFACZC,SAAUtB,EAAMuB,WAAWC,GAAGF,SAC9BG,WAAYzB,EAAMuB,WAAWG,eAC7BtB,SAAU,SACVuB,UAAW,SACXC,aAAc,WACdC,cAAe,YACfC,gBAAiB,WACjBC,gBAAiB,EACjBvD,MAAO,OACNwB,EAAMK,YAAYC,GAAG,KAAO,CAC3BgB,SAAUtB,EAAMuB,WAAWS,QAAQ,IACnCD,gBAAiB,GAClB,IAGGE,IAAuBrG,EAAAA,EAAAA,GAAO,MAAPA,EAA2B,SAAAsG,GAAA,IAAGnQ,EAAYmQ,EAAZnQ,aAAciO,EAAKkC,EAALlC,MAAK,OAAApM,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CAC5E+M,QAAS,QACTzC,OAAQ,IACRiE,QAAS,EACT7D,SAAU,WACV,WAAY,CACV8D,QAAS,KACTzB,QAAS,QACT0B,WAAY,IACZ7D,MAAO,SAERwB,EAAMK,YAAYC,GAAG,KAAO,CAC3BpC,OAAQ,IACRoE,YAAa,EACbrB,UAAW,OACX,WAAY,CACVoB,WAAY,OAGfrC,EAAMK,YAAYC,GAAG,MAAKlL,GAAA,CACzB8I,OAAQ,SACHnM,GAAgB,CACnB,WAAY,CACVsQ,WAAY,WAEf,IAIQE,GAA0B,SAAHC,GAA2C,IAArCC,EAAgBD,EAAhBC,iBAAkB1Q,EAAYyQ,EAAZzQ,aAC1DgN,EAAuFtD,KAA/EtD,EAAkB4G,EAAlB5G,mBAAoBD,EAAkB6G,EAAlB7G,mBAAoBG,EAAkB0G,EAAlB1G,mBAAoBK,EAAcqG,EAAdrG,eAE9DgK,EAASpG,KACTwD,GAAgB3H,IAAuBD,IAAuBG,EAC9D0H,GAAc5H,IAAuBD,EACrCyK,EAAaC,SAASvK,GACtBkH,GAAWC,EAAAA,GAAAA,KACTxD,GAAcC,EAAAA,EAAAA,KAAdD,UAER,GAAI8D,GAAgBP,GAAY7G,EAC9B,OAAO,KAGT,IAAMmK,EAAWzN,GAAAA,GAAA,GACZsN,GAAM,IACT3C,WAAAA,EACA4C,WAAAA,EACA5Q,aAAAA,IAGF,OACE+Q,EAAAA,EAAAA,MAACjD,GAAYzK,GAAAA,GAAA,GAAKyN,GAAW,IAAAlQ,SAAA,EAC3BE,EAAAA,EAAAA,KAAC4N,GAAiBrL,GAAAA,GAAA,GACZyN,GAAW,IACf,cAAa7G,EAAU,eAAerJ,UAEpC8P,IAAoB5P,EAAAA,EAAAA,KAACuJ,GAAW,QAEpCvJ,EAAAA,EAAAA,KAACgO,GAAazL,GAAAA,GAAA,GAAKyN,GAAW,IAAAlQ,UAC5BE,EAAAA,EAAAA,KAACsO,GAAW,CAAC,cAAanF,EAAU,SAASrJ,SAAE0F,QAE/C0H,IACA+C,EAAAA,EAAAA,MAACb,GAAoB7M,GAAAA,GAAA,GAAKyN,GAAW,IAAAlQ,SAAA,EACnCE,EAAAA,EAAAA,KAACyM,GAAW,KACZzM,EAAAA,EAAAA,KAACgM,GAAW,WAKtB,E,4CCnLakE,GAA2B,CAAC,kBAAmB,eCGhDC,GAAe,SAAfA,GAAe,OAAfA,EAAe,oBAAfA,EAAe,oBAAfA,EAAe,wBAAfA,CAAe,MCDdC,GAAyB,SAAzBA,EAA0BC,GACrC,IAAMC,EAAiC,GAiBvC,OAfAD,EAAaE,SAAQ,SAACC,GACpB,GAAIA,EAAQC,UACVH,EAAaI,KAAKF,QAKpB,GAAIA,EAAQG,SAASrH,OAAQ,CAC3B,IAAMsH,GAAGC,EAAAA,GAAAA,GAAOT,EAAuBI,EAAQG,WAC3CC,EAAItH,QACNgH,EAAaI,KAAII,MAAjBR,EAAY,CAAME,GAAOjE,QAAAsE,EAAAA,GAAAA,GAAKD,IAElC,CACF,IAEON,CACT,E,sBCXMS,IAAmBhI,EAAAA,EAAAA,GAAOiI,GAAAA,EAAPjI,EAAmB,SAAAlJ,GAAA,IAAGsN,EAAKtN,EAALsN,MAAK,OAAApM,EAAAA,EAAAA,GAAA,CAClDmN,WAAY,SACZ+C,UAAW,SACXC,OAAQ,UACRpD,QAAS,OACTc,WAAYzB,EAAMuB,WAAWG,eAC7BxD,OAAQ,OACR8C,eAAgB,SAChBJ,OAAQZ,EAAMQ,QAAQ,EAAG,GACzB6B,WAAY,OACZ2B,cAAe,SACf,UAAW,CACTnH,MAAOmD,EAAMzD,QAAQgB,UAAUC,OAEhCwC,EAAMK,YAAYC,GAAG,KAAO,CAC3BpC,OAAQ,OACR0C,OAAQZ,EAAMQ,QAAQ,EAAG,GACzB6B,WAAY,GACb,IAGU4B,GAAkC,SAAHvD,GAA2B,IAArBwD,EAAKxD,EAALwD,MAAOC,EAAOzD,EAAPyD,QACjDC,GAAeC,EAAAA,EAAAA,cACnB,SAACC,GACCA,EAAMC,iBACNJ,EAAQG,EACV,GACA,CAACH,IAGH,OACErB,EAAAA,EAAAA,MAACc,GAAgB,CACfY,eAAa,EACbL,QAASC,EAAazR,SAAA,EAEtBE,EAAAA,EAAAA,KAAC4R,GAAAA,EAAa,KACd5R,EAAAA,EAAAA,KAAA,QAAAF,SAAOuR,MAGb,E,WCzCMQ,IAAgB9I,EAAAA,EAAAA,GAAO,KAAPA,EAAa,SAAAlJ,GAAA,IAAGsN,EAAKtN,EAALsN,MAAK,OAAApM,EAAAA,EAAAA,GAAA,CACzCmN,WAAY,SACZlE,MAAOmD,EAAMzD,QAAQoI,KAAKC,SAC1Bb,OAAQ,UACRpD,QAAS,OACTkE,KAAM,WACNvD,SAAUtB,EAAMuB,WAAWuD,MAAMxD,SACjCG,WAAYzB,EAAMuB,WAAWG,eAC7BnB,aAAcP,EAAMQ,QAAQ,GAC5BuE,MAAO,EACP7D,QAASlB,EAAMQ,QAAQ,EAAG,IACzBR,EAAMK,YAAYC,GAAG,KAAO,CAC3BpC,OAAQ,OACR0C,OAAQZ,EAAMQ,QAAQ,EAAG,GACzBuE,MAAO,QACP7D,QAAS,GACV,IAGG8D,IAAoBpJ,EAAAA,EAAAA,GAAO,IAAPA,EAAY,SAAA8E,GAAA,IAAGV,EAAKU,EAALV,MAAK,MAAQ,CACpDnD,MAAOmD,EAAMzD,QAAQoI,KAAKC,SAC1BxE,SAAU,SACV6E,eAAgB,OAChBrD,aAAc,WACdpD,MAAO,OACP,UAAW,CACT3B,MAAOmD,EAAMzD,QAAQoI,KAAKpH,WAE5B,UAAW,CACTV,MAAOmD,EAAMzD,QAAQoI,KAAKpH,WAE7B,IAaY2H,GAAoC,SAAHC,GAA6B,IAXvDjO,EAWgCkO,EAAOD,EAAPC,QAASjB,EAAOgB,EAAPhB,QACnDnI,GAAcC,EAAAA,EAAAA,KAAdD,UACFqJ,GAAqBhB,EAAAA,EAAAA,cAAY,SAACiB,GAAa,OAAKnB,EAAQmB,EAAGF,EAAQ,GAAE,CAACjB,EAASiB,IAEzF,OACEvS,EAAAA,EAAAA,KAAC6R,GAAa,CAEZ,cAAa1I,EAAU,WAADoD,QAlBRlI,EAkB+BkO,EAAQG,IAjBzDrO,EACGsO,QAAQ,YAAa,IACrBA,QAAQ,WAAY,IACpBC,WAAW,SAAU,QAcyC9S,UAE7DmQ,EAAAA,EAAAA,MAACkC,GAAiB,CAChBU,KAAMN,EAAQG,IACdpB,QAASkB,EAAmB1S,SAAA,CAE3ByS,EAAQO,MACR/C,QAAQwC,EAAQ5B,SAASrH,UAAWtJ,EAAAA,EAAAA,KAAC+S,GAAAA,EAAc,QARjDR,EAAQO,MAYnB,E,ykBC1CA,IAAME,IAAmBjK,EAAAA,EAAAA,GAAO,MAAPA,EAAqC,SAAAlJ,GAAA,IAAiBoT,EAAQpT,EAAtBqT,WAAcD,SAAY9F,EAAKtN,EAALsN,MAAK,OAAA5K,IAAAxB,EAAAA,EAAAA,GAAA,CAC9FoS,UAAW,aACXzF,aAAc,QACdJ,UAAW,OACX,MAAO,CACL6F,UAAW,cAEb,QAAS,CACP1E,SAAU,QACVgB,YAAa,UAEdtC,EAAMK,YAAYC,GAAG,KAAO,CAC3BC,aAAc,QACdJ,UAAW,UAET2F,IAAQlS,EAAAA,EAAAA,GAAA,CACV0N,SAAUtB,EAAMuB,WAAWS,QAAQ,IACnCzB,aAAcP,EAAMQ,QAAQ,GAC5B8B,YAAatC,EAAMQ,QAAQ,GAC3BL,UAAW,SACVH,EAAMK,YAAYC,GAAG,KAAO,CAC3BC,aAAc,EACdJ,UAAW,SAEd,IAGG8F,IAA0BrK,EAAAA,EAAAA,GAAO,KAAPA,EAA2C,SAAA8E,GAAA,IAAiBwF,EAASxF,EAAvBqF,WAAcG,UAAalG,EAAKU,EAALV,MAAK,OAAA5K,GAAAA,GAAA,CAC5G6K,WAAYD,EAAMzD,QAAQkB,OAAOC,MACjCyI,aAAc,gBACdC,UAAWC,GAAAA,GACX1F,QAAS,OACT2F,cAAe,SACfC,UAAW,OACX3F,OAAQZ,EAAMQ,QAAQ,EAAG,EAAG,GAC5BN,UAAW,QACXE,SAAU,SACVc,QAASlB,EAAMQ,QAAQ,GACvBlC,SAAU,WACVkI,WAAY,QACZhI,MAAO,OACPC,OAAQ,KACJyH,IAAStS,EAAAA,EAAAA,GAAA,CACXuS,aAAc,EACdjG,UAAW,QACVF,EAAMK,YAAYC,GAAG,KAAO,CAC3BJ,UAAW,UAEd,IAAAtM,EAAAA,EAAAA,GAAA,GACAoM,EAAMK,YAAYC,GAAG,KAAO,CAC3B6F,aAAc,EACdC,UAAW,OACXE,cAAe,MACfG,SAAU,OACVzF,eAAgB,SAChBJ,OAAQZ,EAAMQ,QAAQ,EAAG,QACzBN,UAAW,QACXwG,SAAU,SACVtG,SAAU,QACVc,QAAS,EACT5C,SAAU,aACX,IAGGqI,IAA0B/K,EAAAA,EAAAA,GAAO,KAAPA,CAAa,CAC3C+E,QAAS,SAGLiG,IAAehL,EAAAA,EAAAA,GAAO,KAAPA,EAAa,SAAAkF,GAAA,IAAGd,EAAKc,EAALd,MAAK,OAAApM,EAAAA,EAAAA,GAAA,CACxCmN,WAAY,SACZlE,MAAOmD,EAAMzD,QAAQoI,KAAKtH,QAC1B0G,OAAQ,UACRpD,QAAS,OACTkE,KAAM,WACNvD,SAAUtB,EAAMuB,WAAWuD,MAAMxD,SACjCG,WAAYzB,EAAMuB,WAAWG,eAC7BxD,OAAQ,OACRqC,aAAcP,EAAMQ,QAAQ,GAC5BuE,MAAO,EACP7D,QAASlB,EAAMQ,QAAQ,EAAG,IACzBR,EAAMK,YAAYC,GAAG,KAAO,CAC3BK,QAAS,OACTzC,OAAQ,OACR0C,OAAQZ,EAAMQ,QAAQ,EAAG,GACzBuE,MAAO,QACP7D,QAAS,GACV,IAGG2F,IAAcjL,EAAAA,EAAAA,GAAO,KAAPA,EAAa,SAAAwF,GAAA,IAAGpB,EAAKoB,EAALpB,MAAK,OAAApM,EAAAA,EAAAA,GAAA,CACvCmN,WAAY,SACZlE,MAAOmD,EAAMzD,QAAQoI,KAAKpH,UAC1BwG,OAAQ,UACRpD,QAAS,OACTkE,KAAM,WACNvD,SAAUtB,EAAMuB,WAAWuD,MAAMxD,SACjCG,WAAYzB,EAAMuB,WAAWG,eAC7BnB,aAAcP,EAAMQ,QAAQ,GAC5BuE,MAAO,EACP7D,QAASlB,EAAMQ,QAAQ,EAAG,IACzBR,EAAMK,YAAYC,GAAG,KAAO,CAC3BK,QAAS,OACTzC,OAAQ,OACR0C,OAAQZ,EAAMQ,QAAQ,EAAG,GACzBuE,MAAO,QACP7D,QAAS,GACV,IAGG4F,IAAmBlL,EAAAA,EAAAA,GAAO,IAAPA,EAAmC,SAAAsG,GAAA,IAAiB4D,EAAQ5D,EAAtB6D,WAAcD,SAAiB,OAAA1Q,GAAA,CAC5F2L,WAAY,QACZlE,MAAO,UACP8D,QAAS,QACT2B,YAAa,OACblC,SAAU,SACV6E,eAAgB,OAChBrD,aAAc,WACdpD,MAAO,OACP,UAAW,CACT3B,MAV0FqF,EAALlC,MAUxEzD,QAAQoI,KAAKpH,UAC1B+E,YAAa,UAEXwD,GAAY,CACd/E,WAAY,SACZJ,QAAS,QACV,IAGGoG,IAAkBnL,EAAAA,EAAAA,GAAO,IAAPA,EAAY,SAAAoL,GAAQ,MAAQ,CAClDnK,MAAO,UACPuD,SAAU,SACV6E,eAAgB,OAChBrD,aAAc,WACdpD,MAAO,OACP,UAAW,CACT3B,MAPwCmK,EAALhH,MAOtBzD,QAAQoI,KAAKpH,WAE7B,IAEK0J,IAAoBrL,EAAAA,EAAAA,GAAOsL,GAAAA,EAAPtL,EAAkD,SAAA4G,GAAA,IAAiB0D,EAAS1D,EAAvBuD,WAAcG,UAAalG,EAAKwC,EAALxC,MAAK,OAAA5K,IAAAxB,EAAAA,EAAAA,GAAA,CAC7GiJ,MAAOmD,EAAMzD,QAAQoI,KAAKC,SAC1BtD,SAAUtB,EAAMuB,WAAW4F,UAAU7F,SACrC8F,WAAYpH,EAAMQ,QAAQ,GAC1BgG,WAAY,QACZvF,UAAW,SACVjB,EAAMK,YAAYC,GAAG,KAAO,CAC3BK,QAAS,SAEPuF,GAAa,CACfrJ,MAAOmD,EAAMzD,QAAQoI,KAAKpH,UAC1B0D,UAAW,kBACZ,IAGUoG,GAAiB,WAAM,IAAAC,EAAAC,EAClCxI,EAAwCtD,KAAhC7C,EAAQmG,EAARnG,SAAUb,EAAiBgH,EAAjBhH,kBAClByP,GAAoBC,EAAAA,EAAAA,MAAbC,GAA6BtN,EAAAA,EAAAA,GAAAoN,EAAA,GAApB,GAChBG,GAAoCC,EAAAA,EAAAA,WAAkB,GAAMC,GAAAzN,EAAAA,EAAAA,GAAAuN,EAAA,GAArDG,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChCG,GAAsDJ,EAAAA,EAAAA,WAAS,GAAMK,GAAA7N,EAAAA,EAAAA,GAAA4N,EAAA,GAA9DE,EAAmBD,EAAA,GAAEE,EAAsBF,EAAA,GAClDG,GAA8BR,EAAAA,EAAAA,UAA2B,IAAGS,GAAAjO,EAAAA,EAAAA,GAAAgO,EAAA,GAArDE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAClBrM,GAAcC,EAAAA,EAAAA,KAAdD,UACFwM,GAA0ChO,EAAAA,EAAAA,QAAyB,MACnEiO,EAAkBH,EAAQnM,OAAuB,QAAjBmL,EAAGgB,EAAQI,IAAI,UAAE,IAAApB,OAAA,EAAdA,EAAgB9D,SAAW5K,EAC9D2G,GAAWC,EAAAA,GAAAA,MAEjBhK,EAAAA,EAAAA,YAAU,WACR,IAAMmT,EAAwB1F,GAAuBrK,GACrD,GAAI+P,EAAsBxM,OAAQ,CAChC,IAAMyM,EAAaD,EAAsBE,MAAM,GAAI,GACnDN,EAAWK,GACXT,IAAyB5I,GAAYqJ,EAAWzM,OAAS,GAAKwM,EAAsBxM,QAAU,GAChG,CACF,GAAG,CAACvD,EAAU2G,KAEd/J,EAAAA,EAAAA,YAAU,WACRuC,EAAkBmQ,EACpB,GAAG,CAACA,EAAqBnQ,IAEzB,IAAM+Q,GAASzE,EAAAA,EAAAA,cACb,SAACC,GACCA,EAAMC,iBACNwD,GAAeD,EACjB,GACA,CAACA,IAGGiB,GAAgB1E,EAAAA,EAAAA,cACpB,SAACC,EAAmB0E,GAClBC,GAAAA,GAAoB,GAAD7J,QAAAsE,EAAAA,GAAAA,GAAKX,IAAwB,CAAEiG,EAAQzD,IAAKyD,EAAQrD,SAElEqD,EAAQzD,MACXjB,EAAMC,iBAENgE,EAAW,GAADnJ,QAAAsE,EAAAA,GAAAA,GAAK4E,GAAO,CAAEU,KACxBb,GAAuB,GAE3B,GACA,CAACG,IAGGY,GAAe7E,EAAAA,EAAAA,cAAY,WAC/B,IAAMuE,EAAaN,EAAQO,MAAM,GAAI,IAEhCtJ,IAAaqJ,EAAWzM,SAAaoD,IAAaqJ,EAAWzM,SAChEgM,GAAuB,GAEzBI,EAAWK,EACb,GAAG,CAACN,EAAS/I,IAEb,GAA+B,OAA3BkJ,aAAe,EAAfA,EAAiBtM,QACnB,OAAO,KAGT,IAAMgN,EAAab,EAAQnM,OAASmM,EAAQI,IAAI,GAAK,KAC/CU,EAAkE,QAAvD7B,EAAGkB,EAAgBY,MAAK,SAACjE,GAAO,OAAKA,EAAQ9B,SAAS,WAAC,IAAAiE,EAAAA,EAAI4B,EACtEG,EAAc1G,QAAQwG,aAAW,EAAXA,EAAa5F,SAASrH,QAC5C4J,EAAa,CAAED,SAAUoC,EAAqBhC,WAAY4B,GAE1DyB,EAA8B,CAClC5D,MAAO+B,EAAU1E,GAAgBjP,YACjCwR,IAAK,GACLjC,WAAW,EACXE,SAAU,IAiBZ,OACEV,EAAAA,EAAAA,MAAC+C,GAAgB,CACfE,WAAYA,EACZ,cAAa/J,EAAU,cAAcrJ,SAAA,CAEpC4M,GAAY4J,GAAcjB,GACzBrV,EAAAA,EAAAA,KAACoR,GAAU,CACTC,MAAOiF,EAAWxD,MAClBxB,QAAS+E,IAET,MACJpG,EAAAA,EAAAA,MAACmD,GAAuB,CACtBuD,IAAKhB,EACLzC,WAAYA,EAAWpT,SAAA,CAEtBwW,IAAe5J,GACd1M,EAAAA,EAAAA,KAAC8T,GAAuB,CAAAhU,UACtBE,EAAAA,EAAAA,KAACoR,GAAU,CACTC,MAAOiF,EAAWxD,MAClBxB,QAAS+E,MAGX,KApCU,WAClB,GAAI3J,EAAU,CACZ,IAAKkJ,EAAgBgB,MAAK,SAACC,GAAG,OAAKA,EAAIpG,SAAS,IAC9C,MAAO,CAACiG,GAAWnK,QAAAsE,EAAAA,GAAAA,GAAK+E,IAG1B,GAAIU,GAAcG,GAAehB,EAAQnM,OACvC,MAAO,CAACgN,GAAU/J,QAAAsE,EAAAA,GAAAA,GAAK+E,GAE3B,CAEA,OAAOA,CACT,CAyBOkB,GAAcC,KAAI,SAACZ,GAClB,OAAIA,EAAQ1F,WAERR,EAAAA,EAAAA,MAAC+G,EAAAA,SAAQ,CAAAlX,SAAA,EACPmQ,EAAAA,EAAAA,MAAC8D,GAAY,CACX,cAAa5K,EAAU,gBACvBmI,QAAS2E,EAAOnW,SAAA,EAEhBE,EAAAA,EAAAA,KAACiU,GAAgB,CACff,WAAYA,EACZL,KAAMsD,EAAQzD,IAAI5S,SAEjBqW,EAAQrD,SAEX9S,EAAAA,EAAAA,KAACoU,GAAiB,CAAClB,WAAYA,QAEjClT,EAAAA,EAAAA,KAACgU,GAAW,CAAC,cAAa7K,EAAU,gBAAgBrJ,UAClDE,EAAAA,EAAAA,KAACkU,GAAe,CAACrB,KAAMsD,EAAQzD,IAAI5S,SAAEqW,EAAQrD,YAdlCqD,EAAQzD,MAqBzB1S,EAAAA,EAAAA,KAACqS,GAAW,CAEVE,QAAS4D,EACT7E,QAAS4E,GAAc,GAAA3J,OAFf4J,EAAQrD,MAAK,KAAAvG,OAAI4J,EAAQzD,KAKvC,SAIR,E,qPCvTA,IAAMuE,IAAalO,EAAAA,EAAAA,GAAO,MAAPA,EAA+B,SAAAlJ,GAAA,IAAiBoV,EAAUpV,EAAxBqT,WAAc+B,WAAc9H,EAAKtN,EAALsN,MAAK,O,uWAAA5K,CAAA,CACpF6K,WAAYD,EAAMzD,QAAQkB,OAAOC,MACjCqM,OAAQ,EACRtI,WAAYzB,EAAMuB,WAAWG,eAC7BsI,UAAW,EACXC,SAAU,oBACV3L,SAAU,WACVqD,UAAW,SACX6E,WAAY,wBACZhI,MAAO,OACP,UAAW,CACT0L,gBAAiB,2CAAF9K,OAA6CY,EAAMzD,QAAQkB,OAAOC,MAAK,KACtFqM,OAAQ,OACR3H,QAAS,KACTzB,QAAS,QACTzC,OAAQ,OACRC,KAAM,EACNG,SAAU,WACVE,MAAO,SAELsJ,GAAc,CAChBkC,UAAWhK,EAAMQ,QAAQ,IAC1B,IAGG2J,IAAkBvO,EAAAA,EAAAA,GAAO,MAAPA,CAAc,CACpCmI,OAAQ,UACRpD,QAAS,iBAKEyJ,GAAiD,SAAH3U,GAAqB,IAAf9C,EAAQ8C,EAAR9C,SACzD6V,GAAwChO,EAAAA,EAAAA,QAAuB,MACrEgN,GAAoBC,EAAAA,EAAAA,MAAbC,GAA6BtN,EAAAA,EAAAA,GAAAoN,EAAA,GAApB,GAChBG,GAAoCC,EAAAA,EAAAA,WAAS,GAAMC,GAAAzN,EAAAA,EAAAA,GAAAuN,EAAA,GAA5CG,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChCG,GAAoDJ,EAAAA,EAAAA,WAAS,GAAMK,GAAA7N,EAAAA,EAAAA,GAAA4N,EAAA,GAA5DqC,EAAkBpC,EAAA,GAAEqC,EAAqBrC,EAAA,GAE1CsC,GAAiBlG,EAAAA,EAAAA,cAAY,WACjC0D,GAAc,SAACyC,GAAS,OAAMA,CAAS,GACzC,GAAG,IASH,OAPAhV,EAAAA,EAAAA,YAAU,WAAM,IAAAiV,EACRC,EAAsC,QAArBD,EAAGjC,EAAW/N,eAAO,IAAAgQ,OAAA,EAAlBA,EAAoBE,kBACpB7Q,IAAtB4Q,GAAmCA,EAdhB,IAerBJ,GAAsB,EAE1B,GAAG,KAGDxH,EAAAA,EAAAA,MAAA8H,EAAAA,SAAA,CAAAjY,SAAA,EACEE,EAAAA,EAAAA,KAACgY,GAAAA,EAAQ,CACPrB,IAAKhB,EACLsC,GAAIhD,EACJiD,cAAe,GAAGpY,SAEjBA,IAEF0X,GACCxX,EAAAA,EAAAA,KAACiX,GAAU,CAAC/D,WAAY,CAAE+B,WAAAA,GAAanV,UACrCE,EAAAA,EAAAA,KAACsX,GAAe,CAAChG,QAASoG,EAAe5X,SACtC+U,EAAUI,EAAa9E,GAAgBnP,SAAWmP,GAAgBlP,cAGrE,OAGV,ECxEM+M,IAAgBjF,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAlJ,GAAA,IAAGsN,EAAKtN,EAALsN,MAAK,OAAApM,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CAC1CmN,WAAY,SACZJ,QAAS,OACT2F,cAAe,SACf1F,OAAQZ,EAAMQ,QAAQ,EAAG,OAAQ,GACjCkG,SAAU,oBACVpI,SAAU,WACVE,MAAO,QACNwB,EAAMK,YAAYC,GAAG,KAAO,CAC3BoG,SAAU,UAEX1G,EAAMK,YAAYC,GAAG,KAAO,CAC3BM,OAAQZ,EAAMQ,QAAQ,EAAG,OAAQ,KAClC,IAGGoG,IAAehL,EAAAA,EAAAA,GAAOoP,GAAAA,EAAPpP,EAAmB,SAAA8E,GAAA,IAAGV,EAAKU,EAALV,MAAK,OAAApM,EAAAA,EAAAA,GAAA,CAC9C0N,SAAUtB,EAAMuB,WAAWS,QAAQ,IACnCP,WAAYzB,EAAMuB,WAAWG,eAC7BC,UAAW,UACV3B,EAAMK,YAAYC,GAAG,KAAO,CAC3B0J,UAAWhK,EAAMQ,QAAQ,IAC1B,IAGUyK,GAAc,WACzB,IAAAlM,EAAgDtD,KAAxCjD,EAAkBuG,EAAlBvG,mBAAoBC,EAAesG,EAAftG,gBACpBuD,GAAcC,EAAAA,EAAAA,KAAdD,UAER,OAAKvD,GAAoBD,GAKvBsK,EAAAA,EAAAA,MAACjC,GAAa,CAAC,cAAa7E,EAAU,WAAWrJ,SAAA,CAC9C8F,GAAkB5F,EAAAA,EAAAA,KAAC+T,GAAY,CAAAjU,SAAE8F,IAAkC,MACpE5F,EAAAA,EAAAA,KAACuX,GAAiB,CAAAzX,SAAE6F,OANf,IASX,EC5Ca0S,GAAkB,WAC7B,IAAAtY,EAAgGL,IAAxF4Y,EAAcvY,EAAduY,eAAgBC,EAAmBxY,EAAnBwY,oBAAqBrZ,EAAYa,EAAZb,aAAcsZ,EAAezY,EAAfyY,gBAAiBC,EAAe1Y,EAAf0Y,gBAC5E,OAAIvZ,GAEA+Q,EAAAA,EAAAA,MAAA8H,EAAAA,SAAA,CAAAjY,SAAA,CACGyY,GACCvY,EAAAA,EAAAA,KAACkD,EAAU,CAACC,SAAUoV,EAAoBzY,UACxCE,EAAAA,EAAAA,KAACuJ,GAAW,MAEZ,KACH+O,GACCtY,EAAAA,EAAAA,KAACkD,EAAU,CAACC,SAAUmV,EAAexY,UACnCE,EAAAA,EAAAA,KAAC0P,GAAM,CACLxQ,cAAY,EACZ0Q,iBAAkBG,QAAQwI,OAG5B,KACHC,GACCxY,EAAAA,EAAAA,KAACkD,EAAU,CAACC,SAAUqV,EAAgB1Y,UACpCE,EAAAA,EAAAA,KAACwU,GAAU,MAEX,KACHiE,GACCzY,EAAAA,EAAAA,KAACkD,EAAU,CAACC,SAAUsV,EAAgB3Y,UACpCE,EAAAA,EAAAA,KAACoY,GAAO,MAER,SAMRnI,EAAAA,EAAAA,MAAA8H,EAAAA,SAAA,CAAAjY,SAAA,EACEE,EAAAA,EAAAA,KAAC0P,GAAM,KACP1P,EAAAA,EAAAA,KAACwU,GAAU,KACXxU,EAAAA,EAAAA,KAACoY,GAAO,MAGd,EC9BaM,GAAqB,SAACC,GAAa,OAC9C3Y,EAAAA,EAAAA,KAACR,EAAqB,CAACU,MAAOyY,EAAc7Y,UAC1CE,EAAAA,EAAAA,KAAC4Y,EAAAA,EAAc,CACbC,KAAMC,EAAAA,GACNC,QAAS3W,EAAAA,GAAStC,UAElBE,EAAAA,EAAAA,KAACgZ,EAAAA,SAAQ,CAACC,SAAU,KAAKnZ,UACvBE,EAAAA,EAAAA,KAACJ,EAAW,CAAAE,UACVE,EAAAA,EAAAA,KAAC6B,EAAa,CAAA/B,UACZE,EAAAA,EAAAA,KAACkH,GAAoB,CAAApH,UACnBE,EAAAA,EAAAA,KAACqY,GAAe,eAMJ,E,ykBCfnBlU,eAAe+U,GAAOC,GAA0B,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC7CC,EAAmBP,EAAnBO,QAASC,EAAUR,EAAVQ,MACXC,EAA8B,CAClC/a,aAAkC,QAAtBua,EAAEM,EAAQ7a,oBAAY,IAAAua,EAAAA,EAAI,GACtCd,eAAgBoB,EAAQG,qBACxB/a,kBAA4C,QAA3Bua,EAAEK,EAAQ5a,yBAAiB,IAAAua,EAAAA,EAAI,GAChDd,oBAAqBmB,EAAQI,0BAC7BrB,gBAAiBiB,EAAQK,sBACzB/a,WAAY0a,EAAQ1a,WAAagb,OAAON,EAAQ1a,YAAcC,EAAAA,GAC9DC,aAA+B,WAAjBwa,EAAQO,KACtB9a,OAAsB,QAAhBma,EAAEI,EAAQva,cAAM,IAAAma,EAAAA,EAAI,GAC1Bd,gBAAiBkB,EAAQQ,sBACzB9a,aAAkC,QAAtBma,EAAEG,EAAQta,oBAAY,IAAAma,EAAAA,EAAI,GACtCla,OAAsB,QAAhBma,EAAEE,EAAQra,cAAM,IAAAma,EAAAA,EAAI,GAC1Bza,gBAAwC,QAAzB0a,EAAEC,EAAQ3a,uBAAe,IAAA0a,EAAAA,EAAI,IAG1CG,EAAU1a,eACZya,EAAM7L,QAAU,QAElB,IAAQ9O,EAAe4a,EAAf5a,YAWRmb,EAAAA,EAAAA,GAAWhB,GAAaD,QACtBlZ,EAAAA,EAAAA,KAACoa,EAAAA,EAAa,CAAAta,UACZE,EAAAA,EAAAA,KAACqa,EAAAA,EAAsB,CACrBrb,WAAYA,EACZsb,aAAa,GAAExa,UAEfE,EAAAA,EAAAA,KAACua,EAAAA,EAAa,CACZC,qBAAmB,EACnBC,SAAUrY,EAAAA,GAAStC,UAEnBE,EAAAA,EAAAA,KAAC0Y,GAAGnW,GAAA,GAAKqX,UAKnB,C","sources":["webpack://orionlinetopbanner/./src/contexts/configurationContext.ts","webpack://orionlinetopbanner/./src/containers/ApiProvider.tsx","webpack://orionlinetopbanner/./src/containers/I18nContainer.tsx","webpack://orionlinetopbanner/./src/constants/defaultTranslations.ts","webpack://orionlinetopbanner/./src/hooks/useLocalizationQuery.ts","webpack://orionlinetopbanner/./src/components/Portalizer.ts","webpack://orionlinetopbanner/./src/models/ApiError.ts","webpack://orionlinetopbanner/./src/utils/fetcher.ts","webpack://orionlinetopbanner/./src/stores/actions.ts","webpack://orionlinetopbanner/./src/stores/defaultState.ts","webpack://orionlinetopbanner/./src/stores/topAreaStoreReducer.ts","webpack://orionlinetopbanner/./src/stores/TopAreaStore.tsx","webpack://orionlinetopbanner/./src/stores/buildSetters.ts","webpack://orionlinetopbanner/./src/components/Breadcrumbs.tsx","webpack://orionlinetopbanner/./src/hooks/useBannerColors.ts","webpack://orionlinetopbanner/./src/hooks/useCategoryColors.ts","webpack://orionlinetopbanner/./src/hooks/usePageTypeColors.ts","webpack://orionlinetopbanner/./src/components/BannerImage.tsx","webpack://orionlinetopbanner/./src/components/BannerVideo.tsx","webpack://orionlinetopbanner/./src/components/Banner.tsx","webpack://orionlinetopbanner/./src/constants/analytics.ts","webpack://orionlinetopbanner/./src/models/TranslationKeys.ts","webpack://orionlinetopbanner/./src/utils/findCurrentSubpagePath.ts","webpack://orionlinetopbanner/./src/components/BackButton.tsx","webpack://orionlinetopbanner/./src/components/SubpageLink.tsx","webpack://orionlinetopbanner/./src/components/Navigation.tsx","webpack://orionlinetopbanner/./src/components/ExpandableContent.tsx","webpack://orionlinetopbanner/./src/components/Content.tsx","webpack://orionlinetopbanner/./src/containers/OnlineTopBanner.tsx","webpack://orionlinetopbanner/./src/App.tsx","webpack://orionlinetopbanner/./src/appRender.tsx"],"sourcesContent":["import { NOT_LOGGED_IN_USER_ID } from '@ori/auth';\nimport { useContext, createContext } from 'react';\n\nimport type { AppConfiguration } from '../models';\n\nexport const configurationContextDefaultValues: AppConfiguration = {\n bannerApiUrl: '',\n breadcrumbsApiUrl: '',\n currentLanguage: '',\n customerId: NOT_LOGGED_IN_USER_ID,\n isPortalMode: false,\n pageId: '',\n staticApiUrl: '',\n tenant: '',\n};\n\nexport const configurationContext = createContext(configurationContextDefaultValues);\n\nexport const ConfigurationProvider = configurationContext.Provider;\n\nexport const useConfiguration = () => useContext(configurationContext);\n","import { SWRConfig } from '@ori/fetching';\nimport { ApiClientProvider as StaticApiClientProvider } from '@ori/static-api-client-react';\nimport type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport { swrConfig } from '../constants';\nimport { useConfiguration } from '../contexts';\n\nexport const ApiProvider: FC = ({ children }) => {\n const { currentLanguage, staticApiUrl, tenant } = useConfiguration();\n\n return (\n \n \n {children}\n \n \n );\n};\n","import i18next from 'i18next';\nimport type { FC, PropsWithChildren } from 'react';\nimport React, { useEffect } from 'react';\nimport { I18nextProvider, initReactI18next } from 'react-i18next';\n\nimport { defaultTranslations } from '../constants';\nimport { useLocalizationQuery } from '../hooks';\nimport type { TranslationKey } from '../models';\n\nconst DEFAULT_LANGUAGE_KEY = 'default';\nconst DEFAULT_NAMESPACE = 'translations';\n\nconst i18nextInstance = i18next\n .createInstance({\n keySeparator: '::',\n lng: DEFAULT_LANGUAGE_KEY,\n defaultNS: DEFAULT_NAMESPACE,\n resources: {\n [DEFAULT_LANGUAGE_KEY]: {\n [DEFAULT_NAMESPACE]: defaultTranslations,\n },\n },\n\n interpolation: {\n escapeValue: false, // react already safes from xss\n prefix: '{',\n suffix: '}',\n },\n\n react: {\n bindI18n: 'added removed languageChanged',\n bindI18nStore: 'added removed',\n },\n })\n .use(initReactI18next);\n\ni18nextInstance.init();\n\nexport const I18nContainer: FC<\n PropsWithChildren<{\n preloadedTranslations?: Record;\n }>\n> = ({ children, preloadedTranslations }) => {\n const { data } = useLocalizationQuery({\n isPaused: () => !!preloadedTranslations,\n suspense: !preloadedTranslations,\n });\n\n useEffect(() => {\n // If translations package has changed we will change provided package in i18next too\n i18nextInstance.addResourceBundle(\n DEFAULT_LANGUAGE_KEY,\n DEFAULT_NAMESPACE,\n data?.localizations ?? preloadedTranslations ?? {},\n false,\n true,\n );\n }, [data?.localizations, preloadedTranslations]);\n\n return {children};\n};\n","/* istanbul ignore file */\n\n/**\n * DO NOT EDIT!\n * This file was autogenerated by npm script `localizations-codegen`.\n * Changes may cause incorrect behavior and will be lost when the file is regenerated.\n *\n * Run `npx localizations-codegen` to regenerate.\n */\nimport type { TranslationKey } from '../models/TranslationKey';\n\nexport type DefaultTranslations = Record;\n\nexport const defaultTranslations: DefaultTranslations = {\n readLess: 'Read less',\n readMore: 'Read more',\n selectPage: 'Select Page',\n};\n\nexport const translationsNamespace = 'online-top-banner';\n","import type { BareFetcher, SWRConfiguration } from '@ori/fetching';\nimport type { StaticLocalizationsSingleLanguageLocalizationsDto } from '@ori/static-api-client-react';\nimport { useGetTenantLocalization } from '@ori/static-api-client-react';\n\nimport { APP_NAME } from '../constants';\nimport { useConfiguration } from '../contexts';\n\nexport function useLocalizationQuery(\n config?: SWRConfiguration<\n StaticLocalizationsSingleLanguageLocalizationsDto,\n Error,\n BareFetcher\n >,\n) {\n const { currentLanguage, tenant } = useConfiguration();\n\n return useGetTenantLocalization(\n tenant,\n APP_NAME,\n { lang: currentLanguage },\n {\n swr: {\n revalidateIfStale: false,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n ...config,\n },\n },\n );\n}\n","import type { FC, ReactElement } from 'react';\nimport { createPortal } from 'react-dom';\n\ninterface PortalizerProps {\n children: ReactElement;\n selector: string;\n}\n\nexport const Portalizer: FC = ({ children, selector }) => {\n const portalRoot = document.querySelector(selector);\n if (portalRoot) {\n return createPortal(children, portalRoot);\n }\n\n return null;\n};\n","import type { AxiosError } from '@ori/axios';\n\nexport class ApiError extends Error {\n data: AxiosError;\n\n constructor(message: string, data: AxiosError) {\n super(message);\n this.name = 'ApiError';\n this.data = data;\n }\n}\n","import type { AxiosError, AxiosRequestConfig } from '@ori/axios';\nimport { axios } from '@ori/axios';\n\nimport { ApiError } from '../models/ApiError';\n\nexport async function fetcher(url: string, options?: AxiosRequestConfig): Promise {\n return axios\n .get(url, options)\n .then(({ data: result }) => result)\n .catch((error: AxiosError) => {\n throw new ApiError(error.message, error);\n });\n}\n","import type { Breadcrumb } from '@ori/presentation-components';\n\nimport type { TopAreaApiResponse } from '../models';\n\nexport enum ActionName {\n SET_BANNER_DATA = 'SET_BANNER_DATA',\n SET_BREADCRUMBS_DATA = 'SET_BREADCRUMBS_DATA',\n SET_IS_SUBNAV_NESTED = 'SET_IS_SUBNAV_NESTED',\n}\n\nexport function setBannerData(data: TopAreaApiResponse) {\n return { type: ActionName.SET_BANNER_DATA, data } as const;\n}\n\nexport function setBreadCrumbsData(data: Breadcrumb[]) {\n return { type: ActionName.SET_BREADCRUMBS_DATA, data } as const;\n}\n\nexport function setIsSubnavNested(data: boolean) {\n return { type: ActionName.SET_IS_SUBNAV_NESTED, data } as const;\n}\n\nconst actions = [setBannerData, setBreadCrumbsData, setIsSubnavNested] as const;\n\nexport type ActionsType = ReturnType<(typeof actions)[number]>;\n\nexport default {\n setBannerData,\n setBreadCrumbsData,\n setIsSubnavNested,\n};\n","import type { TopAreaState } from '../models';\n\nexport const defaultState: TopAreaState = {\n backgroundImageUrl: '',\n backgroundVideoUrl: '',\n bannerHeadLineColor: '',\n bannerHeadlineText: '',\n breadcrumbs: [],\n categoryTitle: '',\n contentDescription: '',\n contentHeadline: '',\n isSubnavNested: false,\n pageId: '',\n pageType: '',\n subPages: [],\n};\n","import type { TopAreaState } from '../models';\nimport type { ActionsType } from './actions';\nimport { ActionName } from './actions';\n\nexport const topAreaStoreReducer = (state: TopAreaState, action: ActionsType): TopAreaState => {\n const { type, data } = action;\n\n switch (type) {\n case ActionName.SET_BANNER_DATA: {\n const { BannerModel, DescriptionModel, NavigationModel } = data;\n\n const { BgImageSrc, BgVideoSrc, CategoryTitle, Headline, HeadlineTextColor, PageType } = BannerModel;\n const { SeoHeadline, Description } = DescriptionModel;\n\n const newState = {\n ...state,\n backgroundImageUrl: BgImageSrc,\n backgroundVideoUrl: BgVideoSrc,\n bannerHeadlineText: Headline,\n categoryTitle: CategoryTitle,\n contentDescription: Description,\n contentHeadline: SeoHeadline,\n pageType: PageType,\n };\n\n if (HeadlineTextColor && HeadlineTextColor !== '') {\n newState.bannerHeadLineColor = HeadlineTextColor;\n }\n if (NavigationModel?.NavigationItems) {\n newState.subPages = NavigationModel.NavigationItems;\n }\n\n return newState;\n }\n case ActionName.SET_BREADCRUMBS_DATA: {\n return {\n ...state,\n breadcrumbs: data,\n };\n }\n case ActionName.SET_IS_SUBNAV_NESTED: {\n if (state.isSubnavNested === data) {\n return state;\n }\n\n return {\n ...state,\n isSubnavNested: data,\n };\n }\n default:\n return state;\n }\n};\n","import { useSWR } from '@ori/fetching';\nimport type { Breadcrumb } from '@ori/presentation-components';\nimport type { FC, ReactElement } from 'react';\nimport React, { createContext, useContext, useEffect, useMemo, useReducer, useRef } from 'react';\n\nimport { useConfiguration } from '../contexts';\nimport type { ApiError, TopAreaApiResponse, TopAreaState } from '../models';\nimport { fetcher } from '../utils';\nimport { buildSetters } from './buildSetters';\nimport { defaultState } from './defaultState';\nimport { topAreaStoreReducer } from './topAreaStoreReducer';\n\nexport interface TopAreaStore extends TopAreaState {\n setIsSubnavNested: (value: boolean) => void;\n}\n\nconst topAreaStoreContext = createContext(undefined);\nconst { Provider } = topAreaStoreContext;\n\nexport const TopAreaStoreProvider: FC<{ children: ReactElement }> = ({ children }) => {\n const { bannerApiUrl, breadcrumbsApiUrl, pageId, currentLanguage } = useConfiguration();\n const [topAreaStore, dispatchAction] = useReducer(topAreaStoreReducer, defaultState);\n const {\n current: { setBannerData, setBreadCrumbsData, setIsSubnavNested },\n } = useRef(buildSetters(dispatchAction));\n const { data: breadcrumbs, error: breadcrumbsError } = useSWR(\n [breadcrumbsApiUrl, pageId, 'breadcrumbs'],\n async (apiUrl: string, id: string) => {\n if (apiUrl) {\n const url = new URL(apiUrl);\n url.searchParams.set('itemId', id);\n url.searchParams.set('sc_lang', currentLanguage);\n\n return fetcher(url.toString());\n }\n\n return undefined;\n },\n );\n useEffect(() => {\n if (breadcrumbs) {\n setBreadCrumbsData(breadcrumbs);\n }\n if (breadcrumbsError) {\n // eslint-disable-next-line no-console -- log error\n console.error(breadcrumbsError);\n }\n }, [breadcrumbs, breadcrumbsError, setBreadCrumbsData]);\n const { data: banner, error: bannerError } = useSWR(\n [bannerApiUrl, pageId, 'banner'],\n async (apiUrl: string, id: string) => {\n if (apiUrl) {\n const url = new URL(apiUrl);\n url.searchParams.set('pageId', id);\n url.searchParams.set('sc_lang', currentLanguage);\n\n return fetcher(url.toString());\n }\n\n return undefined;\n },\n );\n useEffect(() => {\n if (banner) {\n setBannerData(banner);\n }\n if (bannerError) {\n // eslint-disable-next-line no-console -- log error\n console.error(bannerError);\n }\n }, [banner, bannerError, setBannerData]);\n const providerValue = useMemo(() => ({ ...topAreaStore, setIsSubnavNested }), [setIsSubnavNested, topAreaStore]);\n\n return {children};\n};\n\nexport const useTopAreaStore = () => {\n const context = useContext(topAreaStoreContext);\n if (context) {\n return context;\n }\n throw new Error('TopAreaStore context not initialised.');\n};\n","import type { Breadcrumb } from '@ori/presentation-components';\nimport type { Dispatch } from 'react';\n\nimport type { TopAreaApiResponse } from '../models';\nimport type { ActionsType } from './actions';\nimport { setBannerData, setBreadCrumbsData, setIsSubnavNested } from './actions';\n\nexport function buildSetters(dispatch: Dispatch) {\n return {\n setBannerData(data: TopAreaApiResponse) {\n dispatch(setBannerData(data));\n },\n setBreadCrumbsData(data: Breadcrumb[]) {\n dispatch(setBreadCrumbsData(data));\n },\n setIsSubnavNested(data: boolean) {\n dispatch(setIsSubnavNested(data));\n },\n } as const;\n}\n","import { styled } from '@ori-ui/mui';\nimport { isBeautyApp } from '@ori/beauty-app-info';\nimport { Breadcrumbs } from '@ori/presentation-components';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { useTopAreaStore } from '../stores/TopAreaStore';\n\nconst Root = styled('div')`\n color: inherit;\n\n a:hover,\n a:focus {\n color: inherit;\n }\n`;\n\nconst Component: FC = () => {\n const { getTestId } = useTestId();\n const { breadcrumbs } = useTopAreaStore();\n if (isBeautyApp() || !breadcrumbs.length) {\n return null;\n }\n\n return (\n \n \n \n );\n};\nComponent.displayName = 'Breadcrumbs';\n\nexport { Component as Breadcrumbs };\n","import { useTheme } from '@ori-ui/mui';\nimport { useMemo } from 'react';\n\nimport { useTopAreaStore } from '../stores/TopAreaStore';\nimport { useCategoryColors } from './useCategoryColors';\nimport { usePageTypeColors } from './usePageTypeColors';\n\nexport const useBannerColors = () => {\n const { bannerHeadLineColor } = useTopAreaStore();\n const { palette } = useTheme();\n const categoryColors = useCategoryColors();\n const pageTypeColors = usePageTypeColors();\n const defaultColors = useMemo(\n () => ({\n backgroundColor: palette.common.white,\n color: bannerHeadLineColor || palette.common.black,\n }),\n [bannerHeadLineColor, palette.common.black, palette.common.white],\n );\n\n return categoryColors ?? pageTypeColors ?? defaultColors;\n};\n","import type { Theme } from '@ori-ui/mui';\nimport { useTheme } from '@ori-ui/mui';\nimport { useMemo } from 'react';\n\nimport { useTopAreaStore } from '../stores/TopAreaStore';\n\nconst get = (title: string, palette: Theme['palette']) => {\n switch (title) {\n case 'accessories':\n return { backgroundColor: palette.red[50], color: palette.yellow[400] };\n case 'bath-body':\n case 'body-care':\n return { backgroundColor: palette.blue[100], color: palette.info.dark };\n case 'essential-oils':\n return {\n backgroundColor: palette.purple[50],\n color: palette.purple[400],\n };\n case 'fragrance':\n return { backgroundColor: palette.brown[50], color: palette.brown[400] };\n case 'hair':\n return {\n backgroundColor: palette.yellow[50],\n color: palette.yellow[400],\n };\n case 'kids-baby':\n return { backgroundColor: palette.blue[50], color: palette.info.dark };\n case 'makeup':\n return { backgroundColor: palette.pink[50], color: palette.pink[300] };\n case 'men':\n return {\n backgroundColor: palette.primary.light,\n color: palette.secondary.main,\n };\n case 'personal-products-list':\n return {\n backgroundColor: palette.secondary.light,\n color: palette.common.white,\n };\n case 'skincare':\n return {\n backgroundColor: palette.primary.light,\n color: palette.green[400],\n };\n case 'wellness':\n return {\n backgroundColor: palette.purple[200],\n color: palette.purple[400],\n };\n default:\n return undefined;\n }\n};\n\nexport const useCategoryColors = () => {\n const { categoryTitle } = useTopAreaStore();\n const { palette } = useTheme();\n\n return useMemo(() => get(categoryTitle, palette), [categoryTitle, palette]);\n};\n","import type { Theme } from '@ori-ui/mui';\nimport { useTheme } from '@ori-ui/mui';\nimport { useMemo } from 'react';\n\nimport { useTopAreaStore } from '../stores/TopAreaStore';\n\nconst get = (type: string, palette: Theme['palette']) => {\n switch (type) {\n case 'BrandsPage':\n case 'FavoritesListing':\n case 'FocusPage':\n return {\n backgroundColor: palette.secondary.main,\n color: palette.common.white,\n };\n case 'IngredientsListingPage':\n return {\n backgroundColor: palette.primary.light,\n color: palette.common.white,\n };\n default:\n return undefined;\n }\n};\n\nexport const usePageTypeColors = () => {\n const { pageType } = useTopAreaStore();\n const { palette } = useTheme();\n\n return useMemo(() => get(pageType, palette), [pageType, palette]);\n};\n","import { styled } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { useTopAreaStore } from '../stores/TopAreaStore';\n\nconst StyledImage = styled('img')({\n height: '100%',\n left: 0,\n objectFit: 'cover',\n objectPosition: '50% 50%',\n position: 'absolute',\n top: 0,\n width: '100%',\n zIndex: 1,\n});\n\nconst imageGenerator = (url: string, w: string, q: string) => {\n const baseUrl = new URL(url);\n baseUrl.searchParams.set('w', w);\n baseUrl.searchParams.set('imageFormat', 'Jpeg');\n baseUrl.searchParams.set('q', q);\n\n return baseUrl.toString();\n};\n\nexport const BannerImage: FC = () => {\n const { getTestId } = useTestId();\n\n // HOTFIX: Article pages overwrite\n const imgSizesProp = document.querySelector('.article-page') ? '(max-width: 1024px) 100vw, 984px' : '100vw';\n\n const { backgroundImageUrl, bannerHeadlineText } = useTopAreaStore();\n\n if (!backgroundImageUrl) {\n return null;\n }\n\n return (\n \n );\n};\n","import { styled } from '@ori-ui/mui';\nimport { useIsMobile } from '@ori/presentation-hooks';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { useTopAreaStore } from '../stores/TopAreaStore';\n\nconst StyledVideo = styled('video')(() => ({\n height: '100%',\n left: 0,\n objectFit: 'cover',\n objectPosition: '50% 50%',\n position: 'absolute',\n top: 0,\n width: '100%',\n zIndex: 2,\n}));\n\nexport const BannerVideo: FC = () => {\n const { getTestId } = useTestId();\n const isMobile = useIsMobile();\n\n const { backgroundVideoUrl } = useTopAreaStore();\n\n if (!backgroundVideoUrl || isMobile) {\n return null;\n }\n\n return (\n \n );\n};\n","import { styled } from '@ori-ui/mui';\nimport { useIsMobile } from '@ori/presentation-hooks';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { useBannerColors } from '../hooks';\nimport { useTopAreaStore } from '../stores/TopAreaStore';\nimport { BannerImage } from './BannerImage';\nimport { BannerVideo } from './BannerVideo';\nimport { Breadcrumbs } from './Breadcrumbs';\n\ninterface BannerProps {\n hasNoBreadcrumbs?: boolean;\n isPortalMode?: boolean;\n}\n\ninterface StyledProps {\n backgroundColor?: string;\n color?: string;\n hasNoContent?: boolean;\n hasNoMedia?: boolean;\n isPortalMode?: boolean;\n}\n\nconst StyledBanner = styled('div')(({ backgroundColor, color, hasNoContent, hasNoMedia, theme }) => ({\n background: backgroundColor,\n color,\n height: 'unset',\n maxHeight: '500px',\n minHeight: '100px',\n overflow: 'hidden',\n position: 'relative',\n [theme.breakpoints.up(768)]: {\n height: 'unset',\n marginBottom: theme.spacing(5),\n },\n ...(hasNoMedia && {\n height: '180px',\n [theme.breakpoints.up(768)]: {\n height: '280px',\n marginBottom: theme.spacing(5),\n },\n }),\n ...(hasNoContent && { minHeight: 0 }),\n}));\n\nconst StyledBreadcrumbs = styled('div')(({ hasNoContent, theme }) => ({\n display: 'inline-block',\n left: '15px',\n position: 'absolute',\n top: '20px',\n zIndex: 10,\n [theme.breakpoints.up(768)]: {\n left: '40px',\n margin: 'unset',\n position: 'absolute',\n top: '25px',\n },\n ...(hasNoContent && {\n [theme.breakpoints.up(768)]: {\n margin: theme.spacing(5, 0, 0, 8),\n position: 'static',\n },\n }),\n}));\n\nconst StyledContent = styled('div')(({ hasNoContent, theme }) => ({\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n left: '50%',\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n top: '50%',\n width: '100%',\n zIndex: 3,\n ...(hasNoContent && {\n left: 0,\n padding: theme.spacing(10, 0),\n position: 'relative',\n top: 0,\n [theme.breakpoints.up(768)]: {\n left: '50%',\n padding: 0,\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n top: '50%',\n },\n }),\n}));\n\nconst StyledTitle = styled('div')(({ theme }) => ({\n display: '-webkit-box',\n fontFamily: 'SansCondensedOri, SansCondensedOriFallback, SansOri, SansOriFallback, sans-serif',\n fontSize: theme.typography.h4.fontSize,\n fontWeight: theme.typography.fontWeightBold,\n overflow: 'hidden',\n textAlign: 'center',\n textOverflow: 'ellipsis',\n textTransform: 'uppercase',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 3,\n width: '80%',\n [theme.breakpoints.up(768)]: {\n fontSize: theme.typography.pxToRem(60),\n WebkitLineClamp: 2,\n },\n}));\n\nconst StyledMediaContainer = styled('div')(({ isPortalMode, theme }) => ({\n display: 'block',\n height: 180,\n opacity: 1,\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n paddingTop: 180,\n width: '100%',\n },\n [theme.breakpoints.up(768)]: {\n height: 280,\n marginRight: 0,\n transform: 'none',\n '&:before': {\n paddingTop: 280,\n },\n },\n [theme.breakpoints.up(1366)]: {\n height: 'auto',\n ...(!isPortalMode && {\n '&:before': {\n paddingTop: '20.5%',\n },\n }),\n },\n}));\n\nexport const Banner: FC = ({ hasNoBreadcrumbs, isPortalMode }) => {\n const { backgroundVideoUrl, backgroundImageUrl, bannerHeadlineText, isSubnavNested } = useTopAreaStore();\n\n const colors = useBannerColors();\n const hasNoContent = !backgroundVideoUrl && !backgroundImageUrl && !bannerHeadlineText;\n const hasNoMedia = !backgroundVideoUrl && !backgroundImageUrl;\n const hasNoTitle = Boolean(!bannerHeadlineText);\n const isMobile = useIsMobile();\n const { getTestId } = useTestId();\n\n if (hasNoContent && isMobile && isSubnavNested) {\n return null;\n }\n\n const styledProps = {\n ...colors,\n hasNoMedia,\n hasNoTitle,\n isPortalMode,\n };\n\n return (\n \n \n {!hasNoBreadcrumbs && }\n \n \n {bannerHeadlineText}\n \n {!hasNoMedia && (\n \n \n \n \n )}\n \n );\n};\n","export const BASE_ANALYTICS_HIERARCHY = ['select_category', 'Quick links'];\n","// DO NOT EDIT MANUALLY!\n// This file is generated, edit `resources/Localizations.json` and run `npm run generate-translation-keys` to update.\n\nexport enum TranslationKeys {\n readLess = 'readLess',\n readMore = 'readMore',\n selectPage = 'selectPage',\n}\n","import type { NavigationItem } from '../models';\n\nexport const findCurrentSubpagePath = (navItemArray: NavigationItem[]) => {\n const navPathInner: NavigationItem[] = [];\n\n navItemArray.forEach((navItem) => {\n if (navItem.IsCurrent) {\n navPathInner.push(navItem);\n\n return;\n }\n\n if (navItem.Children.length) {\n const tmp = [...findCurrentSubpagePath(navItem.Children)];\n if (tmp.length) {\n navPathInner.push(navItem, ...tmp);\n }\n }\n });\n\n return navPathInner;\n};\n","import { ArrowLeftThin } from '@ori-ui/icons';\nimport { ButtonBase, styled } from '@ori-ui/mui';\nimport type { MouseEvent, FC } from 'react';\nimport React, { useCallback } from 'react';\n\ninterface BackButtonProps {\n label: string;\n onClick: (event: MouseEvent) => void;\n}\n\nconst StyledBackButton = styled(ButtonBase)(({ theme }) => ({\n alignItems: 'center',\n alignSelf: 'center',\n cursor: 'pointer',\n display: 'flex',\n fontWeight: theme.typography.fontWeightBold,\n height: '80px',\n justifyContent: 'center',\n margin: theme.spacing(0, 2),\n paddingTop: '20px',\n verticalAlign: 'middle',\n '&:hover': {\n color: theme.palette.secondary.main,\n },\n [theme.breakpoints.up(768)]: {\n height: 'auto',\n margin: theme.spacing(0, 3),\n paddingTop: 0,\n },\n}));\n\nexport const BackButton: FC = ({ label, onClick }) => {\n const clickHandler = useCallback(\n (event: MouseEvent) => {\n event.preventDefault();\n onClick(event);\n },\n [onClick],\n );\n\n return (\n \n \n {label}\n \n );\n};\n","import { ArrowRightThin } from '@ori-ui/icons';\nimport { styled } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { MouseEvent, FC } from 'react';\nimport React, { useCallback } from 'react';\n\nimport type { NavigationItem } from '../models';\n\nconst StyledSubpage = styled('li')(({ theme }) => ({\n alignItems: 'center',\n color: theme.palette.text.disabled,\n cursor: 'pointer',\n display: 'flex',\n flex: '0 0 auto',\n fontSize: theme.typography.body1.fontSize,\n fontWeight: theme.typography.fontWeightBold,\n marginBottom: theme.spacing(4),\n order: 2,\n padding: theme.spacing(0, 4),\n [theme.breakpoints.up(768)]: {\n height: '30px',\n margin: theme.spacing(0, 3),\n order: 'unset',\n padding: 0,\n },\n}));\n\nconst StyledSubpageText = styled('a')(({ theme }) => ({\n color: theme.palette.text.disabled,\n overflow: 'hidden',\n textDecoration: 'none',\n textOverflow: 'ellipsis',\n width: '100%',\n '&:focus': {\n color: theme.palette.text.secondary,\n },\n '&:hover': {\n color: theme.palette.text.secondary,\n },\n}));\n\nconst url2testid = (url: string): string =>\n url\n .replace(/^https?:/i, '')\n .replace(/[#?].*$/i, '')\n .replaceAll(/[./]/gi, '_');\n\ninterface SubpageLinkProps {\n subpage: NavigationItem;\n onClick: (event: MouseEvent, subpage: NavigationItem) => void;\n}\n\nexport const SubpageLink: FC = ({ subpage, onClick }) => {\n const { getTestId } = useTestId();\n const onSubpageLinkClick = useCallback((e: MouseEvent) => onClick(e, subpage), [onClick, subpage]);\n\n return (\n \n \n {subpage.Label}\n {Boolean(subpage.Children.length) && }\n \n \n );\n};\n","import * as UserAction from '@ori-events/user-action';\nimport { ArrowUpThin } from '@ori-ui/icons';\nimport { SHADOW_LEVEL1, styled } from '@ori-ui/mui';\nimport { useIsMobile } from '@ori/presentation-hooks';\nimport useTestId from '@ori/testid-generator';\nimport type { MouseEvent, RefObject, FC } from 'react';\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { BASE_ANALYTICS_HIERARCHY } from '../constants';\nimport { TranslationKeys, type NavigationItem } from '../models';\nimport { useTopAreaStore } from '../stores/TopAreaStore';\nimport { findCurrentSubpagePath } from '../utils';\nimport { BackButton } from './BackButton';\nimport { SubpageLink } from './SubpageLink';\n\ninterface StyledNavigationProps {\n ownerState: {\n isNested: boolean;\n };\n}\n\ninterface StyledNavigationWrapperProps {\n ownerState: {\n isToggled: boolean;\n };\n}\n\nconst StyledNavigation = styled('div')(({ ownerState: { isNested }, theme }) => ({\n boxSizing: 'border-box',\n marginBottom: 'unset',\n minHeight: '60px',\n '& *': {\n boxSizing: 'border-box',\n },\n '& svg': {\n fontSize: 'unset',\n marginRight: 'unset',\n },\n [theme.breakpoints.up(768)]: {\n marginBottom: 'unset',\n minHeight: 'unset',\n },\n ...(isNested && {\n fontSize: theme.typography.pxToRem(19),\n marginBottom: theme.spacing(8),\n marginRight: theme.spacing(1),\n minHeight: '120px',\n [theme.breakpoints.up(768)]: {\n marginBottom: 0,\n minHeight: 'auto',\n },\n }),\n}));\n\nconst StyledNavigationWrapper = styled('ul')(({ ownerState: { isToggled }, theme }) => ({\n background: theme.palette.common.white,\n borderRadius: '0 0 15px 15px',\n boxShadow: SHADOW_LEVEL1,\n display: 'flex',\n flexDirection: 'column',\n listStyle: 'none',\n margin: theme.spacing(0, 0, 4),\n maxHeight: 'unset',\n overflow: 'hidden',\n padding: theme.spacing(1),\n position: 'absolute',\n transition: '300ms',\n width: '100%',\n zIndex: 101,\n ...(isToggled && {\n borderRadius: 0,\n maxHeight: '60px',\n [theme.breakpoints.up(768)]: {\n maxHeight: 'none',\n },\n }),\n [theme.breakpoints.up(768)]: {\n borderRadius: 0,\n boxShadow: 'none',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n margin: theme.spacing(0, 'auto'),\n maxHeight: 'unset',\n maxWidth: '1100px',\n overflow: 'unset',\n padding: 0,\n position: 'relative',\n },\n}));\n\nconst StyledBackButtonWrapper = styled('li')({\n display: 'flex',\n});\n\nconst StyledHeader = styled('li')(({ theme }) => ({\n alignItems: 'center',\n color: theme.palette.text.primary,\n cursor: 'pointer',\n display: 'flex',\n flex: '0 0 auto',\n fontSize: theme.typography.body1.fontSize,\n fontWeight: theme.typography.fontWeightBold,\n height: '60px',\n marginBottom: theme.spacing(4),\n order: 1,\n padding: theme.spacing(0, 4),\n [theme.breakpoints.up(768)]: {\n display: 'none',\n height: '30px',\n margin: theme.spacing(0, 3),\n order: 'unset',\n padding: 0,\n },\n}));\n\nconst StyledChild = styled('li')(({ theme }) => ({\n alignItems: 'center',\n color: theme.palette.text.secondary,\n cursor: 'pointer',\n display: 'none',\n flex: '0 0 auto',\n fontSize: theme.typography.body1.fontSize,\n fontWeight: theme.typography.fontWeightBold,\n marginBottom: theme.spacing(4),\n order: 2,\n padding: theme.spacing(0, 4),\n [theme.breakpoints.up(768)]: {\n display: 'flex',\n height: '30px',\n margin: theme.spacing(0, 3),\n order: 'unset',\n padding: 0,\n },\n}));\n\nconst StyledHeaderText = styled('a')(({ ownerState: { isNested }, theme }) => ({\n alignItems: 'unset',\n color: 'inherit',\n display: 'unset',\n marginRight: 'auto',\n overflow: 'hidden',\n textDecoration: 'none',\n textOverflow: 'ellipsis',\n width: '100%',\n '&:hover': {\n color: theme.palette.text.secondary,\n marginRight: 'unset',\n },\n ...(isNested && {\n alignItems: 'center',\n display: 'flex',\n }),\n}));\n\nconst StyledChildText = styled('a')(({ theme }) => ({\n color: 'inherit',\n overflow: 'hidden',\n textDecoration: 'none',\n textOverflow: 'ellipsis',\n width: '100%',\n '&:hover': {\n color: theme.palette.text.secondary,\n },\n}));\n\nconst StyledArrowUpThin = styled(ArrowUpThin)(({ ownerState: { isToggled }, theme }) => ({\n color: theme.palette.text.disabled,\n fontSize: theme.typography.subtitle1.fontSize,\n marginLeft: theme.spacing(4),\n transition: '300ms',\n transform: 'unset',\n [theme.breakpoints.up(768)]: {\n display: 'none',\n },\n ...(isToggled && {\n color: theme.palette.text.secondary,\n transform: 'rotate(180deg)',\n }),\n}));\n\nexport const Navigation: FC = () => {\n const { subPages, setIsSubnavNested } = useTopAreaStore();\n const [translate] = useTranslation();\n const [isExpanded, setIsExpanded] = useState(false);\n const [isSubnavNestedLocal, setIsSubnavNestedLocal] = useState(false);\n const [navPath, setNavPath] = useState([]);\n const { getTestId } = useTestId();\n const contentRef: RefObject = useRef(null);\n const currentSubpages = navPath.length ? navPath.at(-1)?.Children : subPages;\n const isMobile = useIsMobile();\n\n useEffect(() => {\n const currentSubpagePathTmp = findCurrentSubpagePath(subPages);\n if (currentSubpagePathTmp.length) {\n const newNavPath = currentSubpagePathTmp.slice(0, -1);\n setNavPath(newNavPath);\n setIsSubnavNestedLocal(!(isMobile && newNavPath.length < 2 && currentSubpagePathTmp.length <= 2));\n }\n }, [subPages, isMobile]);\n\n useEffect(() => {\n setIsSubnavNested(isSubnavNestedLocal);\n }, [isSubnavNestedLocal, setIsSubnavNested]);\n\n const toggle = useCallback(\n (event: MouseEvent) => {\n event.preventDefault();\n setIsExpanded(!isExpanded);\n },\n [isExpanded],\n );\n\n const selectSubpage = useCallback(\n (event: MouseEvent, subPage: NavigationItem) => {\n UserAction.dispatch([...BASE_ANALYTICS_HIERARCHY, subPage.Url, subPage.Label]);\n\n if (!subPage.Url) {\n event.preventDefault();\n\n setNavPath([...navPath, subPage]);\n setIsSubnavNestedLocal(true);\n }\n },\n [navPath],\n );\n\n const goBackAction = useCallback(() => {\n const newNavPath = navPath.slice(0, -1);\n\n if ((isMobile && !newNavPath.length) || (!isMobile && !newNavPath.length)) {\n setIsSubnavNestedLocal(false);\n }\n setNavPath(newNavPath);\n }, [navPath, isMobile]);\n\n if (currentSubpages?.length == null) {\n return null;\n }\n\n const parentItem = navPath.length ? navPath.at(-1) : null;\n const currentItem = currentSubpages.find((subpage) => subpage.IsCurrent) ?? parentItem;\n const hasChildren = Boolean(currentItem?.Children.length);\n const ownerState = { isNested: isSubnavNestedLocal, isToggled: !isExpanded };\n\n const placeholder: NavigationItem = {\n Label: translate(TranslationKeys.selectPage),\n Url: '',\n IsCurrent: true,\n Children: [],\n };\n\n const subNavItems = () => {\n if (isMobile) {\n if (!currentSubpages.some((sub) => sub.IsCurrent)) {\n return [placeholder, ...currentSubpages];\n }\n\n if (parentItem && hasChildren && navPath.length) {\n return [parentItem, ...currentSubpages];\n }\n }\n\n return currentSubpages;\n };\n\n return (\n \n {isMobile && parentItem && isSubnavNestedLocal ? (\n \n ) : null}\n \n {parentItem && !isMobile ? (\n \n \n \n ) : null}\n {subNavItems().map((subPage) => {\n if (subPage.IsCurrent) {\n return (\n \n \n \n {subPage.Label}\n \n \n \n \n {subPage.Label}\n \n \n );\n }\n\n return (\n \n );\n })}\n \n \n );\n};\n","import { Collapse, styled } from '@ori-ui/mui';\nimport type { FC, ReactNode, RefObject } from 'react';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { TranslationKeys } from '../models';\n\ninterface StyledMoreProps {\n ownerState: {\n isExpanded: boolean;\n };\n}\n\nconst StyledMore = styled('div')(({ ownerState: { isExpanded }, theme }) => ({\n background: theme.palette.common.white,\n bottom: 0,\n fontWeight: theme.typography.fontWeightBold,\n marginTop: 0,\n minWidth: 'calc(100% - 20px)',\n position: 'relative',\n textAlign: 'center',\n transition: 'margin-top 300ms ease',\n width: '100%',\n '&:after': {\n backgroundImage: `linear-gradient(rgba(255, 255, 255, 0), ${theme.palette.common.white})`,\n bottom: '100%',\n content: '\"\"',\n display: 'block',\n height: '20px',\n left: 0,\n position: 'absolute',\n width: '100%',\n },\n ...(isExpanded && {\n marginTop: theme.spacing(5),\n }),\n}));\n\nconst StyledMoreLabel = styled('div')({\n cursor: 'pointer',\n display: 'inline-block',\n});\n\nconst MAX_CONTENT_HEIGHT = 57;\n\nexport const ExpandableContent: FC<{ children: ReactNode }> = ({ children }) => {\n const contentRef: RefObject = useRef(null);\n const [translate] = useTranslation();\n const [isExpanded, setIsExpanded] = useState(false);\n const [hasLongDescription, setHasLongDescription] = useState(false);\n\n const toggleExpanded = useCallback(() => {\n setIsExpanded((prevState) => !prevState);\n }, []);\n\n useEffect(() => {\n const descriptionHeight = contentRef.current?.scrollHeight;\n if (descriptionHeight !== undefined && descriptionHeight > MAX_CONTENT_HEIGHT) {\n setHasLongDescription(true);\n }\n }, []);\n\n return (\n <>\n \n {children}\n \n {hasLongDescription ? (\n \n \n {translate(isExpanded ? TranslationKeys.readLess : TranslationKeys.readMore)}\n \n \n ) : null}\n \n );\n};\n","import { styled, Typography } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { useTopAreaStore } from '../stores/TopAreaStore';\nimport { ExpandableContent } from './ExpandableContent';\n\nconst StyledContent = styled('div')(({ theme }) => ({\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n margin: theme.spacing(4, 'auto', 5),\n maxWidth: 'calc(100% - 20px)',\n position: 'relative',\n width: '100%',\n [theme.breakpoints.up(600)]: {\n maxWidth: '600px',\n },\n [theme.breakpoints.up(768)]: {\n margin: theme.spacing(5, 'auto', 12),\n },\n}));\n\nconst StyledHeader = styled(Typography)(({ theme }) => ({\n fontSize: theme.typography.pxToRem(20),\n fontWeight: theme.typography.fontWeightBold,\n textAlign: 'center',\n [theme.breakpoints.up(768)]: {\n marginTop: theme.spacing(9),\n },\n}));\n\nexport const Content: FC = () => {\n const { contentDescription, contentHeadline } = useTopAreaStore();\n const { getTestId } = useTestId();\n\n if (!contentHeadline && !contentDescription) {\n return null;\n }\n\n return (\n \n {contentHeadline ? {contentHeadline} : null}\n {contentDescription}\n \n );\n};\n","import { Banner, Breadcrumbs, Content, Navigation, Portalizer } from '../components';\nimport { useConfiguration } from '../contexts';\n\nexport const OnlineTopBanner = () => {\n const { bannerSelector, breadcrumbsSelector, isPortalMode, submenuSelector, contentSelector } = useConfiguration();\n if (isPortalMode) {\n return (\n <>\n {breadcrumbsSelector ? (\n \n \n \n ) : null}\n {bannerSelector ? (\n \n \n \n ) : null}\n {submenuSelector ? (\n \n \n \n ) : null}\n {contentSelector ? (\n \n \n \n ) : null}\n \n );\n }\n\n return (\n <>\n \n \n \n \n );\n};\n","import { TestIdProvider } from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport React, { Suspense } from 'react';\n\nimport { APP_NAME, APP_TEAM_NAME } from './constants';\nimport { ApiProvider, I18nContainer, OnlineTopBanner } from './containers';\nimport { ConfigurationProvider } from './contexts';\nimport type { AppConfiguration } from './models';\nimport { TopAreaStoreProvider } from './stores/TopAreaStore';\n\nexport type RootProps = AppConfiguration;\n\nexport const App: FC = (configuration) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n","import { ThemeProvider } from '@ori-ui/mui';\nimport { NOT_LOGGED_IN_USER_ID, UniversalTokenProvider } from '@ori/auth';\nimport { ErrorBoundary } from '@ori/presentation-components';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { App } from './App';\nimport { APP_NAME } from './constants';\nimport type { AppConfiguration } from './models';\n\n/**\n * React app renderer that is used when app is used as a standalone app\n */\nexport async function render(rootElement: HTMLElement) {\n const { dataset, style } = rootElement;\n const appConfig: AppConfiguration = {\n bannerApiUrl: dataset.bannerApiUrl ?? '',\n bannerSelector: dataset.bannerPortalSelector,\n breadcrumbsApiUrl: dataset.breadcrumbsApiUrl ?? '',\n breadcrumbsSelector: dataset.breadcrumbsPortalSelector,\n contentSelector: dataset.contentPortalSelector,\n customerId: dataset.customerId ? Number(dataset.customerId) : NOT_LOGGED_IN_USER_ID,\n isPortalMode: dataset.mode === 'portal',\n pageId: dataset.pageId ?? '',\n submenuSelector: dataset.submenuPortalSelector,\n staticApiUrl: dataset.staticApiUrl ?? '',\n tenant: dataset.tenant ?? '',\n currentLanguage: dataset.currentLanguage ?? '',\n };\n\n if (appConfig.isPortalMode) {\n style.display = 'none';\n }\n const { customerId } = appConfig;\n\n // Get token for local development\n if (\n process.env.NODE_ENV !== 'production' && // when using Requestly we do not want to load token\n process.env.REACT_APP_USE_REQUESTLY === '1'\n ) {\n // eslint-disable-next-line no-console -- Log info about requestly mode.\n console.log('USING REQUESTLY');\n }\n\n createRoot(rootElement).render(\n \n \n \n \n \n \n ,\n );\n}\n"],"names":["configurationContextDefaultValues","bannerApiUrl","breadcrumbsApiUrl","currentLanguage","customerId","NOT_LOGGED_IN_USER_ID","isPortalMode","pageId","staticApiUrl","tenant","configurationContext","createContext","ConfigurationProvider","Provider","useConfiguration","useContext","ApiProvider","_ref","children","_useConfiguration","_jsx","SWRConfig","value","swrConfig","StaticApiClientProvider","baseUrl","language","DEFAULT_LANGUAGE_KEY","DEFAULT_NAMESPACE","i18nextInstance","i18next","keySeparator","lng","defaultNS","resources","_defineProperty","readLess","readMore","selectPage","interpolation","escapeValue","prefix","suffix","react","bindI18n","bindI18nStore","use","initReactI18next","init","I18nContainer","config","preloadedTranslations","data","isPaused","suspense","useGetTenantLocalization","APP_NAME","lang","swr","_objectSpread","revalidateIfStale","revalidateOnFocus","revalidateOnReconnect","useEffect","_ref2","_data$localizations","addResourceBundle","localizations","I18nextProvider","i18n","Portalizer","selector","portalRoot","document","querySelector","createPortal","ApiError","_Error","message","_this","_classCallCheck","_callSuper","name","_inherits","_createClass","_wrapNativeSuper","Error","async","fetcher","url","options","axios","get","then","catch","error","ActionName","setBannerData","type","SET_BANNER_DATA","setBreadCrumbsData","SET_BREADCRUMBS_DATA","setIsSubnavNested","SET_IS_SUBNAV_NESTED","defaultState","backgroundImageUrl","backgroundVideoUrl","bannerHeadLineColor","bannerHeadlineText","breadcrumbs","categoryTitle","contentDescription","contentHeadline","isSubnavNested","pageType","subPages","topAreaStoreReducer","state","action","BannerModel","DescriptionModel","NavigationModel","BgImageSrc","BgVideoSrc","CategoryTitle","Headline","HeadlineTextColor","PageType","SeoHeadline","Description","newState","NavigationItems","topAreaStoreContext","undefined","TopAreaStoreProvider","dispatch","_useReducer","useReducer","_useReducer2","_slicedToArray","topAreaStore","dispatchAction","_useRef$current","useRef","current","_useSWR","useSWR","apiUrl","id","URL","searchParams","set","toString","breadcrumbsError","console","_useSWR2","banner","bannerError","providerValue","useMemo","useTopAreaStore","context","Root","styled","_templateObject","_taggedTemplateLiteral","Component","getTestId","useTestId","isBeautyApp","length","Breadcrumbs","displayName","useBannerColors","palette","useTheme","categoryColors","title","backgroundColor","red","color","yellow","blue","info","dark","purple","brown","pink","primary","light","secondary","main","common","white","green","useCategoryColors","pageTypeColors","usePageTypeColors","defaultColors","black","StyledImage","height","left","objectFit","objectPosition","position","top","width","zIndex","imageGenerator","w","q","BannerImage","imgSizesProp","_useTopAreaStore","alt","sizes","src","srcSet","concat","StyledVideo","BannerVideo","isMobile","useIsMobile","autoPlay","loop","muted","controls","StyledBanner","hasNoContent","hasNoMedia","theme","background","maxHeight","minHeight","overflow","breakpoints","up","marginBottom","spacing","StyledBreadcrumbs","_ref3","display","margin","StyledContent","_ref5","alignItems","justifyContent","transform","padding","StyledTitle","_ref7","fontFamily","fontSize","typography","h4","fontWeight","fontWeightBold","textAlign","textOverflow","textTransform","WebkitBoxOrient","WebkitLineClamp","pxToRem","StyledMediaContainer","_ref9","opacity","content","paddingTop","marginRight","Banner","_ref11","hasNoBreadcrumbs","colors","hasNoTitle","Boolean","styledProps","_jsxs","BASE_ANALYTICS_HIERARCHY","TranslationKeys","findCurrentSubpagePath","navItemArray","navPathInner","forEach","navItem","IsCurrent","push","Children","tmp","_toConsumableArray","apply","StyledBackButton","ButtonBase","alignSelf","cursor","verticalAlign","BackButton","label","onClick","clickHandler","useCallback","event","preventDefault","disableRipple","ArrowLeftThin","StyledSubpage","text","disabled","flex","body1","order","StyledSubpageText","textDecoration","SubpageLink","_ref4","subpage","onSubpageLinkClick","e","Url","replace","replaceAll","href","Label","ArrowRightThin","StyledNavigation","isNested","ownerState","boxSizing","StyledNavigationWrapper","isToggled","borderRadius","boxShadow","SHADOW_LEVEL1","flexDirection","listStyle","transition","flexWrap","maxWidth","StyledBackButtonWrapper","StyledHeader","StyledChild","StyledHeaderText","StyledChildText","_ref10","StyledArrowUpThin","ArrowUpThin","subtitle1","marginLeft","Navigation","_navPath$at","_currentSubpages$find","_useTranslation","useTranslation","translate","_useState","useState","_useState2","isExpanded","setIsExpanded","_useState3","_useState4","isSubnavNestedLocal","setIsSubnavNestedLocal","_useState5","_useState6","navPath","setNavPath","contentRef","currentSubpages","at","currentSubpagePathTmp","newNavPath","slice","toggle","selectSubpage","subPage","UserAction","goBackAction","parentItem","currentItem","find","hasChildren","placeholder","ref","some","sub","subNavItems","map","Fragment","StyledMore","bottom","marginTop","minWidth","backgroundImage","StyledMoreLabel","ExpandableContent","hasLongDescription","setHasLongDescription","toggleExpanded","prevState","_contentRef$current","descriptionHeight","scrollHeight","_Fragment","Collapse","in","collapsedSize","Typography","Content","OnlineTopBanner","bannerSelector","breadcrumbsSelector","submenuSelector","contentSelector","App","configuration","TestIdProvider","team","APP_TEAM_NAME","project","Suspense","fallback","render","rootElement","_dataset$bannerApiUrl","_dataset$breadcrumbsA","_dataset$pageId","_dataset$staticApiUrl","_dataset$tenant","_dataset$currentLangu","dataset","style","appConfig","bannerPortalSelector","breadcrumbsPortalSelector","contentPortalSelector","Number","mode","submenuPortalSelector","createRoot","ErrorBoundary","UniversalTokenProvider","initialToken","ThemeProvider","enableCacheProvider","cacheKey"],"sourceRoot":""}