{"version":3,"file":"271.chunk.js","mappings":"6TAGMA,GAAOC,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CACzCC,QAAS,OACTC,cAAe,SACfC,WAAY,SACb,IAEKC,GAAWN,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAO,GAAQ,MAAQ,CAC7CC,cADqCD,EAALL,MACXO,QAAQ,GAC9B,IAEKC,GAAYV,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAW,GAAQ,MAAQ,CAC9CH,cADsCG,EAALT,MACZO,QAAQ,GAC9B,IAEKG,GAAeZ,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAa,GAAQ,MAAQ,CACjDL,cADyCK,EAALX,MACfO,QAAQ,GAC9B,IAEKK,GAAcd,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAe,GAAQ,MAAQ,CAChDP,cADwCO,EAALb,MACdO,QAAQ,GAC9B,IAEYO,EAAoB,WAC/B,IAAMd,GAAQe,EAAAA,EAAAA,KACRC,GAAWC,EAAAA,EAAAA,GAAcjB,EAAMkB,YAAYC,KAAK,OAEtD,OACEC,EAAAA,EAAAA,MAACvB,EAAI,CAAAwB,SAAA,EACHC,EAAAA,EAAAA,KAAClB,EAAQ,CAAAiB,UACPC,EAAAA,EAAAA,KAACC,EAAAA,EAAQ,CACPC,OAAQ,GACRC,MAAOT,EAAW,IAAM,IACxBU,QAAQ,cACRC,UAAU,OACVC,GAAI,CAAEC,aAAc,QAGxBP,EAAAA,EAAAA,KAACd,EAAS,CAAAa,UACRC,EAAAA,EAAAA,KAACC,EAAAA,EAAQ,CACPC,OAAQ,GACRC,MAAOT,EAAW,IAAM,IACxBU,QAAQ,cACRC,UAAU,OACVC,GAAI,CAAEC,aAAc,QAGxBP,EAAAA,EAAAA,KAACZ,EAAY,CAAAW,UACXC,EAAAA,EAAAA,KAACC,EAAAA,EAAQ,CACPC,OAAQ,GACRC,MAAOT,EAAW,IAAM,IACxBU,QAAQ,cACRC,UAAU,OACVC,GAAI,CAAEC,aAAc,QAGxBP,EAAAA,EAAAA,KAACV,EAAW,CAAAS,UACVC,EAAAA,EAAAA,KAACC,EAAAA,EAAQ,CACPC,OAAQ,IACRC,MAAOT,EAAW,IAAM,IACxBU,QAAQ,cACRC,UAAU,OACVC,GAAI,CAAEC,aAAc,QAGxBP,EAAAA,EAAAA,KAACC,EAAAA,EAAQ,CACPC,OAAQ,GACRC,MAAOT,EAAW,IAAM,IACxBU,QAAQ,cACRC,UAAU,OACVC,GAAI,CAAEC,aAAc,OAI5B,E,2UClEO,IAAMC,EAAa,SAAAC,GAAA,SAAAD,IAAA,IAAAE,GAAAC,EAAAA,EAAAA,GAAA,KAAAH,GAAA,QAAAI,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GACwB,OADxBP,EAAAQ,EAAA,KAAAV,EAAA,GAAAW,OAAAJ,KAAAK,EAAAA,EAAAA,GAAAV,EAAA,QACsB,CAAC,GAACA,CAAA,QAAAW,EAAAA,EAAAA,GAAAb,EAAAC,IAAAa,EAAAA,EAAAA,GAAAd,EAAA,EAAAe,IAAA,SAAAC,MAMhD,WACE,IAAQC,EAA8BC,KAAKC,MAAnCF,MAER,OAAIA,GAEFG,QAAQH,MAAMA,GAEP,MAGgCC,KAAKG,MAAtC9B,QAGV,IAAC,EAAAwB,IAAA,2BAAAC,MAjBD,SAAgCC,GAC9B,MAAO,CAAEA,MAAAA,EACX,IAAC,CALuB,CAASK,EAAAA,W,8BCGtBC,EAA2C,CACtDC,gCAAiC,oFACjCC,iBAAkB,yCAClBC,6BAA8B,2DAC9BC,2BAA4B,qEAC5BC,2BAA4B,6DAC5BC,oBAAqB,qCACrBC,sBAAuB,wCACvBC,qBAAsB,iDACtBC,4BAA6B,uEAC7BC,0BAA2B,8DAC3BC,YACE,6WACFC,+BAAgC,8EAChCC,yBAA0B,QAC1BC,+BAAgC,IAChCC,yBAA0B,QAC1BC,2BAA4B,8CAC5BC,yBAA0B,oBAC1BC,2CAA4C,6BAC5CC,4BAA6B,aAC7BC,uBACE,yHACFC,2BAA4B,WAC5BC,4BAA6B,+CAC7BC,gBAAiB,+CACjBC,kBAAmB,kBACnBC,iBAAkB,OAClBC,kBAAmB,kCACnBC,8BAA+B,SAC/BC,0BAA2B,gEAC3BC,sBAAuB,gBACvBC,0BACE,gGACFC,gBAAiB,QACjBC,yBAA0B,mBAC1BC,oBAAqB,aACrBC,4BAA6B,wBAC7BC,iBAAkB,SAClBC,6BAA8B,SAC9BC,iBAAkB,mBAClBC,mBAAoB,YACpBC,2BAA4B,uBAC5BC,gBAAiB,QACjBC,0BAA2B,eAC3BC,yBAA0B,mBAC1BC,sBAAuB,aACvBC,2BAA4B,IAC5BC,2BAA4B,eAC5BC,qCAAsC,YACtCC,0BAA2B,mBAC3BC,eAAgB,iDAChBC,uBAAwB,wDACxBC,uBAAwB,8CACxBC,iCAAkC,2CAClCC,mBAAoB,YACpBC,2BAA4B,+CAC5BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,+BAAgC,oFAChCC,yBAA0B,QAC1BC,mCAAoC,eACpCC,+BAAgC,eAChCC,yCAA0C,YAC1CC,yBAA0B,QAC1BC,2BAA4B,8CAC5BC,qCAAsC,2CACtCC,yBAA0B,oBAC1BC,2CAA4C,6BAC5CC,4BAA6B,aAC7BC,uBACE,6HACFC,2BAA4B,WAC5BC,4BAA6B,+CAC7BC,cAAe,qBACfC,eAAgB,oBAChBC,cAAe,QACfC,wCAAyC,qCACzCC,iBAAkB,wBAClBC,eAAgB,sBAChBC,eAAgB,UAChBC,uBAAwB,kBACxBC,+BAAgC,eAChCC,4BAA6B,sBAC7BC,8BAA+B,2EAC/BC,oBACE,gQACFC,wCAAyC,iBACzCC,6CAA8C,uBAC9CC,WAAY,KACZC,iBAAkB,oBAClBC,cAAe,QACfC,wBAAyB,eACzBC,yBAA0B,IAC1BC,4BAA6B,SAC7BC,yBAA0B,eAC1BC,mCAAoC,YACpCC,sBAAuB,sBACvBC,2BAA4B,+CAC5BC,qBAAsB,8CACtBC,qBAAsB,8CACtBC,+BAAgC,2CAChCC,2BAA4B,sBAC5BC,2BAA4B,OAC5BC,oBAAqB,iBACrBC,mBAAoB,kDACpBC,SAAU,WACVC,8BAA+B,yBAC/BC,kBAAmB,OACnBC,uBAAwB,OACxBC,mBAAoB,UACpBC,mCAAoC,sCACpCC,2CAA4C,sCAC5CC,kBAAmB,6BACnBC,iCAAkC,6BAClCC,8BAA+B,yBAC/BC,2BAA4B,mBAC5BC,gBAAiB,8EACjBC,4BAA6B,wBAC7BC,uBAAwB,gBACxBC,+BAAgC,gFAChCC,mBAAoB,0CACpBC,yBAA0B,uBAC1BC,0BAA2B,qBAC3BC,kCAAmC,qBACnCC,gCAAiC,yCACjCC,iBAAkB,sBAClBC,6BAA8B,uBAC9BC,wBAAyB,0BACzBC,wBAAyB,0BACzBC,0BAA2B,mBAC3BC,2BAA4B,uBAC5BC,yBAA0B,kBAC1BC,iCAAkC,gBAClCC,uBAAwB,gBACxBC,2BAA4B,YAC5BC,yBAA0B,kBAC1BC,iCAAkC,aAClCC,4BAA6B,qBAC7BC,iCACE,wTACFC,iBAAkB,gBAClBC,qBAAsB,2DACtBC,wBAAyB,UACzBC,sBAAuB,8BACvBC,0BAA2B,mBAC3BC,6BAA8B,eAC9BC,2BACE,4FACFC,eAAgB,OAChBC,qBAAsB,cACtBC,mBAAoB,OACpBC,mBAAoB,OACpBC,yBAA0B,kBAC1BC,6BACE,4FACFC,gCAAiC,iBACjCC,8BAA+B,0BAC/BC,YAAa,eACbC,eAAgB,kBAChBC,eAAgB,WAChBC,aAAc,mEACdC,cAAe,oBACfC,cAAe,iBACfC,qBAAsB,wBACtBC,wBAAyB,iCACzBC,KAAM,OACNC,iBAAkB,mBAClBC,aAAc,eACdC,KAAM,OACNC,8BAA+B,8CAC/BC,kCAAmC,gCACnCC,qBAAsB,6BACtBC,OAAQ,SACRC,aAAc,yBACdC,aAAc,gBACdC,cAAe,8BACfC,aAAc,gBACdC,aAAc,gBACdC,aAAc,gBACdC,KAAM,OACNC,iBAAkB,mBAClBC,aAAc,eACdC,QAAS,UACTC,sBAAuB,8CACvBC,QAAS,UACTC,oBAAqB,sBACrBC,yBAA0B,mBAC1BC,qBAAsB,6CACtBC,mBAAoB,2EACpBC,OAAQ,SACRC,SAAU,WACVC,UAAW,aACXC,sBAAuB,yBACvBC,kBAAmB,qBACnBC,UAAW,aACXC,sBAAuB,yBACvBC,kBAAmB,qBACnBC,qBAAsB,uBACtBC,iBAAkB,mBAClBC,SAAU,WACVC,qBAAsB,uBACtBC,iBAAkB,mBAClBC,2BAA4B,sCAC5BC,aAAc,mBACdC,uBAAwB,uDACxBC,eAAgB,MAChBC,iBAAkB,QAClBC,iBAAkB,QAClBC,KAAM,OACNC,QAAS,UACTC,SAAU,WACVC,qBAAsB,uBACtBC,iBAAkB,mBAClBC,eAAgB,aAChBC,cAAe,iBACfC,wBAAyB,0BACzBC,aAAc,eACdC,mCAAoC,oBACpCC,yBAA0B,UAC1BC,0BAA2B,SAC3BC,mCAAoC,qBACpCC,oCAAqC,qBACrCC,mCAAoC,qBACpCC,SAAU,WACVC,qBAAsB,uBACtBC,iBAAkB,mBAClBC,SAAU,YACVC,OAAQ,SACRC,mBAAoB,qBACpBC,eAAgB,iBAChBC,eAAgB,0BAChBC,mBAAoB,wBACpBC,WAAY,cACZC,+BAAgC,4CAChCC,UAAW,aACXC,cAAe,WACfC,aAAc,UACdC,cAAe,WACfC,aAAc,gBACdC,cAAe,iBACfC,qBAAsB,uBACtBC,0BAA2B,6BAC3BC,cAAe,mBACfC,6BAA8B,4CAC9BC,WAAY,WACZC,UAAW,eACXC,yBAA0B,+DAC1BC,oBAAqB,yDACrBC,6BAA8B,iDAC9BC,kCAAmC,8CACnCC,iBAAkB,0BAClBC,kCAAmC,yBACnCC,oBAAqB,2BACrBC,mBAAoB,0CACpBC,oBAAqB,2BACrBC,mBAAoB,sCACpBC,gBAAiB,wCACjBC,yBAA0B,iEAC1BC,qBAAsB,uDACtBC,0CAA2C,0CAC3CC,qBAAsB,wDACtBC,wBAAyB,sDACzBC,mBAAoB,yBACpBC,sBAAuB,wBACvBC,4BAA6B,+BAC7BC,kCAAmC,4BACnCC,4BAA6B,+BAC7BC,sBAAuB,iDACvBC,wBAAyB,2BACzBC,yBAA0B,6BAC1BC,yBAA0B,4BAC1BC,gCAAiC,iCACjCC,2BAA4B,+CAC5BC,qBAAsB,qBACtBC,6BAA8B,8BAC9BC,wBAAyB,yBACzBC,wBAAyB,4CACzBC,QAAS,UACTC,QAAS,WACTC,oBAAqB,uBACrBC,gBAAiB,oBC/RNvR,EAA2C,CACtDC,gCAAiC,oFACjCC,iBAAkB,yCAClBC,6BAA8B,2DAC9BC,2BAA4B,qEAC5BC,2BAA4B,6DAC5BC,oBAAqB,qCACrBC,sBAAuB,wCACvBC,qBAAsB,iDACtBC,4BAA6B,uEAC7BC,0BAA2B,8DAC3BC,YACE,6WACFC,+BAAgC,8EAChCC,yBAA0B,QAC1BC,+BAAgC,IAChCC,yBAA0B,QAC1BC,2BAA4B,8CAC5BC,yBAA0B,oBAC1BC,2CAA4C,6BAC5CC,4BAA6B,aAC7BC,uBACE,yHACFC,2BAA4B,WAC5BC,4BAA6B,+CAC7BC,gBAAiB,+CACjBC,kBAAmB,kBACnBC,iBAAkB,OAClBC,kBAAmB,kCACnBC,8BAA+B,SAC/BC,0BAA2B,gEAC3BC,sBAAuB,gBACvBC,0BACE,gGACFC,gBAAiB,QACjBC,yBAA0B,mBAC1BC,oBAAqB,aACrBC,4BAA6B,wBAC7BC,iBAAkB,SAClBC,6BAA8B,SAC9BC,iBAAkB,mBAClBC,mBAAoB,YACpBC,2BAA4B,uBAC5BC,gBAAiB,QACjBC,0BAA2B,eAC3BC,yBAA0B,mBAC1BC,sBAAuB,aACvBC,2BAA4B,IAC5BC,2BAA4B,eAC5BC,qCAAsC,YACtCC,0BAA2B,mBAC3BC,eAAgB,iDAChBC,uBAAwB,wDACxBC,uBAAwB,8CACxBC,iCAAkC,2CAClCC,mBAAoB,YACpBC,2BAA4B,+CAC5BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,+BAAgC,oFAChCC,yBAA0B,QAC1BC,mCAAoC,eACpCC,+BAAgC,eAChCC,yCAA0C,YAC1CC,yBAA0B,QAC1BC,2BAA4B,8CAC5BC,qCAAsC,2CACtCC,yBAA0B,oBAC1BC,2CAA4C,6BAC5CC,4BAA6B,aAC7BC,uBACE,6HACFC,2BAA4B,WAC5BC,4BAA6B,+CAC7BC,cAAe,qBACfC,eAAgB,oBAChBC,cAAe,QACfC,wCAAyC,qCACzCC,iBAAkB,wBAClBC,eAAgB,sBAChBC,eAAgB,UAChBC,uBAAwB,kBACxBC,+BAAgC,eAChCC,4BAA6B,sBAC7BC,8BAA+B,2EAC/BC,oBACE,8PACFC,wCAAyC,iBACzCC,6CAA8C,uBAC9CC,WAAY,KACZC,iBAAkB,oBAClBC,cAAe,QACfC,wBAAyB,eACzBC,yBAA0B,IAC1BC,4BAA6B,SAC7BC,yBAA0B,eAC1BC,mCAAoC,YACpCC,sBAAuB,sBACvBC,2BAA4B,+CAC5BC,qBAAsB,8CACtBC,qBAAsB,8CACtBC,+BAAgC,2CAChCC,2BAA4B,sBAC5BC,2BAA4B,OAC5BC,oBAAqB,iBACrBC,mBAAoB,kDACpBC,SAAU,WACVC,8BAA+B,yBAC/BC,kBAAmB,OACnBC,uBAAwB,OACxBC,mBAAoB,UACpBC,mCAAoC,qCACpCC,2CAA4C,qCAC5CC,kBAAmB,6BACnBC,iCAAkC,6BAClCC,8BAA+B,yBAC/BC,2BAA4B,mBAC5BC,gBACE,oKACFC,4BAA6B,wBAC7BC,uBAAwB,gBACxBC,+BAAgC,gFAChCC,mBAAoB,0CACpBC,yBAA0B,uBAC1BC,0BAA2B,qBAC3BC,kCAAmC,qBACnCC,gCAAiC,yCACjCC,iBAAkB,sBAClBC,6BAA8B,uBAC9BC,wBAAyB,0BACzBC,wBAAyB,0BACzBC,0BAA2B,mBAC3BC,2BAA4B,uBAC5BC,yBAA0B,kBAC1BC,iCAAkC,gBAClCC,uBAAwB,gBACxBC,2BAA4B,YAC5BC,yBAA0B,kBAC1BC,iCAAkC,aAClCC,4BAA6B,qBAC7BC,iCACE,wTACFC,iBAAkB,gBAClBC,qBAAsB,2DACtBC,wBAAyB,UACzBC,sBAAuB,8BACvBC,0BAA2B,mBAC3BC,6BAA8B,eAC9BC,2BACE,4FACFC,eAAgB,OAChBC,qBAAsB,cACtBC,mBAAoB,OACpBC,mBAAoB,OACpBC,yBAA0B,kBAC1BC,6BACE,4FACFC,gCAAiC,iBACjCC,8BAA+B,0BAC/BC,YAAa,eACbC,eAAgB,kBAChBC,eAAgB,WAChBC,aAAc,mEACdC,cAAe,oBACfC,cAAe,iBACfC,qBAAsB,wBACtBC,wBAAyB,iCACzBC,KAAM,OACNC,iBAAkB,mBAClBC,aAAc,eACdC,KAAM,OACNC,8BAA+B,8CAC/BC,kCAAmC,gCACnCC,qBAAsB,6BACtBC,OAAQ,SACRC,aAAc,yBACdC,aAAc,gBACdC,cAAe,8BACfC,aAAc,gBACdC,aAAc,gBACdC,aAAc,gBACdC,KAAM,OACNC,iBAAkB,mBAClBC,aAAc,eACdC,QAAS,UACTC,sBAAuB,8CACvBC,QAAS,UACTC,oBAAqB,sBACrBC,yBAA0B,mBAC1BC,qBAAsB,6CACtBC,mBAAoB,2EACpBC,OAAQ,SACRC,SAAU,WACVC,UAAW,aACXC,sBAAuB,yBACvBC,kBAAmB,qBACnBC,UAAW,aACXC,sBAAuB,yBACvBC,kBAAmB,qBACnBC,qBAAsB,uBACtBC,iBAAkB,mBAClBC,SAAU,WACVC,qBAAsB,uBACtBC,iBAAkB,mBAClBC,2BAA4B,sCAC5BC,aAAc,mBACdC,uBAAwB,uDACxBC,eAAgB,MAChBC,iBAAkB,QAClBC,iBAAkB,QAClBC,KAAM,OACNC,QAAS,UACTC,SAAU,WACVC,qBAAsB,uBACtBC,iBAAkB,mBAClBC,eAAgB,aAChBC,cAAe,iBACfC,wBAAyB,0BACzBC,aAAc,eACdC,mCAAoC,oBACpCC,yBAA0B,UAC1BC,0BAA2B,SAC3BC,mCAAoC,qBACpCC,oCAAqC,qBACrCC,mCAAoC,qBACpCC,SAAU,WACVC,qBAAsB,uBACtBC,iBAAkB,mBAClBC,SAAU,YACVC,OAAQ,SACRC,mBAAoB,qBACpBC,eAAgB,iBAChBC,eAAgB,0BAChBC,mBAAoB,wBACpBC,WAAY,cACZC,+BAAgC,4CAChCC,UAAW,aACXC,cAAe,WACfC,aAAc,UACdC,cAAe,WACfC,aAAc,gBACdC,cAAe,iBACfC,qBAAsB,uBACtBC,0BAA2B,6BAC3BC,cAAe,mBACfC,6BAA8B,4CAC9BC,WAAY,WACZC,UAAW,eACXC,yBAA0B,+DAC1BC,oBAAqB,yDACrBC,6BAA8B,iDAC9BC,kCAAmC,8CACnCC,iBAAkB,0BAClBC,kCAAmC,yBACnCC,oBAAqB,2BACrBC,mBAAoB,0CACpBC,oBAAqB,2BACrBC,mBAAoB,sCACpBC,gBAAiB,wCACjBC,yBAA0B,iEAC1BC,qBAAsB,uDACtBC,0CAA2C,0CAC3CC,qBAAsB,wDACtBC,wBAAyB,sDACzBC,mBAAoB,yBACpBC,sBAAuB,wBACvBC,4BAA6B,+BAC7BC,kCAAmC,4BACnCC,4BAA6B,+BAC7BC,sBAAuB,iDACvBC,wBAAyB,2BACzBC,yBAA0B,6BAC1BC,yBAA0B,4BAC1BC,gCAAiC,iCACjCC,2BAA4B,+CAC5BC,qBAAsB,qBACtBC,6BAA8B,8BAC9BC,wBAAyB,yBACzBC,wBAAyB,4CACzBC,QAAS,UACTC,QAAS,WACTC,oBAAqB,uBACrBC,gBAAiB,oB,UCxSNC,EAAqD,CAChEC,gBAAiB,GACjBC,WAAYC,EAAAA,GACZC,aAAc,GACdC,YAAa,GACbC,aAAc,GACdC,OAAQ,GACRC,iBAAkB,aAClBC,qBAAsB,GACtBC,iBAAkB,GAClBC,eAAgB,GAChBC,oBAAqB,GACrBC,iBAAkB,GAClBC,mBAAoB,IAGTC,GAAuBC,EAAAA,EAAAA,eAA+BhB,GAEtDiB,EAAwBF,EAAqBG,SAE7CC,EAAmB,WAAH,OAASC,EAAAA,EAAAA,YAAWL,EAAqB,E,qkBCT/D,IAAMM,EAAuC,SAAHnW,GAAqB,IAAfsB,EAAQtB,EAARsB,SACrD8U,EAAoEH,IAA5DlB,EAAeqB,EAAfrB,gBAAiBK,EAAYgB,EAAZhB,aAAcC,EAAMe,EAANf,OAAQC,EAAgBc,EAAhBd,iBAEvCe,GAAUC,EAAAA,EAAAA,KAAVD,MAEFE,EACiB,eAArBjB,EHyRiC,uCCCA,sCEzR7BkB,EAAkD,eAArBlB,EAAoCmB,EAAwBC,EAEzFC,EAAwC,CAC5CC,yBAA0B,CACxBC,QAASzB,EACT0B,QAAS,SAAC9T,GACRG,QAAQ4T,IAAI,4CAA6CC,OAAOhU,GAClE,EACAqS,OAAAA,EACAgB,MAAAA,GAEFtB,gBAAAA,EACAkC,mCAAiCtU,EAAAA,EAAAA,GAAA,GAC9B4T,EAA8BC,IAInC,OAAKU,EAAAA,EAAAA,GAAab,IAKhB9U,EAAAA,EAAAA,KAAC4V,EAAAA,EAAoBC,EAAAA,EAAA,GAAKT,GAAgB,IAAArV,UACxCC,EAAAA,EAAAA,KAAC8V,EAAAA,EAA6B,CAACC,UAAWf,EAA4BjV,SAAEA,OALnE,IAQX,E,8BCvCaiW,EAAqC,SAAHvX,GAAqB,IAAfsB,EAAQtB,EAARsB,SACnD8U,EAAgEH,IAAxDlB,EAAeqB,EAAfrB,gBAAiBG,EAAYkB,EAAZlB,aAAcE,EAAYgB,EAAZhB,aAAcC,EAAMe,EAANf,OAC7CmC,GAAmBlB,EAAAA,EAAAA,KAAnBkB,eAIR,OAAKA,GAKHjW,EAAAA,EAAAA,KAACkW,EAAAA,GAAS,CAAC1U,MAAO2U,EAAAA,GAAUpW,UAC1BC,EAAAA,EAAAA,KAACoW,EAAAA,IAAuB,CACtBd,QAAS3B,EACTG,OAAQA,EACRuC,SAAU7C,EACVsB,MAAOmB,EAAelW,UAEtBC,EAAAA,EAAAA,KAACsW,EAAAA,IAAuB,CACtBhB,QAASzB,EACTC,OAAQA,EACRuC,SAAU7C,EAAgBzT,SAEzBA,QAhBA,IAqBX,EClCawW,GAAsBhC,EAAAA,EAAAA,eAAc,CAAC,GAErCiC,EAA6BD,EAAoB9B,SAEjDgC,EAAwB,WAAH,OAAS9B,EAAAA,EAAAA,YAAW4B,EAAoB,E,UCF7DG,GAAiD,SAAHjY,GAAqB,ICH9EkY,EAA+CC,EDGgB7W,EAAQtB,EAARsB,SAC/D8W,GCJAF,GAAgCG,EAAAA,EAAAA,WAAS,GAElC,CACLC,UAH6CH,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,IAAhC,GAIbM,YAJ0BL,EAAA,KDIpBG,EAAQF,EAARE,SAAUE,EAAWJ,EAAXI,YAMlB,OAJAC,EAAAA,EAAAA,YAAU,WACRD,EAAYF,EACd,GAAG,CAACA,EAAUE,KAGZjX,EAAAA,EAAAA,KAACwW,EAA0B,CACzBhV,MAAO,CACLuV,SAAAA,EACAE,YAAAA,GACAlX,SAEDA,GAGP,E,WEpBMxB,IAAOC,EAAAA,EAAAA,GAAO,MAAPA,CAAc,CACzBG,QAAS,OACTC,cAAe,SACfC,WAAY,SACZsY,eAAgB,SAChBC,SAAU,WACVC,IAAK,MACLC,KAAM,MACNC,UAAW,wBACXC,UAAW,WAGAC,IAAUC,EAAAA,EAAAA,OAAK,kBAC1B1X,EAAAA,EAAAA,KAACzB,GAAI,CAAAwB,UACHC,EAAAA,EAAAA,KAAC2X,GAAAA,EAAgB,CAACC,MAAM,aACnB,ICdIC,IAAkBtD,EAAAA,EAAAA,eAAsC,CAAC,GAEzDuD,GAAmBD,GAAgBpD,SAEnCsD,GAAa,SAACxW,GAA6B,IAAAyW,EAGtD,OAAuB,QAAvBA,GAFiBrD,EAAAA,EAAAA,YAAWkD,IAEZtW,EAAI0W,WAAG,IAAAD,EAAAA,EAAI,EAC7B,E,wSCVO,IAAME,GAAQ,SAAAC,GAGnB,SAAAD,EAAYE,EAAiBC,GAAkB,IAAA3X,EAG5B,OAH4BC,EAAAA,EAAAA,GAAA,KAAAuX,GAC7CxX,EAAAQ,GAAA,KAAAgX,EAAA,CAAME,KAAShX,EAAAA,EAAAA,GAAAV,EAAA,eACfA,EAAK4X,KAAO,WACZ5X,EAAK2X,KAAOA,EAAK3X,CACnB,CAAC,OAAAW,EAAAA,EAAAA,GAAA6W,EAAAC,IAAA7W,EAAAA,EAAAA,GAAA4W,EAAA,CAPkB,EAOlBK,E,QAAAA,GAP2BC,Q,+lBCCK,IAW9BC,GAAwB,SAAxBA,GAAwB,OAAxBA,EAAwB,iCAAxBA,EAAwB,iCAAxBA,CAAwB,EAAxBA,IAAwB,IAK7BC,eAAeC,GAAcC,EAAa9E,EAAgBN,GACxD,IAAMqF,EAiBR,SAAmBrF,GACjB,GAAIA,EACF,OAAOA,EAGT,GAAIsF,SAASC,gBAAgBC,KAC3B,OAAOF,SAASC,gBAAgBC,KAGlC,OAAOC,UAAU5C,QACnB,CA3BiB6C,CAAU1F,GAEnB2F,QCZDT,eAA0BE,EAAaQ,GAC5C,IAAQtF,EAA6BsF,EAA7BtF,OAAQgB,EAAqBsE,EAArBtE,MAAUuE,GAAMC,EAAAA,GAAAA,GAAKF,EAAOG,IACtCC,EAA4B3D,GAAAA,GAAA,GAC7BwD,EAAOG,SAAO,IACjBC,cAAe3E,EACf,mBAAoBhB,IAGtB,OAAO4F,KAAAA,IACD,GAAAvY,OAAOyX,GAAG/C,GAAAA,GAAA,GACTwD,GAAM,IACTG,QAAAA,KAEDG,MAAK,SAAAlb,GAAO,OAAQA,EAAZ4Z,IAAyB,IACjCuB,OAAM,SAACnY,GACN,MAAM,IAAIyW,GAASzW,EAAM2W,QAAS3W,EACpC,GACJ,CDLyBoY,CAA0BjB,EAAK,CACpD9D,MAAO,GACPhB,OAAAA,EACA0F,QAAS,CAAE,kBAAmBX,KAGdiB,EAA+CX,EAAzDY,SAAqCC,EAAoBb,EAArCc,gBACtBC,EAAgBrB,EAAO/X,OAAS,EAAI+X,EAASmB,EAEnD,MAAO,CACLnB,OAAQqB,GAAiB,GACzBJ,SAAUA,EAASI,GAEvB,CE7BO,IAAMC,GAA2C,SAAH1b,GAAqB,IF4CxEoW,EAAQf,EAAQD,EAAcL,EACxB4G,EE7CmDra,EAAQtB,EAARsB,SAC3Csa,GF2CdxF,EAAoEH,IAA5DZ,EAAMe,EAANf,OAAQD,EAAYgB,EAAZhB,aAAcL,EAAeqB,EAAfrB,gBACxB4G,EACiB,gBAFwCvF,EAAhBd,iBAER0E,GAAyB6B,YAAc7B,GAAyB8B,YAEtFC,EAAAA,EAAAA,IAAO,GAADrZ,OAClB0S,EAAY,aAAA1S,OAAY2S,EAAM,yCAAA3S,OAAwCiZ,IACzE1B,eAAOE,GAAW,OAAKD,GAAcC,EAAK9E,EAAQN,EAAgB,KEjD5D6E,KACR,IAAKgC,EACH,OAAOra,EAAAA,EAAAA,KAACyX,GAAO,IAGjB,IAAQqC,EAAaO,EAAbP,SAER,OAAO9Z,EAAAA,EAAAA,KAAC8X,GAAgB,CAACtW,MAAOsY,QAAAA,EAAY,CAAC,EAAE/Z,SAAEA,GACnD,ECZa0a,IAA8BlG,EAAAA,EAAAA,eAKxC,CACDmG,yBAA0B,CACxBC,gBAAiB,WAAO,EACxBC,kBAAcC,KAILC,GAAsD,SAAHrc,GAAqB,IAAfsB,EAAQtB,EAARsB,SACpE4W,GAAwCG,EAAAA,EAAAA,eAA6B+D,GAAUjE,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAAxEiE,EAAYhE,EAAA,GAAE+D,EAAe/D,EAAA,GAEpC,OACE5W,EAAAA,EAAAA,KAACya,GAA4BhG,SAAQ,CACnCjT,MAAO,CACLkZ,yBAA0B,CACxBE,aAAAA,EACAD,gBAAAA,IAEF5a,SAEDA,GAGP,EAEagb,GAA8B,WAGzC,MAAO,CACLC,6BAHUrG,EAAAA,EAAAA,YAAW8F,IAKzB,ECnCaQ,IAAiB1G,EAAAA,EAAAA,eAS3B,CACD2G,YAAa,CACXC,cAAe,WAAO,EACtBC,WAAY,EACZC,gBAAiB,WAAO,EACxBC,cAAc,EACdC,WAAY,GACZC,cAAe,WAAO,KAIbC,GAAyC,SAAHhd,GAAqB,IAAfsB,EAAQtB,EAARsB,SACvD4W,GAAoCG,EAAAA,EAAAA,UAAS,GAAEF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAAxCyE,EAAUxE,EAAA,GAAEuE,EAAavE,EAAA,GAChC8E,GAAwC5E,EAAAA,EAAAA,WAAS,GAAM6E,GAAA3E,EAAAA,GAAAA,GAAA0E,EAAA,GAAhDJ,EAAYK,EAAA,GAAEN,EAAeM,EAAA,GACpCC,GAAoC9E,EAAAA,EAAAA,UAAmB,IAAG+E,GAAA7E,EAAAA,GAAAA,GAAA4E,EAAA,GAAnDL,EAAUM,EAAA,GAAEL,EAAaK,EAAA,GAEhC,OACE7b,EAAAA,EAAAA,KAACib,GAAexG,SAAQ,CACtBjT,MAAO,CACL0Z,YAAa,CACXE,WAAAA,EACAD,cAAAA,EACAG,aAAAA,EACAD,gBAAAA,EACAE,WAAAA,EACAC,cAAAA,IAEFzb,SAEDA,GAGP,EAEa+b,GAAiB,WAG5B,MAAO,CACLC,SAHUpH,EAAAA,EAAAA,YAAWsG,IAKzB,ECvCae,IAAsBzH,EAAAA,EAAAA,eAKhC,CACD0H,iBAAkB,CAChBC,oBAAqB,WAAO,KAInBC,GAAoD,SAAH1d,GAAqB,IAAfsB,EAAQtB,EAARsB,SAClE4W,GAAoCG,EAAAA,EAAAA,UAA4B,CAAC,GAAEF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAA5D0B,EAAIzB,EAAA,GAAEsF,EAAmBtF,EAAA,GAEhC,OACE5W,EAAAA,EAAAA,KAACgc,GAAoBvH,SAAQ,CAC3BjT,MAAO,CACLya,iBAAkB,CAAE5D,KAAAA,EAAM6D,oBAAAA,IAC1Bnc,SAEDA,GAGP,EAEaqc,GAAsB,WAGjC,MAAO,CACLL,SAHUpH,EAAAA,EAAAA,YAAWqH,IAKzB,ECpCaK,IAAmB9H,EAAAA,EAAAA,eAE7B,CACD+H,UAAW,CACTC,aAAc,WAAO,KAIZC,GAA2C,SAAH/d,GAAqB,IAAfsB,EAAQtB,EAARsB,SACzD4W,GAAqCG,EAAAA,EAAAA,UAAuB,IAAGF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAAxD8F,EAAY7F,EAAA,GAAE2F,EAAY3F,EAAA,GAEjC,OACE5W,EAAAA,EAAAA,KAACqc,GAAiB5H,SAAQ,CACxBjT,MAAO,CACL8a,UAAW,CAAEG,aAAAA,EAAcF,aAAAA,IAC3Bxc,SAEDA,GAGP,EAEa2c,GAAe,WAG1B,MAAO,CACLX,SAHUpH,EAAAA,EAAAA,YAAW0H,IAKzB,E,6EC/BaM,GAA2C,SAAC9a,GACvD,IAAQoW,EAA+BpW,EAA/BoW,GAAI2E,EAA2B/a,EAA3B+a,eAAgBC,EAAWhb,EAAXgb,OAE5B,OACE7c,EAAAA,EAAAA,KAAA,QACE,WAAUiY,EACV6E,UAAU,YAAW/c,UAErBC,EAAAA,EAAAA,KAAC+c,GAAAA,EAAgB,CAEf9E,GAAIA,EACJ2E,eAAgBA,EAChBC,OAAQA,GAHH5E,IAOb,ECuGY+E,GAAW,SAAXA,GAAW,OAAXA,EAAW,cAAXA,EAAW,kBAAXA,EAAW,kBAAXA,EAAW,kBAAXA,CAAW,MC1HXC,GAAe,SAAfA,GAAe,OAAfA,EAAAA,EAAe,aAAfA,EAAAA,EAAe,yBAAfA,EAAAA,EAAe,2BAAfA,EAAAA,EAAe,+CAAfA,CAAe,MAOdC,GAAW,WAKtB,SAAAA,EAAYC,EAA6BhE,IAAsBxY,EAAAA,EAAAA,GAAA,KAAAuc,IAAA9b,EAAAA,EAAAA,GAAA,2BAAAA,EAAAA,EAAAA,GAAA,wBAC7DM,KAAKyb,WAAaA,EAClBzb,KAAKyX,SAAWA,CAClB,CAAC,OAAA7X,EAAAA,EAAAA,GAAA4b,EAAA,EAAA3b,IAAA,YAAAC,MAED,WACE,OAAO0b,EAAYE,UAAU1b,KAAKyb,WACpC,IAAC,EAAA5b,IAAA,QAAA8b,IAED,WACE,OAAO,IAAIH,EAAkDD,GAAgBK,oBAAqB,CAAEC,OAAQ,IAC9G,GAAC,CAAAhc,IAAA,WAAA8b,IAED,WACE,OAAO,SAAClE,GAAQ,OAAK,IAAI+D,EAAYD,GAAgBK,oBAAqBnE,EAAS,CACrF,GAAC,CAAA5X,IAAA,YAAAC,MAED,WAE6B,IAD3B,IAC2BZ,EAAAC,UAAAC,OAFT0c,EAAY,IAAAxc,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAZuc,EAAYvc,GAAAJ,UAAAI,GAI9B,OAAOuc,EAAaC,OAAM,SAACC,GAAM,OAAKA,GAHf,KAG2CA,GAF3C,GAEmE,GAC5F,GAAC,CAAAnc,IAAA,eAAAC,MAED,WAAyE,QAAAmc,EAAA9c,UAAAC,OAAlD8c,EAAO,IAAA5c,MAAA2c,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAPD,EAAOC,GAAAhd,UAAAgd,GAC5B,OAAOD,EAAQH,OAAM,SAACK,GAAC,YAAWjD,IAANiD,GAAmBA,EAAEV,WAAW,GAC9D,IAAC,CA/BqB,GCAZW,GAAc,SAAdA,GAAc,OAAdA,EAAc,kEAAdA,EAAc,oCAAdA,EAAc,4DAAdA,EAAc,wDAAdA,EAAc,wDAAdA,EAAc,0CAAdA,EAAc,8CAAdA,EAAc,4CAAdA,EAAc,0DAAdA,EAAc,sDAAdA,EAAc,0BAAdA,EAAc,gEAAdA,EAAc,oDAAdA,EAAc,gEAAdA,EAAc,oDAAdA,EAAc,wDAAdA,EAAc,oDAAdA,EAAc,wFAAdA,EAAc,0DAAdA,EAAc,gDAAdA,EAAc,wDAAdA,EAAc,0DAAdA,EAAc,kCAAdA,EAAc,sCAAdA,EAAc,oCAAdA,EAAc,sCAAdA,EAAc,8DAAdA,EAAc,sDAAdA,EAAc,8CAAdA,EAAc,sDAAdA,EAAc,kCAAdA,EAAc,oDAAdA,EAAc,0CAAdA,EAAc,0DAAdA,EAAc,oCAAdA,EAAc,4DAAdA,EAAc,oCAAdA,EAAc,wCAAdA,EAAc,wDAAdA,EAAc,kCAAdA,EAAc,sDAAdA,EAAc,oDAAdA,EAAc,8CAAdA,EAAc,wDAAdA,EAAc,wDAAdA,EAAc,4EAAdA,EAAc,sDAAdA,EAAc,gCAAdA,EAAc,gDAAdA,EAAc,gDAAdA,EAAc,oEAAdA,EAAc,wCAAdA,EAAc,wDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,gEAAdA,EAAc,oDAAdA,EAAc,wEAAdA,EAAc,gEAAdA,EAAc,oFAAdA,EAAc,oDAAdA,EAAc,wDAAdA,EAAc,4EAAdA,EAAc,oDAAdA,EAAc,wFAAdA,EAAc,0DAAdA,EAAc,gDAAdA,EAAc,wDAAdA,EAAc,0DAAdA,EAAc,8BAAdA,EAAc,gCAAdA,EAAc,8BAAdA,EAAc,kFAAdA,EAAc,oCAAdA,EAAc,gCAAdA,EAAc,gCAAdA,EAAc,gDAAdA,EAAc,gEAAdA,EAAc,0DAAdA,EAAc,8DAAdA,EAAc,0CAAdA,EAAc,kFAAdA,EAAc,4FAAdA,EAAc,wBAAdA,EAAc,oCAAdA,EAAc,8BAAdA,EAAc,kDAAdA,EAAc,oDAAdA,EAAc,0DAAdA,EAAc,oDAAdA,EAAc,wEAAdA,EAAc,8CAAdA,EAAc,wDAAdA,EAAc,4CAAdA,EAAc,4CAAdA,EAAc,gEAAdA,EAAc,wDAAdA,EAAc,wDAAdA,EAAc,0CAAdA,EAAc,wCAAdA,EAAc,oBAAdA,EAAc,8DAAdA,EAAc,sCAAdA,EAAc,gDAAdA,EAAc,wCAAdA,EAAc,wEAAdA,EAAc,wFAAdA,EAAc,sCAAdA,EAAc,oEAAdA,EAAc,8DAAdA,EAAc,wDAAdA,EAAc,kCAAdA,EAAc,0DAAdA,EAAc,gDAAdA,EAAc,gEAAdA,EAAc,wCAAdA,EAAc,oDAAdA,EAAc,sDAAdA,EAAc,sEAAdA,EAAc,kEAAdA,EAAc,oCAAdA,EAAc,4DAAdA,EAAc,kDAAdA,EAAc,kDAAdA,EAAc,sDAAdA,EAAc,wDAAdA,EAAc,oDAAdA,EAAc,oEAAdA,EAAc,gDAAdA,EAAc,wDAAdA,EAAc,oDAAdA,EAAc,oEAAdA,EAAc,0DAAdA,EAAc,oEAAdA,EAAc,oCAAdA,EAAc,4CAAdA,EAAc,kDAAdA,EAAc,8CAAdA,EAAc,sDAAdA,EAAc,4DAAdA,EAAc,wDAAdA,EAAc,gCAAdA,EAAc,4CAAdA,EAAc,wCAAdA,EAAc,wCAAdA,EAAc,oDAAdA,EAAc,4DAAdA,EAAc,kEAAdA,EAAc,8DAAdA,EAAc,0BAAdA,EAAc,gCAAdA,EAAc,gCAAdA,EAAc,4BAAdA,EAAc,8BAAdA,EAAc,8BAAdA,EAAc,4CAAdA,EAAc,kDAAdA,EAAc,YAAdA,EAAc,oCAAdA,EAAc,4BAAdA,EAAc,YAAdA,EAAc,8DAAdA,EAAc,sEAAdA,EAAc,4CAAdA,EAAc,gBAAdA,EAAc,4BAAdA,EAAc,4BAAdA,EAAc,8BAAdA,EAAc,4BAAdA,EAAc,4BAAdA,EAAc,4BAAdA,EAAc,YAAdA,EAAc,oCAAdA,EAAc,4BAAdA,EAAc,kBAAdA,EAAc,8CAAdA,EAAc,kBAAdA,EAAc,0CAAdA,EAAc,oDAAdA,EAAc,4CAAdA,EAAc,wCAAdA,EAAc,gBAAdA,EAAc,oBAAdA,EAAc,sBAAdA,EAAc,8CAAdA,EAAc,sCAAdA,EAAc,sBAAdA,EAAc,8CAAdA,EAAc,sCAAdA,EAAc,4CAAdA,EAAc,oCAAdA,EAAc,oBAAdA,EAAc,4CAAdA,EAAc,oCAAdA,EAAc,wDAAdA,EAAc,4BAAdA,EAAc,gDAAdA,EAAc,gCAAdA,EAAc,oCAAdA,EAAc,oCAAdA,EAAc,YAAdA,EAAc,kBAAdA,EAAc,oBAAdA,EAAc,4CAAdA,EAAc,oCAAdA,EAAc,gCAAdA,EAAc,8BAAdA,EAAc,kDAAdA,EAAc,4BAAdA,EAAc,wEAAdA,EAAc,oDAAdA,EAAc,sDAAdA,EAAc,wEAAdA,EAAc,0EAAdA,EAAc,wEAAdA,EAAc,oBAAdA,EAAc,4CAAdA,EAAc,oCAAdA,EAAc,oBAAdA,EAAc,gBAAdA,EAAc,wCAAdA,EAAc,gCAAdA,EAAc,gCAAdA,EAAc,wCAAdA,EAAc,wBAAdA,EAAc,gEAAdA,EAAc,sBAAdA,EAAc,8BAAdA,EAAc,4BAAdA,EAAc,8BAAdA,EAAc,4BAAdA,EAAc,8BAAdA,EAAc,4CAAdA,EAAc,sDAAdA,EAAc,8BAAdA,EAAc,4DAAdA,EAAc,wBAAdA,EAAc,sBAAdA,EAAc,oDAAdA,EAAc,0CAAdA,EAAc,4DAAdA,EAAc,sEAAdA,EAAc,oCAAdA,EAAc,sEAAdA,EAAc,0CAAdA,EAAc,wCAAdA,EAAc,0CAAdA,EAAc,wCAAdA,EAAc,kCAAdA,EAAc,oDAAdA,EAAc,4CAAdA,EAAc,sFAAdA,EAAc,4CAAdA,EAAc,kDAAdA,EAAc,wCAAdA,EAAc,8CAAdA,EAAc,0DAAdA,EAAc,sEAAdA,EAAc,0DAAdA,EAAc,8CAAdA,EAAc,kDAAdA,EAAc,oDAAdA,EAAc,oDAAdA,EAAc,kEAAdA,EAAc,wDAAdA,EAAc,4CAAdA,EAAc,4DAAdA,EAAc,kDAAdA,EAAc,kDAAdA,EAAc,kBAAdA,EAAc,kBAAdA,EAAc,0CAAdA,EAAc,kCAAdA,CAAc,M,WCSbC,GAAiF,WAAH,OACzFC,EAAAA,GAAAA,IAAmD,ECW9C,IAAMC,GAA2B,WACtC,IAAArJ,EAAqCH,IAA7BZ,EAAMe,EAANf,OAAQC,EAAgBc,EAAhBd,iBACRoK,EAAkBH,KAAlBG,cACFC,GAAYC,EAAAA,EAAAA,OAKVnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAAC1G,EAAQC,EAAkB,0BAC3B2E,iBACE,IAAM6F,QA7BZ7F,eAA0C8F,EAAgB1K,EAAgBC,GAKxE,IACE,IAAMoF,QAAiBsF,EAAAA,EAAAA,KAA6DD,EAAK1K,EAAQC,GAEjG,OAAO,IAAImJ,GAAwE/D,EAASuE,OAAQvE,EAASd,KAC/G,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAT0E,CAC7FC,WAAW,GASb,CACF,CAiB2BC,CAA2BR,EAAWtK,EAAQC,GACnE,GAAIwK,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,6CAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,GAGN,EC5DaC,GAA6B,SAACC,EAAoBC,GAC7D,OAAQD,GACN,IAAK,MACH,MAAO,CAAEtC,eAAgB7a,EAAoBqQ,mBAAoB6F,GAAI8F,GAAe3L,oBACtF,IAAK,MACH,MAAO,CAAEwK,eAAgB7a,EAAoByP,iBAAkByG,GAAI8F,GAAevM,kBACpF,IAAK,MACH,OAAQ2N,GACN,IAAK,eACH,MAAO,CAAEvC,eAAgB7a,EAAoBiQ,qBAAsBiG,GAAI8F,GAAe/L,sBACxF,IAAK,mBACH,MAAO,CAAE4K,eAAgB7a,EAAoBmQ,qBAAsB+F,GAAI8F,GAAe7L,sBACxF,IAAK,WACH,MAAO,CACL0K,eAAgB7a,EAAoBoQ,wBACpC8F,GAAI8F,GAAe5L,yBAEvB,IAAK,YACH,MAAO,CACLyK,eAAgB7a,EAAoBgQ,yBACpCkG,GAAI8F,GAAehM,0BAEvB,IAAK,0BACH,MAAO,CACL6K,eAAgB7a,EAAoBkQ,0CACpCgG,GAAI8F,GAAe9L,2CAEvB,QACE,MAAO,CAAE2K,eAAgB7a,EAAoB+P,gBAAiBmG,GAAI8F,GAAejM,iBAEvF,IAAK,MACH,MAAO,CACL8K,eAAgB7a,EAAoBuP,6BACpC2G,GAAI8F,GAAezM,8BAEvB,IAAK,MACH,MAAO,CAAEsL,eAAgB7a,EAAoB0Q,sBAAuBwF,GAAI8F,GAAetL,uBACzF,IAAK,MACH,MAAO,CACLmK,eAAgB7a,EAAoB6Q,yBACpCqF,GAAI8F,GAAenL,0BAEvB,IAAK,MACH,MAAO,CACLgK,eAAgB7a,EAAoBkR,wBACpCgF,GAAI8F,GAAe9K,yBAEvB,IAAK,MACH,MAAO,CACL2J,eAAgB7a,EAAoBwP,kCACpC0G,GAAI8F,GAAexM,mCAEvB,IAAK,MACH,MAAO,CACLqL,eAAgB7a,EAAoBuQ,4BACpC2F,GAAI8F,GAAezL,6BAEvB,IAAK,MACH,MAAO,CACLsK,eAAgB7a,EAAoBmR,wBACpC+E,GAAI8F,GAAe7K,yBAEvB,IAAK,MACH,MAAO,CAAE0J,eAAgB7a,EAAoB2M,uBAAwBuJ,GAAI8F,GAAerP,wBAC1F,IAAK,MACH,MAAO,CACLkO,eAAgB7a,EAAoB8Q,gCACpCoF,GAAI8F,GAAelL,iCAEvB,IAAK,MACH,MAAO,CACL+J,eAAgB7a,EAAoB0P,kCACpCwG,GAAI8F,GAAetM,mCAEvB,IAAK,MACH,MAAO,CACLmL,eAAgB7a,EAAoBwQ,kCACpC0F,GAAI8F,GAAexL,mCAEvB,IAAK,MACH,MAAO,CACLqK,eAAgB7a,EAAoB2Q,wBACpCuF,GAAI8F,GAAerL,yBAEvB,IAAK,MACH,MAAO,CACLkK,eAAgB7a,EAAoB4Q,yBACpCsF,GAAI8F,GAAepL,0BAEvB,IAAK,MACH,MAAO,CAAEiK,eAAgB7a,EAAoBsQ,sBAAuB4F,GAAI8F,GAAe1L,uBACzF,IAAK,MACH,MAAO,CACLuK,eAAgB7a,EAAoByQ,4BACpCyF,GAAI8F,GAAevL,6BAEvB,IAAK,MACH,MAAO,CAAEoK,eAAgB7a,EAAoBgR,qBAAsBkF,GAAI8F,GAAehL,sBACxF,IAAK,MACH,MAAO,CACL6J,eAAgB7a,EAAoByK,kCACpCyL,GAAI8F,GAAevR,mCAEvB,IAAK,MACH,MAAO,CACLoQ,eAAgB7a,EAAoByM,2BACpCyJ,GAAI8F,GAAevP,4BAEvB,IAAK,MACH,MAAO,CACLoO,eAAgB7a,EAAoBwK,8BACpC0L,GAAI8F,GAAexR,+BAEvB,IAAK,MACH,MAAO,CAAEqQ,eAAgB7a,EAAoB0K,qBAAsBwL,GAAI8F,GAAetR,sBACxF,IAAK,MACH,MAAO,CACLmQ,eAAgB7a,EAAoBkP,6BACpCgH,GAAI8F,GAAe9M,8BAEvB,IAAK,MACH,MAAO,CAAE2L,eAAgB7a,EAAoB2L,mBAAoBuK,GAAI8F,GAAerQ,oBACtF,IAAK,MACH,MAAO,CAAEkP,eAAgB7a,EAAoB0L,qBAAsBwK,GAAI8F,GAAetQ,sBACxF,IAAK,MACH,MAAO,CACLmP,eAAgB7a,EAAoBiR,6BACpCiF,GAAI8F,GAAe/K,8BAEvB,IAAK,MACH,MAAO,CACL4J,eAAgB7a,EAAoB+E,wCACpCmR,GAAI8F,GAAejX,yCAEvB,IAAK,MACH,MAAO,CACL8V,eAAgB7a,EAAoBuG,2BACpC2P,GAAI8F,GAAezV,4BAEvB,IAAK,MACH,MAAO,CACLsU,eAAgB7a,EAAoBoF,+BACpC8Q,GAAI8F,GAAe5W,gCAEvB,IAAK,MACH,MAAO,CACLyV,eAAgB7a,EAAoBmG,2BACpC+P,GAAI8F,GAAe7V,4BAEvB,QACE,MAAO,CAAE0U,eAAgB7a,EAAoB0M,aAAcwJ,GAAI8F,GAAetP,cAEpF,E,6EC1Ja2Q,IAAW9d,EAAAA,EAAAA,IAAA,SAAA8d,KAAAze,EAAAA,EAAAA,GAAA,KAAAye,EAAA,KAoDvBhe,EAAAA,EAAAA,GApDYge,GAAW,yBAGuB,CAC3CnH,GAAI,yBACJzW,MAAO,MACRJ,EAAAA,EAAAA,GANUge,GAAW,sBAQoB,CACxCnH,GAAI,sBACJzW,MAAO,MACRJ,EAAAA,EAAAA,GAXUge,GAAW,sBAaoB,CACxCnH,GAAI,sBACJzW,MAAO,MACRJ,EAAAA,EAAAA,GAhBUge,GAAW,sBAkBoB,CACxCnH,GAAI,sBACJzW,MAAO,MACRJ,EAAAA,EAAAA,GArBUge,GAAW,sBAuBoB,CACxCnH,GAAI,sBACJzW,MAAO,MACRJ,EAAAA,EAAAA,GA1BUge,GAAW,sBA4BoB,CACxCnH,GAAI,sBACJzW,MAAO,MACRJ,EAAAA,EAAAA,GA/BUge,GAAW,sBAiCoB,CACxCnH,GAAI,sBACJzW,MAAO,MACRJ,EAAAA,EAAAA,GApCUge,GAAW,sBAsCoB,CACxCnH,GAAI,sBACJzW,MAAO,MACRJ,EAAAA,EAAAA,GAzCUge,GAAW,sBA2CoB,CACxCnH,GAAI,sBACJzW,MAAO,MACRJ,EAAAA,EAAAA,GA9CUge,GAAW,oBAgDkB,CACtCnH,GAAI,oBACJzW,MAAO,K,2FC7CE6d,GAA0B,SAAC5d,EAAmB6d,EAAcC,GACvE,IAAIC,EAEJ,OAAQ/d,EAAMsd,MACZ,IAAK,WACHS,GACExf,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3L,mBACnBwK,eAAgB7a,EAAoBqQ,qBAGxC,MACF,IAAK,YACHoN,GACExf,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAerM,oBACnBkL,eAAgB7a,EAAoB2P,oBACpCmL,OAAQ,CAAEyC,IAAAA,KAGd,MACF,IAAK,YACHE,GACExf,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenM,oBACnBgL,eAAgB7a,EAAoB6P,oBACpCiL,OAAQ,CAAE0C,IAAAA,KAGd,MACF,IAAK,UACHC,GACExf,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAejM,gBACnB8K,eAAgB7a,EAAoB+P,kBAGxC,MACF,QACE0N,EAAgB/d,EAAM2W,QAG1B,OAAOoH,CACT,E,+lBCbA,IAAMC,IAAmBjhB,EAAAA,EAAAA,GAAOkhB,GAAAA,EAAPlhB,EAAmB,SAAAC,GAAQ,MAAQ,CAC1DkhB,SAAU,OACV/H,MAFkDnZ,EAALC,MAEhCkhB,QAAQC,KAAK,KAC3B,IAEKC,IAAathB,EAAAA,EAAAA,GAAO,IAAPA,EAAY,SAAAO,GAAA,IAAGL,EAAKK,EAALL,MAAK,MAAQ,CAC7CkZ,MAAOlZ,EAAMkhB,QAAQne,MAAMse,KAC3BC,eAAgB,YAChB,UAAW,CACTpI,MAAOlZ,EAAMkhB,QAAQne,MAAMse,KAC3BC,eAAgB,aAEnB,IAKYC,GAAyD,SAACpe,GACrE,IACEyW,EAeEzW,EAfFyW,KACA4H,EAcEre,EAdFqe,MACAC,EAaEte,EAbFse,YACAC,EAYEve,EAZFue,WACAC,EAWExe,EAXFwe,YACAC,EAUEze,EAVFye,aACAC,EASE1e,EATF0e,WACAC,EAQE3e,EARF2e,aACAC,EAOE5e,EAPF4e,uBACAC,EAME7e,EANF6e,aACAC,EAKE9e,EALF8e,UACAC,EAIE/e,EAJF+e,kBACAC,EAGEhf,EAHFgf,uBACAC,EAEEjf,EAFFif,aACAC,EACElf,EADFkf,iBAMMtE,EADJC,KADFX,QAAWO,UAELG,aAEArI,EAAqBM,IAArBN,iBACR4M,GAA+BC,EAAAA,GAAAA,MAAvBC,EAAQF,EAARE,SAAUC,EAAQH,EAARG,SAElBC,GAAsCC,EAAAA,GAAAA,KAA9BC,EAAcF,EAAdE,eAAgBC,EAASH,EAATG,UAElBC,EAAc/E,aAAY,EAAZA,EAAcgF,MAAK,SAAChgB,GAAK,IAAAigB,EAAA,OAAoB,QAAfA,EAAAjgB,EAAM0d,iBAAS,IAAAuC,OAAA,EAAfA,EAAiBC,iBAAkBrJ,EAAKqJ,aAAa,IAGjGC,EADcC,KAAML,aAAW,EAAXA,EAAarC,UAAW,KAAK2C,KAAI,SAACC,GAAI,OAAKC,KAAUD,EAAK,IAChDE,KAAK,MAEzC/K,EAAAA,EAAAA,YAAU,WACJsK,GACFN,EAASU,EAEb,GAAG,CAACnF,EAAcmF,EAAiBV,EAAUM,IAE7C,IAAMU,EAAejD,GAA2BuC,aAAW,EAAXA,EAAatC,UAAW5G,GAElE6J,EAAe5B,SAAAA,EAAY6B,kBAAoB,IAAIC,OAAO9B,EAAW6B,wBAAqBvH,EAE1FyH,EAAW7B,SAAAA,EACX8B,EAAmB3B,EAEnB4B,EAAa3B,EAAyB,MAAQ,KAC9C4B,EAAmB,CACvB9jB,QAAS,OACTuB,OAAQ,IACRrB,WAAY,SACZsY,eAAgB,UAuBZuL,EAA0C,iBAAjBpC,EAA4BA,EAAe,EAAIA,EAiGxEqC,EAAiBtC,IA9FrBrgB,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAO1C,GAAevgB,UAE/BC,EAAAA,EAAAA,KAACijB,GAAAA,EAAG,CACFC,OAAQZ,EAAW,IAAM,cACzBa,SAAU,IACVJ,MAAOT,EAAWG,OAAmB5H,EAAU9a,UAE/CC,EAAAA,EAAAA,KAACojB,GAAAA,GAAU,CACT9K,KAAMA,EACN+K,MAAO,CACLC,SAAU/C,aAAU,EAAVA,EAAYgD,YACtBC,UAAWjD,aAAU,EAAVA,EAAYiD,UACvBC,UAAWlD,aAAU,EAAVA,EAAYkD,UACvBC,QAASvB,GAEXwB,aAAcnD,EACdoD,OAAQ,SAAAzkB,GAAA,IAAA0kB,EAAAC,EAAA3kB,EAAG4kB,MAASC,EAAGF,EAAHE,IAAKC,EAAQH,EAARG,SAAaF,GAAKzK,EAAAA,GAAAA,GAAAwK,EAAAvK,IAAI2K,EAAU/kB,EAAV+kB,WAAU,OACvDpkB,EAAAA,EAAAA,MAACqkB,GAAAA,EAAW,CAACC,WAAS,EAAArkB,SAAA,CACnBuiB,EAAW,MACVtiB,EAAAA,EAAAA,KAACqkB,GAAAA,EAASxO,GAAAA,GAAA,CACRuO,WAAS,EACTrF,KAAM4B,QAAAA,EAAa,OACnBT,MAAOA,EACPoE,YAAa/B,EACbniB,QAAQ,WACRqB,QAASyiB,EAAWziB,OAAS8iB,QAAQ/C,GACrCgD,WACEN,EAAWziB,OACTzB,EAAAA,EAAAA,KAAA,MAAA6V,GAAAA,GAAA,GAASyL,EAAe,GAADngB,OAAImX,EAAI,+BAA4B,IAAAvY,SACxDsf,GAAwB6E,EAAWziB,UAEpC,KAENgjB,UAAWrE,EACXkD,SAAU/C,aAAU,EAAVA,EAAYgD,YACtBI,aAAcI,EAAMviB,MACpBkjB,WAAY,CACVC,SAAUjC,EACVc,UAAWjD,aAAU,EAAVA,EAAYiD,UACvBC,UAAgC,QAAvBI,EAAEtD,aAAU,EAAVA,EAAYkD,iBAAS,IAAAI,EAAAA,OAAIhJ,EACpC+J,UAAWlE,QAAAA,EAAgB,OAC3B,cAAea,EAAU,GAADpgB,OAAImX,EAAI,gBAChCuM,eAAgBrC,EAChBO,MAAO,CAAE+B,cAAehE,EAAe,YAAc,WACrDxgB,GAAI,CACF,iBAAkB,CAChBwkB,cAAe,aAKrBC,WAAY,CACVC,aAAcd,EAAWziB,OAAQzB,EAAAA,EAAAA,KAACilB,GAAAA,EAAW,CAACrN,MAAM,WA9EpE5X,EAAAA,EAAAA,KAACklB,GAAAA,EAAO,CACNC,MAAOhF,QAAAA,EAAe,GACtBiF,gBAAiB,EACjBC,gBAAiB,IAAKtlB,UAEtBC,EAAAA,EAAAA,KAACyf,GAAgB,MA0EH6F,aAAc,QAEZvB,GAAK,IACTviB,MAAQuiB,EAAMviB,OAAoB,GAClC+jB,SAAUvB,EACVwB,OAAQ,kBA3ECC,EA2EqB1B,EAAMviB,MA1E5CkkB,EAAe5E,EAAe2E,aAAU,EAAVA,EAAYE,oBAAsBF,OACtEtE,EAAS7I,EAAMoN,aAAY,EAAZA,EAAcE,OAAQ,CACnCC,gBAAgB,EAChBC,aAAa,EACbC,aAAa,IALO,IAACN,EACjBC,CA0E4D,EACpDzB,SAAU,SAAC+B,GAAC,OAAK/B,GAhJEziB,EAgJmCwkB,EAAEC,OAAOzkB,MAAOuf,EA/I1Evf,EAAM0kB,WAAW,MAAO,IAAM1kB,IADR,IAACA,CAgJqE,KAG3FggB,GACCxhB,EAAAA,EAAAA,KAACmmB,GAAAA,EAAc,CAAC1kB,OAAK,EAAA1B,UACnBC,EAAAA,EAAAA,KAAC2c,GAAY9G,GAAAA,GAAA,GACPqM,GAAY,IAChBrF,OAAQ,CACNuJ,WACEpmB,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMjS,EACN6R,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5O,eACnByN,eAAgB7a,EAAoBoN,yBAO9C,OACQ,QASxB,OAEEnP,EAAAA,EAAAA,KAAAumB,EAAAA,SAAA,CAAAxmB,SAAG4iB,GAEP,E,2CClNO,IAAM6D,GAAkB,WAC7B,IAAQ1S,EAAWY,IAAXZ,OACAqK,EAAkBH,KAAlBG,cACFC,GAAYC,EAAAA,EAAAA,OAKVnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAAC1G,EAAQ,iBACT4E,iBACE,IAAM6F,QA3BZ7F,eAAuC8F,EAAgB1K,GAGrD,IACE,IAAMqF,QAAiBsN,EAAAA,EAAAA,KAAsBjI,EAAK1K,GAElD,OAAO,IAAIoJ,GAAmD/D,EAASuE,OAAQvE,EAASd,KAC1F,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAPkD,CAAEgI,eAAgB,IAQzF,CACF,CAiB2BC,CAAwBvI,EAAWtK,GACxD,GAAIyK,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,qCAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,GAGN,EClCO,IAAM4H,GAAoB,WAC/B,IAAQ9S,EAAWY,IAAXZ,OACAqK,EAAkBH,KAAlBG,cACFC,GAAYC,EAAAA,EAAAA,OAKVnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAAC1G,EAAQ,qBACT4E,iBAAY,IAAAmO,EACJtI,QA3BZ7F,eAAmC8F,EAAgB1K,GAGjD,IACE,IAAMqF,QAAiB2N,EAAAA,EAAAA,KAAmBtI,EAAK1K,GAE/C,OAAO,IAAIoJ,GAAyC/D,EAASuE,OAAQvE,EAASd,KAChF,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAPmC,CAAEqI,WAAY,IAQtE,CACF,CAiB2BC,CAAoB5I,EAAWtK,GACpD,GAAIyK,EAAOnB,aAA8B,QAAnByJ,EAAItI,EAAOpF,gBAAQ,IAAA0N,GAAfA,EAAiBE,WACzC,OAAOxI,EAAOpF,SAAS4N,WAEzB,MAAM,IAAIvO,MAAM,uCAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,GAGN,E,+lBCCA,IAAMS,IAAmBjhB,EAAAA,EAAAA,GAAOkhB,GAAAA,EAAPlhB,EAAmB,SAAAC,GAAQ,MAAQ,CAC1DkhB,SAAU,OACV/H,MAFkDnZ,EAALC,MAEhCkhB,QAAQC,KAAK,KAC3B,IAEKoH,IAAczoB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAO,GAAQ,MAAQ,CAChDJ,QAAS,OACTE,WAAY,SACZqoB,YAHwCnoB,EAALL,MAGhBO,QAAQ,GAC5B,IAEK6gB,IAAathB,EAAAA,EAAAA,GAAO,IAAPA,EAAY,SAAAW,GAAA,IAAGT,EAAKS,EAALT,MAAK,MAAQ,CAC7CkZ,MAAOlZ,EAAMkhB,QAAQne,MAAMse,KAC3BC,eAAgB,YAChB,UAAW,CACTpI,MAAOlZ,EAAMkhB,QAAQne,MAAMse,KAC3BC,eAAgB,aAEnB,IAEKmH,GAA0B,SAACC,EAAyCC,GAAoB,IAAAC,EAAA,OAC5FF,SAAiE,QAAxDE,EAATF,EAAW3F,MAAK,SAACnU,GAAO,OAAKA,EAAQ+Z,cAAgBA,CAAW,WAAC,IAAAC,OAAA,EAAjEA,EAAmEhP,IAAI,EAE5DiP,GAAmD,SAAC1lB,GAC/D,IACEyW,EAeEzW,EAfFyW,KACA4H,EAcEre,EAdFqe,MACAC,EAaEte,EAbFse,YACAC,EAYEve,EAZFue,WACAC,EAWExe,EAXFwe,YACAC,EAUEze,EAVFye,aACAC,EASE1e,EATF0e,WACAC,EAQE3e,EARF2e,aACAC,EAOE5e,EAPF4e,uBACAE,EAME9e,EANF8e,UACAC,EAKE/e,EALF+e,kBACAC,EAIEhf,EAJFgf,uBACA2G,EAGE3lB,EAHF2lB,kBACAC,EAEE5lB,EAFF4lB,4BACAC,EACE7lB,EADF6lB,gBAMMjL,EADJC,KADFX,QAAWO,UAELG,aAEArI,EAAqBM,IAArBN,iBAER4M,GAA6DC,EAAAA,GAAAA,MAArDC,EAAQF,EAARE,SAAUC,EAAQH,EAARG,SAAUwG,EAAQ3G,EAAR2G,SAAUC,EAAK5G,EAAL4G,MAAOC,EAAW7G,EAAX6G,YAC7ClR,GAAsCG,EAAAA,EAAAA,YAAkBF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAAjDmR,EAAWlR,EAAA,GAAEmR,EAAcnR,EAAA,GAClC8E,GAAgD5E,EAAAA,EAAAA,WAAS,GAAM6E,GAAA3E,EAAAA,GAAAA,GAAA0E,EAAA,GAAxDsM,EAAgBrM,EAAA,GAAEsM,EAAmBtM,EAAA,GAE5CC,GAAoD9E,EAAAA,EAAAA,YAAkB+E,GAAA7E,EAAAA,GAAAA,GAAA4E,EAAA,GAA/DsM,EAAkBrM,EAAA,GAAEsM,EAAqBtM,EAAA,GAElCuM,EAAiB5B,KAAvBnO,KACM+O,EAAcR,KAApBvO,KAEFgQ,EAAmBD,aAAY,EAAZA,EAAc1B,eAAe5E,KAAI,SAACwG,GAAG,MAAM,CAClEjB,YAAiC,OAApBiB,EAAIjB,YAAuB,KAAOiB,EAAIjB,YACnDnH,MAAOoI,EAAIC,oBACX/mB,MAAO8mB,EAAIC,oBACZ,IAEKC,EAAoBjE,SAAQ8D,aAAgB,EAAhBA,EAAkBvnB,SAAUunB,EAAiBvnB,OAAS,GAClF2nB,EAA6C,KAA7BJ,aAAgB,EAAhBA,EAAkBvnB,QAExCsgB,GAAsCC,EAAAA,GAAAA,KAA9BC,EAAcF,EAAdE,eAAgBC,EAASH,EAATG,UAElBC,EAAc/E,aAAY,EAAZA,EAAcgF,MAAK,SAAChgB,GAAK,IAAAigB,EAAA,OAAoB,QAAfA,EAAAjgB,EAAM0d,iBAAS,IAAAuC,OAAA,EAAfA,EAAiBC,iBAAkBrJ,EAAKqJ,aAAa,IAEjG+G,EAAad,EAAMtP,GAGnBsJ,EADcC,KAAML,aAAW,EAAXA,EAAarC,UAAW,KAAK2C,KAAI,SAACC,GAAI,OAAKC,KAAUD,EAAK,IAChDE,KAAK,MAEzC/K,EAAAA,EAAAA,YAAU,WACJsK,GACFN,EAASU,EAEb,GAAG,CAACnF,EAAcmF,EAAiBV,EAAUM,IAE7C,IAAMmH,EAAqB,SAAC5G,EAAqB6G,GAAa,OAC5D9oB,EAAAA,EAAAA,MAAC+oB,GAAAA,EAAQhT,GAAAA,GAAA,CAEPrU,MAAOugB,EAAKvgB,OACR8f,EAAe,wBAAsB,IAAAvhB,SAAA,CAExCgiB,EAAKsF,aACJrnB,EAAAA,EAAAA,KAAC8oB,GAAAA,EAAgB,CACfC,KAAG,EACH1B,YAAatF,EAAKsF,YAClBtE,MAAO,CACL5iB,MAAO,OACPD,OAAQ,OACR8oB,UAAW,QACXzoB,aAAc,MACd2mB,YAAa,SAGf,KACHC,GAAwBC,EAAWrF,EAAKsF,aAAa,KAAGtF,EAAK7B,MAAM,OAjB/D0I,EAkBI,EAGP1G,EAAejD,GAA2BuC,aAAW,EAAXA,EAAatC,UAAW5G,GAElE6J,EAAe5B,SAAAA,EAAY6B,kBAAoB,IAAIC,OAAO9B,EAAW6B,wBAAqBvH,EAE1FyH,GAAW7B,SAAAA,EACX8B,GAAmBiG,EAAoBf,EAA8B7G,EAErEqI,GAAgBZ,aAAgB,EAAhBA,EAAkB5G,MAAK,SAACyH,GAAI,OAAK1I,aAAY,EAAZA,EAAc2I,SAASD,EAAK1nB,MAAM,KAEzF0V,EAAAA,EAAAA,YAAU,WACR,IAAK4Q,GAAemB,GAClBlB,EAAekB,GAAcznB,YACxB,GAAI6mB,IAAqBP,EAAa,KAAAsB,EAC3CrB,EAAkC,QAApBqB,EAACf,EAAiB,UAAE,IAAAe,OAAA,EAAnBA,EAAqB5nB,MACtC,MACEumB,EAAeD,EAEnB,GAAG,CAACmB,GAAenB,EAAaO,KAEhCnR,EAAAA,EAAAA,YAAU,WACJwR,GAAcZ,GAChBK,EAAsBO,EAAWW,QAAQvB,EAAa,IAE1D,GAAG,CAACY,EAAYZ,KAEhB5Q,EAAAA,EAAAA,YAAU,WAIgD,IAAAoS,GAHpDjB,GAAoBI,GACtBR,GAAoB,IAElBI,GAAqBY,IAAkBnB,IACzCC,EAAkC,QAApBuB,EAACjB,EAAiB,UAAE,IAAAiB,OAAA,EAAnBA,EAAqB9nB,MAExC,GAAG,CAAC6mB,EAAkBI,EAAeQ,GAAenB,IAEpD,IAAMtF,GAAa3B,EAAyB,MAAQ,KAC9C4B,GAAmB,CACvB9jB,QAAS,OACTuB,OAAQ,IACRrB,WAAY,SACZsY,eAAgB,UAiEZuL,GAA0C,iBAAjBpC,EAA4BA,EAAe,EAAIA,EAExEiJ,GAAgBhF,SAAQ8D,aAAgB,EAAhBA,EAAkBvnB,SAAsC,IAA5BunB,EAAiBvnB,QAuLrE6hB,GAAiBtC,IApLrBrgB,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAO1C,GAAevgB,UAE/BD,EAAAA,EAAAA,MAACmjB,GAAAA,EAAG,CACFC,OAAQZ,GAAW,IAAM,cACzBa,SAAU,IACVJ,MAAOT,GAAWG,QAAmB5H,EACrCva,GAAI,CACF3B,QAAS,OACTwB,MAAO,QACPJ,SAAA,CAEDyoB,GACCxoB,EAAAA,EAAAA,KAACijB,GAAAA,EAAG,CACF9iB,MAAM,OACN+mB,YAAa,EAAEnnB,UAEfD,EAAAA,EAAAA,MAACqkB,GAAAA,EAAW,CAEVC,WAAS,EACTd,SAAU/C,aAAU,EAAVA,EAAYgD,YAAYxjB,SAAA,EAElCC,EAAAA,EAAAA,KAACwpB,GAAAA,EAAU,CAACvR,GAAE,GAAA9W,OAAKmX,EAAI,iBAAgBvY,SAAE2nB,KACzC1nB,EAAAA,EAAAA,KAACypB,GAAAA,EAAM,CACLC,cAAY,EACZC,QAAO,GAAAxoB,OAAKmX,EAAI,iBAChB4H,MAAOwH,EACPtnB,QAAQ,WACRkjB,SAAU/C,aAAU,EAAVA,EAAYgD,YACtBkB,UAAWrE,GAAc4H,EACzBtD,WAAY,CACVC,SAAUjC,IAEZkH,UAAW,CACTtpB,GAAI,CACF,mBAAoB,CAClBH,MAAO,QACP0pB,OAAQ,sBAGZC,aAAc,CACZC,SAAU,SACVC,WAAY,QAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,SAGhBE,YAAa,SAACC,GACZ,GAAKA,SAAAA,EAAUrpB,OAAf,CAIA,IAAMspB,EAAY/B,aAAgB,EAAhBA,EAAkB5G,MAAK,SAAC6G,GAAG,OAAKA,EAAI9mB,QAAU2oB,CAAQ,IACxE,OAAIC,SAAAA,EAAW/C,aAEXvnB,EAAAA,EAAAA,MAACmnB,GAAW,CAAAlnB,SAAA,EACVC,EAAAA,EAAAA,KAAC8oB,GAAAA,EAAgB,CACfC,KAAG,EACH1B,YAAa+C,EAAU/C,YACvBtE,MAAO,CACL5iB,MAAO,OACPD,OAAQ,OACR8oB,UAAW,QACXzoB,aAAc,MACd2mB,YAAa,SAGhBiD,KAKAA,CAtBP,CAuBF,EACA7pB,GAAI,CACF,kBAAmB,CACjB3B,QAAS4qB,GAAgB,OAAS,UAGtC/nB,MAAOsmB,EACPnE,aAAcmE,EACd7D,SAAU,SAAC+B,GAAC,OA5GC,SAACqE,GAC1B,IACY7oB,EACR6oB,EADFpE,OAAUzkB,MAEZumB,EAAevmB,GAEf,IAAM8oB,EAAepC,GAAsB1mB,GAASA,EAAML,OAAO+mB,GAC7DQ,GACFvH,EAAS7I,EAAMgS,aAAY,EAAZA,EAAc1E,OAAQ,CACnCC,gBAAgB,EAChBC,aAAa,EACbC,aAAa,GAGnB,CA8F+BwE,CAAmBvE,EAAE,EAACjmB,SAEtCsoB,aAAgB,EAAhBA,EAAkBvG,IAAI6G,OAnEpBb,KAuEP,MACJ9nB,EAAAA,EAAAA,KAACijB,GAAAA,EAAG,CACFE,SAAUqF,EAAoB,IAAM,IACpCroB,MAAM,OACNxB,QAAQ,OACRE,WAAW,MAAKkB,UAEhBC,EAAAA,EAAAA,KAACojB,GAAAA,GAAU,CACT9K,KAAMA,EACN+K,MAAO,CACLC,SAAU/C,aAAU,EAAVA,EAAYgD,YACtBC,UAAWjD,aAAU,EAAVA,EAAYiD,UACvBC,UAAWlD,aAAU,EAAVA,EAAYkD,UACvBC,QAASvB,GAEXwB,aAAcnD,EACdoD,OAAQ,SAAAvkB,GAAA,IAAAwkB,EAAA2G,EAAAC,EAAAprB,EAAG0kB,MAASC,EAAGyG,EAAHzG,IAAKC,EAAQwG,EAARxG,SAAaF,GAAKzK,EAAAA,GAAAA,GAAAmR,EAAAlR,IAAI2K,EAAU7kB,EAAV6kB,WAAU,OACvDpkB,EAAAA,EAAAA,MAACqkB,GAAAA,EAAW,CAACC,WAAS,EAAArkB,SAAA,CACnBuiB,GAAW,MACVtiB,EAAAA,EAAAA,KAACqkB,GAAAA,EAASxO,GAAAA,GAAA,CACRuO,WAAS,EACTlE,MAAOsI,EAAoB,KAAOtI,EAClCnB,KAAM4B,QAAAA,EAAa,OACnB2D,YAAa/B,GACbniB,QAAQ,WACRqB,QAASyiB,EAAWziB,OAAS8iB,QAAQ/C,GACrCgD,WACEN,EAAWziB,OACTzB,EAAAA,EAAAA,KAAA,MAAA6V,GAAAA,GAAA,GAASyL,EAAe,GAADngB,OAAImX,EAAI,gCAA6B,IAAAvY,SACzDsf,GAAwB6E,EAAWziB,UAEpC,KAENgjB,UAAWrE,EACXkD,SAAU/C,aAAU,EAAVA,EAAYgD,YACtBmB,WAAY,CACVlB,UAAWjD,aAAU,EAAVA,EAAYiD,UACvBC,UAAgC,QAAvBI,EAAEtD,aAAU,EAAVA,EAAYkD,iBAAS,IAAAI,EAAAA,OAAIhJ,EACpC+J,UAAW,MACX,cAAerD,EAAU,GAADpgB,OAAImX,EAAI,iBAChCuM,eAAgBrC,GAChBmC,SAAUjC,GACVpiB,GAAI,CACF,iBAAkB,CAChBwkB,cAAe,aAKrBC,WAAY,CACVC,aAAcd,EAAWziB,OAtM3CzB,EAAAA,EAAAA,KAACklB,GAAAA,EAAO,CACNC,MAAOqD,EAAoBhB,EAAoBrH,EAC/CiF,gBAAiB,EACjBC,gBAAiB,IAAKtlB,UAEtBC,EAAAA,EAAAA,KAACilB,GAAAA,EAAW,CAACrN,MAAM,aAfrB5X,EAAAA,EAAAA,KAACklB,GAAAA,EAAO,CACNC,MAAOqD,EAAoBhB,EAAoBrH,EAC/CiF,gBAAiB,EACjBC,gBAAiB,IAAKtlB,UAEtBC,EAAAA,EAAAA,KAACyf,GAAgB,MA4MD6F,aAAc,QAEZvB,GAAK,IACTviB,MAAmB,QAAdgpB,EAAGzG,EAAMviB,aAAK,IAAAgpB,OAAA,EAAZA,EAAqCnB,QAAQvB,EAAuB,IAC3EvC,SAAUvB,EACVC,SAAU,SAAC+B,GAAC,OAAK/B,EAnMC,SAACyG,EAAoBlpB,GACvD,IAAIkkB,EAAelkB,EACfkpB,GAAahF,EAAaiF,WAAW,OACvCjF,EAAeA,EAAakF,MAAM,GAAG1E,WAAW,MAAO,KAGrDwE,IACFhF,EAAeA,EAAaQ,WAAW,MAAO,KAGhD,IAAMoE,EAAe9B,EAEjB9C,GAAgBoC,GAAeA,EAAY3mB,OAAOukB,GAClDA,EASJ,OAPgB4E,IAAenI,aAAY,EAAZA,EAAc0I,KAAKP,IAEhDzC,EAAYvP,GAEZqP,EAASrP,EAAM,CAAEyG,KAAM,YAGlBuL,aAAY,EAAZA,EAAc1E,MACvB,CA4K4CkF,CAA4BtC,EAAmBxC,EAAEC,OAAOzkB,OAAO,KAG5FggB,GACCxhB,EAAAA,EAAAA,KAACmmB,GAAAA,EAAc,CAAC1kB,OAAK,EAAA1B,UACnBC,EAAAA,EAAAA,KAAC2c,GAAY9G,GAAAA,GAAA,GACPqM,GAAY,IAChBrF,OAAQ,CACNuJ,WACEpmB,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMjS,EACN6R,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5O,eACnByN,eAAgB7a,EAAoBoN,yBAO9C,OACQ,WAU1B,OAEEnP,EAAAA,EAAAA,KAAAumB,EAAAA,SAAA,CAAAxmB,SAAG4iB,IAEP,E,qnBCncA,IAAMoI,GAAY,CAChBpL,SAAU,QAGNqL,IAAmBxsB,EAAAA,EAAAA,GAAOysB,GAAAA,GAAPzsB,EAAmB,SAAAC,GAAQ,MAAQ,CAC1DysB,QADkDzsB,EAALC,MAC9BO,QAAQ,GACxB,IAQYksB,GAA2C,SAACtpB,GACvD,IAAQupB,EAAiDvpB,EAAjDupB,eAAgBzG,EAAiC9iB,EAAjC8iB,SAAU0G,EAAuBxpB,EAAvBwpB,mBAC1B/J,GAAmBD,EAAAA,GAAAA,KAAnBC,eAIFgK,EAAOF,GACXprB,EAAAA,EAAAA,KAACurB,GAAAA,EAAa1V,GAAA,CACZvV,GAAIyqB,IACAzJ,EAAe,yBAGrBthB,EAAAA,EAAAA,KAACwrB,GAAAA,EAAU3V,GAAA,CACTvV,GAAIyqB,IACAzJ,EAAe,uBAIvB,OACEthB,EAAAA,EAAAA,KAACyrB,GAAAA,EAAc,CAACrU,SAAS,MAAKrX,UAC5BC,EAAAA,EAAAA,KAACgrB,GAAgB,CACfrG,SAAUA,EACV+G,QAlBc,WAAH,OAASL,GAAoBD,EAAe,EAmBvDhrB,QAAQ,OACRwX,MAAM,UAAS7X,SAEdurB,KAIT,E,qBCzCMK,IAAcntB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQ,MAAQ,CAChDE,QAAS,OACTwY,eAAgB,aAChBtY,WAAY,SACZ+sB,UAJwCntB,EAALC,MAIlBO,QAAQ,GAC1B,IAEK4sB,IAAYrtB,EAAAA,EAAAA,GAAOstB,GAAAA,EAAPttB,EAA0B,SAAAO,GAAA,IAAGL,EAAKK,EAALL,MAAK,MAAQ,CAC1DkZ,MAAOlZ,EAAMkhB,QAAQmM,QAAQC,MAC7B9E,YAAaxoB,EAAMO,QAAQ,GAC5B,IAEKgtB,IAAmBztB,EAAAA,EAAAA,GAAOstB,GAAAA,EAAPttB,EAA0B,SAAAW,GAAA,IAAGT,EAAKS,EAALT,MAAK,MAAQ,CACjEkZ,MAAOlZ,EAAMkhB,QAAQsM,QAAQnM,KAC7BmH,YAAaxoB,EAAMO,QAAQ,GAC5B,IAEKktB,IAAY3tB,EAAAA,EAAAA,GAAO4tB,GAAAA,EAAP5tB,EAA0B,SAAAa,GAAA,IAAGX,EAAKW,EAALX,MAAK,MAAQ,CAC1DkZ,MAAOlZ,EAAMkhB,QAAQne,MAAM4qB,KAC3BnF,YAAaxoB,EAAMO,QAAQ,GAC5B,IAEKqtB,IAAc9tB,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAe,GAAQ,MAAQ,CACrDqY,MAD6CrY,EAALb,MAC3BkhB,QAAQmM,QAAQhM,KAC9B,IAYYyM,GAAuD,SAAC3qB,GACnE,IAAQ4qB,EAAmD5qB,EAAnD4qB,aAAcC,EAAqC7qB,EAArC6qB,QAASC,EAA4B9qB,EAA5B8qB,YAAaC,EAAe/qB,EAAf+qB,WAE5C,OACE5sB,EAAAA,EAAAA,KAAA,OAAAD,SACG0sB,aAAY,EAAZA,EAAc3K,KAAI,SAAC+K,GAAW,OAC7B/sB,EAAAA,EAAAA,MAAC6rB,GAAW,CAAA5rB,SAAA,CACT6sB,GAVgBE,EAUeD,EAV4BrrB,EAUfmrB,EATrDG,EAAoBhb,gBAAgB+Y,KAAKrpB,QAAAA,EAAS,KAAMxB,EAAAA,EAAAA,KAACisB,GAAgB,KAAMjsB,EAAAA,EAAAA,KAACmsB,GAAS,MASrBnsB,EAAAA,EAAAA,KAAC6rB,GAAS,KACtE7rB,EAAAA,EAAAA,KAACssB,GAAW,CAAClsB,QAAQ,UAASL,UAC5BC,EAAAA,EAAAA,KAAC2c,GAAY,CACXC,eAAgB7a,EAAoB8qB,EAAYtrB,KAChD0W,GAAI4U,EAAYtrB,IAChBsb,OAAQ,CAAE0C,IAAKmN,SANHG,EAAYtrB,KATZ,IAACurB,EAA2CtrB,CAkBhD,KAItB,E,ykBC9BA,IAkDaurB,GAAyD,SAAClrB,GAAU,IAAAgiB,EAAAmJ,EAE7E1U,EASEzW,EATFyW,KACA4H,EAQEre,EARFqe,MACAE,EAOEve,EAPFue,WACAC,EAMExe,EANFwe,YACAC,EAKEze,EALFye,aACAC,EAIE1e,EAJF0e,WACAkM,EAGE5qB,EAHF4qB,aACAjM,EAEE3e,EAFF2e,aACAI,EACE/e,EADF+e,kBAGFjK,GAAgGG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAAxGsW,EAAiBrW,EAAA,GAAEsW,EAAoBtW,EAAA,GAE9C8E,GAAoD5E,EAAAA,EAAAA,WAAS,GAAM6E,GAAA3E,EAAAA,GAAAA,GAAA0E,EAAA,GAA5DyR,EAAkBxR,EAAA,GAAEyR,EAAqBzR,EAAA,GAChDC,GAAgE9E,EAAAA,EAAAA,WAAS,GAAM+E,GAAA7E,EAAAA,GAAAA,GAAA4E,EAAA,GAAxEyR,EAAwBxR,EAAA,GAAEyR,EAA2BzR,EAAA,GAKpDY,EADJC,KADFX,QAAWO,UAELG,aAER2E,GAAsCC,EAAAA,GAAAA,KAA9BC,EAAcF,EAAdE,eAAgBC,EAASH,EAATG,UAElBC,EAAc/E,aAAY,EAAZA,EAAcgF,MAAK,SAAChgB,GAAK,IAAAigB,EAAA,OAAoB,QAAfA,EAAAjgB,EAAM0d,iBAAS,IAAAuC,OAAA,EAAfA,EAAiBC,iBAAkBrJ,EAAKqJ,aAAa,IAEjGO,EAAejD,GAA2BuC,aAAW,EAAXA,EAAatC,UAAW5G,GAIlEiV,EAjFwB,SAC9B9J,EACAD,EACAgK,GACG,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAGyCC,EAOSC,EAOAC,EAYVC,EAOWC,EAnChDC,EAA8C,GA0CpD,OAxCIX,SAA0B,QAARC,EAAlBD,EAAoBY,cAAM,IAAAX,GAA1BA,EAA4BY,YAC9BF,EAAoBG,KAAK,CACvB/sB,IAAK,4BACLuQ,gBAAiB,IAAIuQ,OAAkD,QAA5CyL,EAACN,EAAmBY,OAAOhM,yBAAiB,IAAA0L,EAAAA,EAAI,MAI3EN,SAAmC,QAAjBE,EAAlBF,EAAoBe,uBAAe,IAAAb,GAAnCA,EAAqCW,YACvCF,EAAoBG,KAAK,CACvB/sB,IAAK,qCACLuQ,gBAAiB,IAAIuQ,OAA2D,QAArD0L,EAACP,EAAmBe,gBAAgBnM,yBAAiB,IAAA2L,EAAAA,EAAI,MAIpFP,SAAmC,QAAjBG,EAAlBH,EAAoBgB,uBAAe,IAAAb,GAAnCA,EAAqCU,YACvCF,EAAoBG,KAAK,CACvB/sB,IAAK,qCACLuQ,gBAAiB,IAAIuQ,OAA2D,QAArD2L,EAACR,EAAmBgB,gBAAgBpM,yBAAiB,IAAA4L,EAAAA,EAAI,MAIxFG,EAAoBG,KAAK,CACvB/sB,IAAK,qCACLuQ,gBAAiB,IAAIuQ,OAAO,MAADlhB,OAAOsiB,EAAS,KAAAtiB,OAAIqiB,EAAS,SAGtDgK,SAAyB,QAAPI,EAAlBJ,EAAoBiB,aAAK,IAAAb,GAAzBA,EAA2BS,YAC7BF,EAAoBG,KAAK,CACvB/sB,IAAK,2BACLuQ,gBAAiB,IAAIuQ,OAAiD,QAA3C4L,EAACT,EAAmBiB,MAAMrM,yBAAiB,IAAA6L,EAAAA,EAAI,MAI1ET,SAAoC,QAAlBK,EAAlBL,EAAoBkB,wBAAgB,IAAAb,GAApCA,EAAsCQ,YACxCF,EAAoBG,KAAK,CACvB/sB,IAAK,sCACLuQ,gBAAiB,IAAIuQ,OAA4D,QAAtD6L,EAACV,EAAmBkB,iBAAiBtM,yBAAiB,IAAA8L,EAAAA,EAAI,MAIlFC,CACT,CAiCoCQ,CAHK,QAAxB9K,EAAGtD,aAAU,EAAVA,EAAYkD,iBAAS,IAAAI,EAAAA,EAAI,EACJ,QAAxBmJ,EAAGzM,aAAU,EAAVA,EAAYiD,iBAAS,IAAAwJ,EAAAA,EAAI,IAEqCP,GAE1EtK,EAAe5B,SAAAA,EAAY6B,kBAAoB,IAAIC,OAAO9B,EAAW6B,wBAAqBvH,EAG1F6H,EAA0C,iBAAjBpC,EAA4BA,EAAe,EAAIA,EAoFxEqC,EAAiBtC,IAjFrBrgB,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAO1C,GAAevgB,UAE/BC,EAAAA,EAAAA,KAACijB,GAAAA,EAAG,CACFC,OAAO,cACPC,SAAU,IAAIpjB,UAEdC,EAAAA,EAAAA,KAACojB,GAAAA,GAAU,CACT9K,KAAMA,EACN+K,MAAO,CACLC,SAAU/C,aAAU,EAAVA,EAAYgD,YACtBG,QAASvB,GAEXwB,aAAcnD,EACdoD,OAAQ,SAAAnlB,GAAA,IAAAmwB,EAAG7K,EAAKtlB,EAALslB,MAAOG,EAAUzlB,EAAVylB,WAAU,OAC1BlkB,EAAAA,EAAAA,KAACmkB,GAAAA,EAAW,CAACC,WAAS,EAAArkB,UACpBC,EAAAA,EAAAA,KAACqkB,GAAAA,EAASxO,GAAA,CACRuO,WAAS,EACTlE,MAAOA,EACP9f,QAAQ,WACR2e,KAAMkO,EAAoB,OAAS,WACnC3I,YAAa1D,QAAAA,EAAqB,GAClCnf,QAASyiB,EAAWziB,OAAS8iB,QAAQ/C,GACrCgD,YACE1kB,EAAAA,EAAAA,MAAA,OAAAC,SAAA,CACGyhB,GACCxhB,EAAAA,EAAAA,KAACmmB,GAAAA,EAAc,CAAC1kB,OAAK,EAAA1B,UACnBC,EAAAA,EAAAA,KAAC2c,GAAY9G,GAAA,GAAKqM,MAElB,MACFiL,GAAsBjJ,EAAWziB,OACjCzB,EAAAA,EAAAA,KAAA,MAAA6V,GAAAA,GAAA,GAASyL,EAAe,GAADngB,OAAImX,EAAI,mCAAgC,IAAAvY,SAC5Dsf,GAAwB6E,EAAWziB,MAAO8e,aAAU,EAAVA,EAAYiD,UAAWjD,aAAU,EAAVA,EAAYkD,cAE9E,KACH0J,GACCntB,EAAAA,EAAAA,KAAA,MAAA6V,GAAAA,GAAA,GAASyL,EAAe,GAADngB,OAAImX,EAAI,kCAA+B,IAAAvY,UAC5DC,EAAAA,EAAAA,KAACwsB,GAAoB,CACnBE,QAASnM,aAAU,EAAVA,EAAYkD,UACrBgJ,aAAcc,EACdX,WAAYS,EACZV,YAAa5I,EAAMviB,WAGrB,QAGRijB,UAAWrE,EACXkD,SAAU/C,aAAU,EAAVA,EAAYgD,YACtBI,aAAcI,EAAMviB,MACpBkjB,WAAY,CACVlB,UAAWjD,aAAU,EAAVA,EAAYiD,UACvBmB,SAAUjC,EACVe,UAAgC,QAAvBmL,EAAErO,aAAU,EAAVA,EAAYkD,iBAAS,IAAAmL,EAAAA,OAAI/T,EACpC,cAAe0G,EAAU,GAADpgB,OAAImX,EAAI,qBAGlCyM,WAAY,CACVC,cACEhlB,EAAAA,EAAAA,KAACmrB,GAAc,CACbxG,SAAUjC,EACV0I,eAAgB6B,EAChB5B,mBAAoB6B,IAGxB5H,aAAc,gBAEhBuJ,QAAS,SAACC,GAAE,OAAK1B,GAAsB,EAAK,EAC5C2B,QAAS,SAACD,GAAE,OAAKxB,GAA4B,EAAK,GAC9CvJ,KAEM,QASxB,OAEE/jB,EAAAA,EAAAA,KAAAumB,EAAAA,SAAA,CAAAxmB,SAAG4iB,GAEP,E,ykBCzMO,IAAMqM,IAAmBxwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQ,MAAQ,CAC5DE,QAAS,OACTC,cAAe,SACfC,WAAY,aACZ+sB,UAJoDntB,EAALC,MAI9BO,QAAQ,GAC1B,IAEYgwB,IAAoBzwB,EAAAA,EAAAA,GAAO2nB,GAAAA,EAAP3nB,EAAuB,SAAAO,GAAQ,MAAQ,CACtE4gB,SAAU,OACVnI,UAAW,OACX0X,UAAW,SACXC,WAJ8DpwB,EAALL,MAIvCO,QAAQ,GAC3B,IAEK6gB,IAAathB,EAAAA,EAAAA,GAAO,IAAPA,EAAY,SAAAW,GAAA,IAAGT,EAAKS,EAALT,MAAK,MAAQ,CAC7CkZ,MAAOlZ,EAAMkhB,QAAQne,MAAMse,KAC3BC,eAAgB,YAChB,UAAW,CACTpI,MAAOlZ,EAAMkhB,QAAQne,MAAMse,KAC3BC,eAAgB,aAEnB,IAOYoP,GAAwD,SAACvtB,GACpE,IAAQwtB,EAA8CxtB,EAA9CwtB,sBAAuBhb,EAAuBxS,EAAvBwS,mBAG/B,OAFgCkQ,SAAQ8K,aAAqB,EAArBA,EAAuBvuB,SAAUuuB,EAAsBvuB,OAAS,IAOtGd,EAAAA,EAAAA,KAACgvB,GAAgB,CAAAjvB,SACdsvB,aAAqB,EAArBA,EAAuBvN,KAAI,SAACwN,GAAgB,OAC3CtvB,EAAAA,EAAAA,KAACivB,GAAiB,CAEhBxtB,OAAK,EAAA1B,UAELC,EAAAA,EAAAA,KAAC2c,GAAY9G,GAAAA,GAAA,GACPoJ,GAA2BqQ,EAAiBpQ,YAAU,IAC1DrC,OAAQ,CACN0S,qBACEvvB,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMhS,EACN4R,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAevQ,yBACnBoP,eAAgB7a,EAAoByL,kCAdzC8hB,EAAiBpQ,UAoBJ,MA3BjB,IA+BX,ECvEasQ,GAAiB,WAAH,OACzBxvB,EAAAA,EAAAA,KAAA,OACEyvB,QAAQ,MACRC,MAAM,6BACNvvB,MAAM,KACND,OAAO,KACPyvB,QAAQ,cAAa5vB,UAErBD,EAAAA,EAAAA,MAAA,KAAGyX,UAAU,4CAA2CxX,SAAA,EACtDC,EAAAA,EAAAA,KAAA,QACE4vB,KAAK,UACLC,EAAE,+OAEJ7vB,EAAAA,EAAAA,KAAA,QACE4vB,KAAK,UACLC,EAAE,qQAEJ7vB,EAAAA,EAAAA,KAAA,QACE4vB,KAAK,UACLC,EAAE,uQAEJ7vB,EAAAA,EAAAA,KAAA,QACE4vB,KAAK,UACLC,EAAE,uPAGF,E,WC1BFC,IAAatxB,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAAC,GAAQ,MAAQ,CAChDE,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZsB,MAAO,OACPyrB,UALwCntB,EAALC,MAKlBO,QAAQ,GAC1B,IAEK8wB,IAAgBvxB,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAO,GAAQ,MAAQ,CACnDkxB,SAAU,QACVrE,UAF2C7sB,EAALL,MAErBO,QAAQ,GACzB+jB,MAAO,EACR,IAEKkN,IAAgB1xB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAW,GAAQ,MAAQ,CAClDR,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZD,cAAe,SACfgtB,UAL0CzsB,EAALT,MAKpBO,QAAQ,GAC1B,IAEK0sB,IAAcntB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAa,GAAQA,EAALX,MAAK,MAAQ,CAChDC,QAAS,OACTwY,eAAgB,SAChBhX,MAAO,OACR,IAEKgwB,IAAW3xB,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAe,GAAQ,MAAQ,CAClD6wB,YAD0C7wB,EAALb,MAClBO,QAAQ,IAC3BuY,UAAW,OACZ,IAGK6Y,IAAgB7xB,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAA8xB,GAAQ,MAAQ,CACnD3xB,QAAS,OACTwY,eAAgB,QAChBhX,MAAO,OACP8vB,SAAU,QACV9M,SAAU,QACVjjB,OAAQ,OACRqwB,UAAW,OACX3E,UAR2C0E,EAAL5xB,MAQrBO,QAAQ,GACzB6lB,cAAe,OACf0L,UAAW,wBACXtF,QAAS,WACV,IAEKuF,IAAYjyB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAkyB,GAAA,IAAGhyB,EAAKgyB,EAALhyB,MAAK,MAAQ,CAC9CC,QAAS,OACTwY,eAAgB,SAChByU,UAAWltB,EAAMO,QAAQ,GACzB0xB,aAAcjyB,EAAMO,QAAQ,GAC7B,IAEK2xB,IAAcpyB,EAAAA,EAAAA,GAAO,QAAPA,EAAgB,SAAAqyB,GAAQA,EAALnyB,MAAK,MAAQ,CAClDC,QAAS,OACV,IAEKmhB,IAAathB,EAAAA,EAAAA,GAAO,IAAPA,EAAY,SAAAsyB,GAAA,IAAGpyB,EAAKoyB,EAALpyB,MAAK,MAAQ,CAC7CkZ,MAAOlZ,EAAMkhB,QAAQmR,KAAK7E,QAC1BlM,eAAgB,YAChB,UAAW,CACTpI,MAAOlZ,EAAMkhB,QAAQmR,KAAKC,UAC1BhR,eAAgB,aAEnB,IAEKiR,IAAczyB,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAA0yB,GAAQ,MAAQ,CACrDvyB,QAAS,OACTwyB,aAAc,OACdR,aAH6CO,EAALxyB,MAGpBO,QAAQ,GAC5BkkB,SAAU,QACX,IAEKiO,IAAoB5yB,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAA6yB,GAAQ,MAAQ,CAC3D7Z,UAAW,OACX8Z,WAAY,OACZX,aAHmDU,EAAL3yB,MAG1BO,QAAQ,GAC5BsyB,OAAQ,UACT,I,0OC3ED,IAAMC,GAAc9X,KAAAA,SAIb,SAAS+X,GAAsBhe,EAAqBie,GACzD,IAHuBC,EAGvB9c,EAAkDH,IAA1Cf,EAAYkB,EAAZlB,aAAcG,EAAMe,EAANf,OAAQN,EAAeqB,EAAfrB,gBACtByC,GAAmBlB,EAAAA,EAAAA,KAAnBkB,eAEF2b,EAAcrN,QAAQ9Q,SAAcie,GACpC9Y,EAAM,GAAHzX,OAAMwS,EAAY,eAAAxS,OAAcsS,EAAU,mBAAAtS,OAAkBuwB,GAErEG,GAA+BrX,EAAAA,EAAAA,IAAOoX,EAAchZ,EAAIkZ,WAAa,MAAMpZ,eAAOqZ,GAChF,IAAMvY,E,uWAAsC3D,CAAA,CAC1C,mBAAoB/B,GAChBN,GAAmB,CAAE,kBAAmBA,IAY9C,OAVAgG,EAAQwY,cAAgB/b,SAEDub,GACpBnU,IAAU0U,EAAY,CACrBvY,QAAAA,EACAyY,aAAc,SAEftY,MAAK,SAACgY,GAAI,OAAKA,CAAI,IACnB/X,OAAM,SAACnY,GAA0B,OAAKA,CAAK,KANtC4W,IASV,IAhBc6Z,EAAYL,EAAlBxZ,KAkBR,YAAwBwC,IAAjBqX,OAA6BrX,GA3Bb8W,EA2ByCO,EA3BlBC,IAAIC,gBAAgBT,GA4BpE,CCrCO,IAAMU,GAAe,SAAC/Z,GAAiB,IAAAga,EAAAC,EAC5CC,EAA8Bla,EAAKuJ,MAAM,KAAI4Q,GAAAzb,EAAAA,GAAAA,GAAAwb,EAAA,GAAtCE,EAAQD,EAAA,GAAEE,EAASF,EAAA,GAE1B,MAAO,CACL1yB,SAAU,GAAFoB,OAAyB,QAAzBmxB,EAAKK,aAAS,EAATA,EAAWC,OAAO,UAAE,IAAAN,EAAAA,EAAI,IAAEnxB,OAAsB,QAAtBoxB,EAAGG,aAAQ,EAARA,EAAUE,OAAO,UAAE,IAAAL,EAAAA,EAAI,IAErE,E,ykBCMA,IAAMM,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CAClDC,QAAS,OACTE,WAAY,SACZsY,eAAgB,SAChBhX,MAAO,OACPgjB,SAAU,QACVyI,UAAWltB,EAAMO,QAAQ,GACzB0xB,aAAcjyB,EAAMO,QAAQ,GAC7B,IAEK6zB,IAAet0B,EAAAA,EAAAA,GAAOu0B,GAAAA,EAAPv0B,EAAe,SAAAO,GAAQ,MAAQ,CAClDoB,MAAO,OACPD,OAAQ,OACR0X,MAH0C7Y,EAALL,MAGxBkhB,QAAQmR,KAAK7E,QAC1BlM,eAAgB,OACjB,IAEKgT,IAAax0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAW,GAAQ,MAAQ,CAC/CR,QAAS,OACTC,cAAe,SACfuY,eAAgB,SAChBgY,WAJuChwB,EAALT,MAIhBO,QAAQ,GAC3B,IAEYg0B,GAAyD,SAAH5zB,GAAyB,IAAA6zB,EAAnB5S,EAAYjhB,EAAZihB,aAC/D6S,EAAaze,IAAbye,SACMC,GAAoBC,EAAAA,EAAAA,KAA+C,QAArBH,EAACC,aAAQ,EAARA,EAAUG,kBAAU,IAAAJ,EAAAA,EAAI,GAA7E7a,KACF6Z,EAAeT,GAAsB0B,aAAQ,EAARA,EAAUG,WAAYF,aAAe,EAAfA,EAAiB1B,YAE1EpQ,GAAmBD,EAAAA,GAAAA,KAAnBC,eAER,OACExhB,EAAAA,EAAAA,MAAC+yB,GAAahd,GAAAA,GAAA,GACRyL,EAAe,uBAAqB,IACxChhB,GAAI,CAAE0iB,MAAO1C,GAAevgB,SAAA,CAE3BozB,SAAAA,EAAUI,UACTvzB,EAAAA,EAAAA,KAAC8yB,GAAYjd,GAAAA,GAAA,GACPwc,GAAac,EAASI,WAAS,IACnCC,IAAKtB,KAEL,MACJpyB,EAAAA,EAAAA,MAACkzB,GAAU,CAAAjzB,SAAA,EACTC,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,UACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe9V,sBACnB2U,eAAgB7a,EAAoBkG,2BAIxCjI,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,YACRwX,MAAM,cACN6b,MAAM,OACNnzB,GAAI,CAAEgxB,WAAY,QAASvxB,SAE1BozB,aAAQ,EAARA,EAAUI,iBAKrB,E,ykBClCA,IAAMG,GAAqB,SAAC/O,GAAiB,MAA0B,iBAAbA,EAAwBA,EAAW,EAAI,CAAC,EAErFgP,GAAqC,SAAC9xB,GAAU,IAAA+xB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACnDhb,EAA0CxX,EAA1CwX,OAAQib,EAAkCzyB,EAAlCyyB,gBAAiBC,EAAiB1yB,EAAjB0yB,aAEjC5d,GAAgEG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAAxE6d,EAAwB5d,EAAA,GAAE6d,EAA2B7d,EAAA,GACpD0K,GAAmBD,EAAAA,GAAAA,KAAnBC,eACRzM,EAA4DH,IAApDP,EAAmBU,EAAnBV,oBAAqBgf,EAAQte,EAARse,SAAUpf,EAAgBc,EAAhBd,iBAC/BoK,EAAkBH,KAAlBG,cAEFuW,GAAUC,EAAAA,GAAAA,IAAoD,CAClEC,eAAgB,WAChBC,KAAM,aAGAC,EAAyCJ,EAAzCI,UAAWlN,EAA8B8M,EAA9B9M,MAAOmN,EAAuBL,EAAvBK,SAAU5T,EAAauT,EAAbvT,SAC5B6T,EAAuCF,EAAvCE,QAASC,EAA8BH,EAA9BG,YAAaC,EAAiBJ,EAAjBI,aACxBC,EAAavN,IAKXnL,EADJC,KADFX,QAAWO,UAELG,aAEF2Y,EAAoB3Y,aAAY,EAAZA,EAAc4Y,QACtC,SAACC,GAAE,IAAAC,EAAAC,EAAA,OACAC,OAAOC,KAAKP,GACVrT,KAAI,SAAC6T,GAAG,OAAKA,EAAIhU,aAAa,IAC9BwH,SAAoC,QAA5BoM,EAAa,QAAbC,EAACF,EAAGnW,iBAAS,IAAAqW,OAAA,EAAZA,EAAc7T,qBAAa,IAAA4T,EAAAA,EAAI,GAAG,IAG5CK,EAA0B3W,GAA2B9K,GAErD0hB,EAAgCtR,SAAS0Q,GAAe9gB,GAExD2hB,IAAmC,eAArB/hB,GAAgE,kBAA3Bof,aAAQ,EAARA,EAAU4C,eAE7DC,EAAqC,gBAArBjiB,GAA4C+hB,EAE5DG,GAAmB9C,aAAQ,EAARA,EAAUG,aAAc0C,EAE3CE,EAAyB,SAACC,GAC9BhV,EAAS,YAAagV,GACtBhV,EAAS,oBAAgBtG,GACzBsG,EAAS,wBAAoBtG,GAC7BsG,EAAS,gBAAYtG,GACrB6Z,EAAQ7M,cACR6M,EAAQ0B,aAAa7B,EAArBG,EACF,GAEAxd,EAAAA,EAAAA,YAAU,WACJie,EAAWkB,cACblV,EAAS,YAAa,QAG1B,GAAG,CAACgU,EAAWkB,gBAEfnf,EAAAA,EAAAA,YAAU,WACJie,EAAWmB,kBACbnV,EAAS,YAAa,YAG1B,GAAG,CAACgU,EAAWmB,mBAGf,IAAMC,EAA8BhS,SAClClL,SAAkB,QAAZua,EAANva,EAAQmd,kBAAU,IAAA5C,OAAA,EAAlBA,EAAoBvT,eAAehH,SAAqB,QAAfwa,EAANxa,EAAQod,qBAAa,IAAA5C,OAAA,EAArBA,EAAuBxT,eAAehH,SAAmB,QAAbya,EAANza,EAAQqd,mBAAW,IAAA5C,OAAA,EAAnBA,EAAqBzT,cAIhG,OACEvgB,EAAAA,EAAAA,MAAC62B,GAAAA,GAAY9gB,GAAAA,GAAA,GAAK6e,GAAO,IAAA30B,SAAA,CACtB81B,GACC71B,EAAAA,EAAAA,KAACmmB,GAAAA,EAAc,CAAC1kB,OAAK,EAAA1B,UACnBC,EAAAA,EAAAA,KAAC2c,GAAY9G,GAAA,GAAK+f,MAElB,MACJ51B,EAAAA,EAAAA,KAACovB,GAAqB,CAACC,sBAAuB+F,KAC9Cp1B,EAAAA,EAAAA,KAAC8vB,GAAU,CACT8G,YAAU,EACVtR,aAAa,MACbuR,SAAUnC,EAAQ0B,aAAa7B,GAAcx0B,UAE7CD,EAAAA,EAAAA,MAAC8iB,GAAAA,GAAI,CACHkU,WAAS,EACT3f,eAAe,SAAQpX,SAAA,EAEvBC,EAAAA,EAAAA,KAAC4wB,GAAW/a,GAAA,GAAKkf,EAAS,gBAC1B/0B,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAA,CACpBgL,wBAAsB,EACtBvI,KAAK,eACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAelX,cACnB+V,eAAgB7a,EAAoB8E,gBAGxCsZ,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5V,qBACnByU,eAAgB7a,EAAoBoG,uBAGxCyY,kBAAmBzC,EAAcJ,GAAelW,0BAChD6Y,aAAa,SACTrH,aAAM,EAANA,EAAQgd,gBAEdr2B,EAAAA,EAAAA,KAACunB,GAAkB1R,GAAA,CACjByC,KAAK,mBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepW,cACnBiV,eAAgB7a,EAAoB4F,gBAGxC+f,iBACE1nB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenW,wBACnBgV,eAAgB7a,EAAoB6F,0BAGxCuY,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3V,qBACnBwU,eAAgB7a,EAAoBqG,uBAGxCof,mBACExnB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1V,+BACnBuU,eAAgB7a,EAAoBsG,iCAGxCuY,kBAAmBzC,EAAcJ,GAAehW,0BAChD0f,4BAA6BtJ,EAAcJ,GAAe/V,qCACtDqR,aAAM,EAANA,EAAQid,mBAEbL,GAAmBj2B,EAAAA,EAAAA,KAACizB,GAAgB,CAAC3S,aAAcjH,SAAsB,QAAhB0a,EAAN1a,EAAQ0d,sBAAc,IAAAhD,OAAA,EAAtBA,EAAwBzT,eAAmB,KAE9FjH,SAAsB,QAAhB2a,EAAN3a,EAAQ0d,sBAAc,IAAA/C,IAAtBA,EAAwB3T,aAAgB8S,SAAAA,EAAUG,WA+C/C,MA9CFxzB,EAAAA,EAAAA,MAAAymB,EAAAA,SAAA,CAAAxmB,SAAA,CACGy0B,EAA2B,MAC1Bx0B,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAO3J,EAAO0d,eAAezW,cAAevgB,UAErDC,EAAAA,EAAAA,KAACijB,GAAAA,EAAG,CACFE,SAAU,IACVD,OAAO,SAAQnjB,UAEfC,EAAAA,EAAAA,KAACoxB,GAAiB,CAAC1F,QAAS,kBAAM+I,GAA6BD,EAAyB,EAACz0B,UACvFC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3W,4BACnBwV,eAAgB7a,EAAoBqF,qCAO9CpH,EAAAA,EAAAA,KAACg3B,GAAAA,EAAQ,CACPC,GAAIzC,EACJl0B,GAAI,CAAEH,MAAO,OAAQ6iB,MAAO3J,EAAO0d,eAAezW,cAAevgB,UAEjEC,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAA,CACpBuK,YAAU,EACV9H,KAAK,iBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe7W,uBACnB0V,eAAgB7a,EAAoBmF,yBAGxCiZ,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1W,8BACnBuV,eAAgB7a,EAAoBsF,gCAGxCqZ,aAAa,QACTrH,EAAO0d,uBAMnB/2B,EAAAA,EAAAA,KAAC+sB,GAAqBlX,GAAA,CACpByC,KAAK,WACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAerW,iBACnBkV,eAAgB7a,EAAoB2F,mBAGxCkZ,kBAAmBzC,EAAcJ,GAAejW,8BAC5CuR,aAAM,EAANA,EAAQ6d,WAEb7d,SAAuB,QAAjB4a,EAAN5a,EAAQ8d,uBAAe,IAAAlD,GAAvBA,EAAyBtV,WACxB3e,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAA0C,QAArCkR,EAAE7a,EAAO8d,gBAAgB7W,oBAAY,IAAA4T,EAAAA,EAAI,GAAIn0B,UAE3DC,EAAAA,EAAAA,KAACixB,GAAWpb,GAAAA,GAAA,CACVzV,QAAQ,WACJkhB,EAAe,yBAAuB,IAAAvhB,UAE1CC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAezW,oBACnBsV,eAAgB7a,EAAoBuF,oBACpCuV,OAAQ,CACNua,yBACEp3B,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYiY,wBAC7BpR,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAevW,6CACnBoV,eAAgB7a,EAAoByF,iDAI1C8vB,oBACEt3B,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYmY,mBAC7BtR,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAexW,wCACnBqV,eAAgB7a,EAAoBwF,oDAQhD,MACJvH,EAAAA,EAAAA,KAAC+vB,GAAala,GAAAA,GAAA,CACZzV,QAAQ,YACRwX,MAAM,UACNmH,KAAK,SAEL4F,SAAU,EACVF,UAAWuQ,GAAWE,GAAgBZ,GAClChT,EAAe,2BAAyB,IAAAvhB,UAE5CC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenX,eACnBgW,eAAgB7a,EAAoB6E,yBAK3C2vB,GACCz2B,EAAAA,EAAAA,MAAAymB,EAAAA,SAAA,CAAAxmB,SAAA,EACEC,EAAAA,EAAAA,KAACywB,GAAS,CAAA1wB,UACRC,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CAACnsB,QAAQ,QAAOL,UACzBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAetW,WACnBmV,eAAgB7a,EAAoB0F,kBAI1C3H,EAAAA,EAAAA,MAACowB,GAAa,CAAAnwB,SAAA,CACXsZ,SAAmB,QAAb8a,EAAN9a,EAAQqd,mBAAW,IAAAvC,GAAnBA,EAAqB9T,aACpBvgB,EAAAA,EAAAA,MAACuwB,GAAa,CACZzY,MAAM,UACNtX,GAAI,CAAE0iB,MAAO3J,EAAOqd,YAAYpW,cAChCmE,SAAUyQ,EACVvQ,SAAU+O,GAAmBra,EAAOqd,YAAYpW,cAChDoL,QAAS,kBAAMwK,EAAuB,SAAS,EAACn2B,SAAA,EAEhDC,EAAAA,EAAAA,KAAC2rB,GAAW,CAAA5rB,UACVC,EAAAA,EAAAA,KAACwvB,GAAU,OAEbxvB,EAAAA,EAAAA,KAACmwB,GAAQ,CAAC/vB,QAAQ,QAAOL,UACvBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/W,eACnB4V,eAAgB7a,EAAoBiF,sBAIxC,KACHqS,SAAkB,QAAZ+a,EAAN/a,EAAQmd,kBAAU,IAAApC,GAAlBA,EAAoB/T,aACnBvgB,EAAAA,EAAAA,MAACuwB,GAAa,CACZzY,MAAM,UACNtX,GAAI,CAAE0iB,MAAO3J,EAAOmd,WAAWlW,cAC/BmE,SAAUyQ,EACVvQ,SAAU+O,GAAmBra,EAAOmd,WAAWlW,cAC/CoL,QAAS,kBAAMwK,EAAuB,QAAQ,EAACn2B,SAAA,EAE/CC,EAAAA,EAAAA,KAAC2rB,GAAW,CAAA5rB,UACVC,EAAAA,EAAAA,KAACw3B,GAAAA,EAAK,CAACl3B,GAAI,CAAEqf,SAAU,aAEzB3f,EAAAA,EAAAA,KAACmwB,GAAQ,CAAC/vB,QAAQ,QAAOL,UACvBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepX,cACnBiW,eAAgB7a,EAAoB4E,qBAIxC,KACH0S,SAAqB,QAAfgb,EAANhb,EAAQod,qBAAa,IAAApC,GAArBA,EAAuBhU,aACtBvgB,EAAAA,EAAAA,MAACuwB,GAAa,CACZzY,MAAM,UACNtX,GAAI,CAAE0iB,MAAO3J,EAAOod,cAAcnW,cAClCmE,SAAUyQ,EACVvQ,SAAU+O,GAAmBra,EAAOod,cAAcnW,cAClDoL,QAAS,kBAAMwK,EAAuB,WAAW,EAACn2B,SAAA,EAElDC,EAAAA,EAAAA,KAAC2rB,GAAW,CAAA5rB,UACVC,EAAAA,EAAAA,KAACy3B,GAAAA,EAAQ,CAACn3B,GAAI,CAAEsX,MAAO,UAAW+H,SAAU,aAE9C3f,EAAAA,EAAAA,KAACmwB,GAAQ,CAAC/vB,QAAQ,QAAOL,UACvBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehX,iBACnB6V,eAAgB7a,EAAoBgF,wBAIxC,WAGN,QAGV,E,ykBC9VA,IAAM8rB,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQ,MAAQ,CAClD2Y,SAAU,WACVzY,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZD,cAAe,SACf84B,WAN0Cj5B,EAALC,MAMnBO,QAAQ,IAC3B,IAEK04B,IAAiBn5B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAO,GAAQ,MAAQ,CACnD6sB,UAD2C7sB,EAALL,MACrBO,QAAQ,GAC1B,IAEY24B,GAAc,WAAM,IAAAC,EACjBC,EAAuB5Z,KAA7B7F,KACR0f,GAAwCC,EAAAA,EAAAA,OAA1BC,EAAOF,EAAb1f,KAAe6f,EAAYH,EAAZG,aAEvBvhB,GAA0CG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAAlDwhB,EAAavhB,EAAA,GAAEwhB,EAAgBxhB,EAAA,GAEhCyhB,GAAeC,EAAAA,EAAAA,QAAkB,MAK/Bpc,EADJE,KADFL,QAAWE,iBAELC,oBAGKI,EACTI,KADFX,QAAWO,UAELC,EAA+BD,EAA/BC,aAAcE,EAAiBH,EAAjBG,aAEhB8b,EAAuB9b,aAAY,EAAZA,EAAcgF,MAAK,SAAC6T,GAAE,MAAsB,cAAjBA,EAAGnW,SAAyB,IAE9E+C,EAAejD,GAA2BsZ,aAAoB,EAApBA,EAAsBrZ,WAEtErK,EAAyDH,IAAjDX,EAAgBc,EAAhBd,iBAAkBE,EAAgBY,EAAhBZ,iBAAkBkf,EAAQte,EAARse,SAEtC3U,GAAMH,EAAAA,EAAAA,OAENma,GAAeN,IAAgBD,aAAO,EAAPA,EAASQ,UAAWR,EAAQ1U,YA2EjE,OACEzjB,EAAAA,EAAAA,MAAC+yB,GAAa,CAAA9yB,SAAA,EACZC,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,KACRE,GAAI,CAAEgxB,WAAY,QAClB1Z,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe9W,eACnB2V,eAAgB7a,EAAoBkF,mBAGvCsxB,GACCv4B,EAAAA,EAAAA,KAACmmB,GAAAA,EAAc,CAAC1kB,OAAK,EAAA1B,UACnBC,EAAAA,EAAAA,KAAC2c,GAAY9G,GAAA,GAAKqM,MAElB,MACJliB,EAAAA,EAAAA,KAAC2zB,GAAW,CACVta,OAAQye,EACRxD,gBAAiB6D,EACjB5D,aA7FsE7b,eAAOL,GAAS,IAAAqgB,EACpFC,QAAyC,QAA1BD,EAAML,EAAaO,eAAO,IAAAF,OAAA,EAApBA,EAAsBG,gBAE3Crf,EAAyC,CAC7C,iBAAkBmf,QAAAA,EAAgB,IAG9BG,EAAwC,UAAnBzgB,EAAK8d,WAA4C,cAAnB9d,EAAK8d,UAE9D,IACE,IAAM4C,EAAuDljB,GAAAA,GAAA,GACxDwC,GAAI,IACPge,aAAcyC,EAAqBzgB,EAAKge,kBAAexb,EACvDyb,iBAAkBwC,EAAqBzgB,EAAKie,sBAAmBzb,EAC/Dqc,SAAU4B,EAAqBzgB,EAAK6e,cAAWrc,EAC/CpH,WAAY0f,aAAQ,EAARA,EAAUG,WACtB0F,YAAa,UACbC,UAAW,IAAIC,KACfC,cAAehG,aAAQ,EAARA,EAAU4C,aACzBqD,cAAejG,aAAQ,EAARA,EAAUkG,iBACzBtlB,iBAAAA,IAEIulB,QAAuBC,EAAAA,EAAAA,KAA2B/a,EAAKua,EAAavf,GAEpEtF,EAAiBolB,EAAejhB,KAGtC,GAFe,IAAI6E,GAAqBoc,EAAe5b,QAE5CN,YAAa,KAAAoc,EACtBpB,GAAiB,GACb3b,GAAgBA,EAAa3b,OAAS,GACxCyb,EAAa,IAEf,IAAMkd,EAAc,GAAHt4B,OAAM8S,EAAgB,oBAAA9S,OAAmB+S,GAEpDwlB,EAAO5gB,SAAS6gB,cAAc,QAC9BzC,EAAWpe,SAAS6gB,cAAc,SACxCD,EAAKE,OAAS,OACdF,EAAKG,OAASJ,EACdC,EAAK3W,MAAMpkB,QAAU,OACrBu4B,EAAS5e,KAAO,WAChB4e,EAAS11B,MAAqB,QAAhBg4B,EAAGnhB,EAAK6e,gBAAQ,IAAAsC,EAAAA,EAAI,GAClCE,EAAKI,OAAO5C,GACZpe,SAASihB,KAAKD,OAAOJ,GACrBA,EAAKM,QACP,CACF,CAAE,MAAOv4B,GAAgB,IAAAw4B,EACjBC,EAAgBz4B,EACtB,IAA0B,QAAtBw4B,EAAAC,EAAc/gB,gBAAQ,IAAA8gB,OAAA,EAAtBA,EAAwBvc,UAAWT,EAAAA,IAAgBkd,oBAAqB,CAC1E,IAAQC,EAAWF,EAAc/gB,SAASd,KAAlC+hB,OACFC,EAAeD,aAAM,EAANA,EAAQtY,KAAI,SAACwT,GAAE,MAAM,CACxCnW,UAAWmW,EAAGgF,aACdpb,UAAWoW,EAAGiF,KACf,IACGF,SAAAA,EAAcv5B,QAAUu5B,EAAav5B,OAAS,EAChDyb,EAAa8d,GAEb9d,EAAa,GAEjB,MACEL,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehR,aACnB6P,eAAgB7a,EAAoBgL,eAGxCgS,KAAM/B,GAAYvb,OAGxB,CACF,IAwBK+2B,GACCx4B,EAAAA,EAAAA,KAAC23B,GAAc,CAAA53B,UACbC,EAAAA,EAAAA,KAACw6B,GAAAA,EAAS,CACRxW,IAAKqU,EACLoC,KAAK,YACLC,MAAM,SACNC,QAAwB,QAAjB9C,EAAEI,EAAQQ,eAAO,IAAAZ,EAAAA,EAAI,OAG9B,OAGV,E,WC3IO,IAAM+C,GAAqB,WAChC,IAAA/lB,EAAqCH,IAA7BZ,EAAMe,EAANf,OAAQC,EAAgBc,EAAhBd,iBACRoK,EAAkBH,KAAlBG,cACFC,GAAYC,EAAAA,EAAAA,OAKVnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAAC1G,EAAQC,EAAkB,oBAC3B2E,iBACE,IAAM6F,QAhCZ7F,eAAoC8F,EAAgB1K,EAAgBC,GAKlE,IACE,IAAMoF,QAAiB0hB,EAAAA,EAAAA,KAA8Drc,EAAK1K,EAAQC,GAElG,OAAO,IAAImJ,GACT/D,EAASuE,OACTvE,EAASd,KAEb,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAZkF,CACrGoc,uBAAuB,GAYzB,CACF,CAiB2BC,CAAqB3c,EAAWtK,EAAQC,GAC7D,GAAIwK,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,wCAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,GAGN,ECvCO,IAAMgc,GAAiB,SAACC,GAC7B,IAAQ/mB,EAAmBQ,IAAnBR,eACAiK,EAAkBH,KAAlBG,cACFK,GAAMH,EAAAA,EAAAA,OAIJnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAACtG,EAAgB+mB,EAAY,gBAC7BviB,iBACE,IAAM6F,QA5BZ7F,eAAgC8F,EAAgB0c,GAK9C,IACE,IAAM/hB,QAAiBgiB,EAAAA,EAAAA,KAAsC3c,EAAK0c,GAElE,OAAO,IAAIhe,GAAsE/D,EAASuE,OAAQvE,EAASd,KAC7G,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAT8D,CACjF0c,mBAAmB,GASrB,CACF,CAgB2BC,CAAiB7c,EAAKtK,GAC3C,GAAIqK,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,oCAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,GAGN,E,WCzDMsc,GAAwB,IAAIC,IAAoB,CACpD,CAAC,sBAAuB,wBACxB,CAAC,mBAAoB,iBACrB,CAAC,uBAAwB,qBACzB,CAAC,uBAAwB,SACzB,CAAC,aAAc,2BAWXC,GAAoB,SAACC,EAAiBC,EAAqBxnB,GAAsB,SAAA/S,OAClFs6B,EAAO,KAAAt6B,OATmB,SAACu6B,GAC9B,OAAIJ,GAAsBK,IAAID,GACrBJ,GAAsBje,IAAIqe,GAG5B,cACT,CAGgBE,CAAuBF,GAAY,iBAAAv6B,OAAgBu6B,EAAW,oBAAAv6B,OAAmB+S,EAAc,EAEzG2nB,GAAa,SAAC3nB,EAAwB4nB,GAC1C,IAAML,EAAUM,OAAOC,SAASC,OAASF,OAAOC,SAASE,SACzD,OAAKJ,EAIEN,GAAkBC,EAAQpS,QAAQ,OAAQ,IAAKyS,EAAM5nB,GAHnDunB,EAAUM,OAAOC,SAASG,MAIrC,EAEaC,GAA2B,SACtCpD,EACApe,EACA1G,GAEA,IAAMmoB,EAA8C,CAClDC,iBApCc,0BAqCdC,gBAAiBV,GAAW3nB,EAAgB0G,GAC5C4hB,eAAgBX,GAAW3nB,EAAgB8kB,IAGvC3O,EAAQ,IAAIoS,YAAmCC,GAAAA,EAAuB,CAC1EC,OAAQN,IAGVN,OAAOa,cAAcvS,EACvB,EC9CMwS,IAAer+B,EAAAA,EAAAA,GAAO,IAAPA,EAAY,SAAAC,GAAQ,MAAQ,CAC/CuhB,eAAgB,YAChBuR,OAAQ,UACR,UAAW,CACT3Z,MAJqCnZ,EAALC,MAInBkhB,QAAQsM,QAAQG,MAEhC,IAEKyQ,IAAkBt+B,EAAAA,EAAAA,GAAO6lB,GAAAA,EAAP7lB,CAAkB,CACxC,UAAW,CACTgZ,UAAW,UAEb0L,OAAQ,QACR/iB,MAAO,OACPgjB,SAAU,OACV3L,UAAW,WAGPqb,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAO,GAAQ,MAAQ,CAClDokB,SAAU,QACVyI,UAF0C7sB,EAALL,MAEpBO,QAAQ,IAC1B,IAEK89B,IAAav+B,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAW,GAAQ,MAAQ,CACpDysB,UAD4CzsB,EAALT,MACtBO,QAAQ,GAC1B,IAEK+9B,IAAUx+B,EAAAA,EAAAA,GAAO,MAAPA,CAAc,CAC5BG,QAAS,OACTwY,eAAgB,kBCnBL8lB,GAAuC,SAACp7B,GACnD,IAAQq7B,EAAuCr7B,EAAvCq7B,iBAER,OAF+Cr7B,EAArBs7B,kBAItBn9B,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3N,eACnBwM,eAAgB7a,EAAoBqO,kBAMxCpQ,EAAAA,EAAAA,KAAC68B,GAAY,CACXO,KAAK,eACL1R,QAASwR,EAAiBn9B,UAE1BC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAexX,4BACnBqW,eAAgB7a,EAAoBwE,+BAI5C,ECpBa82B,GAAyD,SAACx7B,GACrE,IAAQ+mB,EAAmF/mB,EAAnF+mB,MAAOrD,EAA4E1jB,EAA5E0jB,SAAU+X,EAAkEz7B,EAAlEy7B,YAAaC,EAAqD17B,EAArD07B,aAAcC,EAAuC37B,EAAvC27B,YAAaC,EAA0B57B,EAA1B47B,QAASvI,EAAiBrzB,EAAjBqzB,aAEpEwI,GAAuBpF,EAAAA,EAAAA,QAAgC,MAqC7D,OACEt4B,EAAAA,EAAAA,KAAC88B,GAAe,CACd/d,KAAK,OACL3e,QAAQ,WACRskB,WAAY,CAAElB,UAAW,EAAG8B,aAAc,MAAOV,UAAW,WAC5DW,SAxCkB,SAACoY,GACrBD,EAAqB9E,QAAU+E,EAC/BpY,EAASoY,EAAU/U,EACrB,EAsCInnB,MAAOg8B,EACPhZ,SAAUyQ,EACV0I,QAtC4B,SAAC5X,GAE/BA,EAAEC,OAAOzkB,MAAQwkB,EAAEC,OAAOzkB,MAAM0kB,WAAW,MAAO,IAC9CF,EAAEC,OAAOzkB,OACX87B,EAAY1U,EAEhB,EAiCIiV,UAzBkB,SAACxT,GAChBqT,EAAqB9E,UAIR,cAAdvO,EAAM9oB,KAAqC,WAAd8oB,EAAM9oB,MACjCm8B,EAAqB9E,QAAQp3B,MAC/Bk8B,EAAqB9E,QAAQp3B,MAAQ,IAErC6oB,EAAMyT,iBAENP,EAAa3U,KAGnB,EAYIiG,QAhCgB,WACd6O,EAAqB9E,SACvB8E,EAAqB9E,QAAQmF,QAEjC,EA6BIC,QAASR,GAGf,E,ykBCjDO,IAAMS,GAA2B,SAACp8B,GACvC,IAAQq8B,EAAiGr8B,EAAjGq8B,yBAA0BhB,EAAuEr7B,EAAvEq7B,iBAAkBiB,EAAqDt8B,EAArDs8B,iBAAkBhB,EAAmCt7B,EAAnCs7B,iBAAkBjI,EAAiBrzB,EAAjBqzB,aAElFkJ,GAAgB9F,EAAAA,EAAAA,QAA2B,IAEzChX,GAAmBD,EAAAA,GAAAA,KAAnBC,eAEF+c,EAAqBpf,GAA2Bkf,aAAgB,EAAhBA,EAAkBjf,WAElEof,GAAgBC,EAAAA,EAAAA,cAAY,WAE+B,IAAAC,EAA3DJ,EAAcxF,SAAWwF,EAAcxF,QAAQ93B,OAAS,IAClC,QAAxB09B,EAAAJ,EAAcxF,QAAQ,UAAE,IAAA4F,GAAxBA,EAA0BC,QAE9B,GAAG,KAEHvnB,EAAAA,EAAAA,YAAU,WACRonB,GACF,GAAG,CAACA,IAEJ,IAAMI,EAAiB,SAAC9V,GACtB,IAEiD+V,EAF3CC,EAAgBhW,EAAQ,EAE1BgW,GAAiB,GAAKR,EAAcxF,UACF,QAApC+F,EAAAP,EAAcxF,QAAQgG,UAAc,IAAAD,GAApCA,EAAsCF,QAE1C,EAEMI,EAAc,SAAClB,EAA4B/U,GAE3CwV,EAAcxF,UAChBwF,EAAcxF,QAAQhQ,GAAS+U,EAEnC,EAEMmB,EAAqB,WAAM,IAAAC,EAC3BC,EAMJ,GAHIZ,GAAiBA,EAAcxF,UACjCoG,EAAcZ,EAAcxF,QAAQ9W,KAAI,SAACmd,GAAK,OAAKA,EAAMz9B,KAAK,KAEjD,QAAfu9B,EAAIC,SAAW,IAAAD,GAAXA,EAAathB,OAAM,SAACjc,GAAK,OAAK+iB,QAAQ/iB,EAAM,IAAG,CACjD,IAAM09B,EAAOF,EAAY/c,KAAK,IAC9Bic,EAAyBgB,EAC3B,CACF,EAEMC,EAAgB,SAACvW,GACrB,IAE2EwW,EAFrER,EAAgBhW,EAAQ,EAE1BwV,EAAcxF,SAAWgG,EAAgBR,EAAcxF,QAAQ93B,OAC7B,QAApCs+B,EAAAhB,EAAcxF,QAAQgG,UAAc,IAAAQ,GAApCA,EAAsCX,QAEtCK,GAEJ,EACMd,EAAU,SAAC3T,GACf,IAAMgV,EAAahV,EAAMiV,cAAcC,QAAQ,cACzCC,EAAapB,EAAcxF,QAAQ93B,OAEnC2+B,EAAYJ,EAAWxd,MAAM,IAAI+I,MAAM,EAAG4U,GAChDpB,EAAcxF,QAAQ8G,SAAQ,SAACC,EAAc/W,GACvC6W,EAAU7W,KAAWgX,OAAOC,MAAMD,OAAOH,EAAU7W,OAErD+W,EAAan+B,MAAQi+B,EAAU7W,GAEnC,IAEIwV,EAAcxF,QAAQ93B,QACxBg+B,GAEJ,EAuBA,OACE9+B,EAAAA,EAAAA,KAAC6yB,GAAa,CAAA9yB,UACZD,EAAAA,EAAAA,MAAA,QAAAC,SAAA,EANAC,EAAAA,EAAAA,KAACg9B,GAAO,CAAAj9B,SAAEiB,MAAM8+B,KAAK,CAAEh/B,OAHN,IAG4BghB,KAAI,SAACie,EAAInX,GAAK,OAjB3B,SAACA,GAAa,OAChD5oB,EAAAA,EAAAA,KAACq9B,GAAqB,CAEpBzU,MAAOA,EACP0U,YAAa6B,EACb5B,aAAcmB,EACdnZ,SAAUsZ,EACVrB,YAAaQ,EACbP,QAASlZ,QAAQ4Z,GACjBjJ,aAAcA,GAPTtM,EAQL,CAOgEoX,CAA4BpX,EAAM,MAQ/FuV,GACCn+B,EAAAA,EAAAA,KAACgvB,GAAgBnZ,GAAAA,GAAA,GAAKyL,EAAe,+BAA6B,IAAAvhB,UAChEC,EAAAA,EAAAA,KAACivB,GAAiB,CAEhBxtB,OAAK,EAAA1B,UAELC,EAAAA,EAAAA,KAAC2c,GAAY9G,GAAA,GAAKwoB,KAHbF,EAAiBjf,cAMxB,MACJlf,EAAAA,EAAAA,KAAC+8B,GAAU,CACTkD,WAAS,EACTxM,MAAM,SAAQ1zB,UAEdC,EAAAA,EAAAA,KAACi9B,GAAU,CACTC,iBAAkBA,EAClBC,iBAAkBA,UAM9B,EC3IatK,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CACzD0Y,SAAU,WACVzY,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZD,cAAe,SACfuB,MAAO,OACR,IAEY+/B,IAAc1hC,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAO,GAAQ,MAAQ,CAC5D4xB,aADoD5xB,EAALL,MAC3BO,QAAQ,GAC5BqyB,WAAY,OACZ9Z,UAAW,SACZ,I,ykBCOD,IAAM2oB,IAAiB3hC,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAC,GAAQ,MAAQ,CACxDyB,OAAQ,OACRywB,aAFgDlyB,EAALC,MAEvBO,QAAQ,IAC5BuY,UAAW,SACZ,IAEKuY,IAAgBvxB,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAO,GAAQ,MAAQ,CACnDkxB,SAAU,QACVrE,UAF2C7sB,EAALL,MAErBO,QAAQ,IAC1B,IAEK6wB,IAAatxB,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAAW,GAAQ,MAAQ,CAChDR,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZD,cAAe,SACfuB,MAAO,OACPgjB,SAAU,QACVyI,UAPwCzsB,EAALT,MAOlBO,QAAQ,GAC1B,IAEKmhC,IAAsB5hC,EAAAA,EAAAA,GAAOokB,GAAAA,GAAPpkB,EAAa,SAAAa,GAAQ,MAAQ,CACvDsxB,aAD+CtxB,EAALX,MACtBO,QAAQ,IAC7B,IAMYohC,GAA6D,SAACx+B,GAAU,IAAAy+B,EAC3EC,EAAyB1+B,EAAzB0+B,qBACMC,EAAoB5F,KAA1BviB,KACMooB,EAAgBzF,KAAtB3iB,KAEAiJ,GAAmBD,EAAAA,GAAAA,KAAnBC,eAEFoT,GAAUC,EAAAA,GAAAA,IAAkE,CAChFC,eAAgB,WAChBC,KAAM,WAIAK,EADcR,EAAdI,UACAI,aAEA/W,EAAkBH,KAAlBG,cAEFK,GAAMH,EAAAA,EAAAA,OAEJnK,EAAmBQ,IAAnBR,eAKAqI,EADJG,KADFX,QAAWO,UAELC,aAKAL,EADJE,KADFL,QAAWE,iBAELC,oBA6CFwkB,GA3CsBF,SAAsB,QAAPF,EAAfE,EAAiBG,aAAK,IAAAL,OAAA,EAAtBA,EAAwBjgB,cA4ClDvgB,EAAAA,EAAAA,MAACsgC,GAAmB,CAClBtJ,WAAS,EACT3f,eAAe,SAAQpX,SAAA,EAEvBC,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJC,GAAI,GAAG/iB,UAEPC,EAAAA,EAAAA,KAACkgC,GAAW,CACV9/B,QAAQ,KACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAejb,yBACnB8Z,eAAgB7a,EAAoBe,gCAI1C9C,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJC,GAAI,GAAG/iB,UAEPC,EAAAA,EAAAA,KAACmgC,GAAc,CACb//B,QAAQ,YACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepb,+BACnBia,eAAgB7a,EAAoBY,sCAK1C3C,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAA,CACpBgL,wBAAsB,EACtBvI,KAAK,eACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenb,yBACnBga,eAAgB7a,EAAoBa,2BAGxCud,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehb,2BACnB6Z,eAAgB7a,EAAoBgB,6BAGxC6d,kBAAmBzC,EAAcJ,GAAelb,gCAChD6d,aAAa,SACT8f,EAAgBG,YAIxB7gC,EAAAA,EAAAA,MAACsgC,GAAmB,CAClBtJ,WAAS,EACT3f,eAAe,SAAQpX,SAAA,EAEvBC,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJC,GAAI,GAAG/iB,UAEPC,EAAAA,EAAAA,KAACkgC,GAAW,CACV9/B,QAAQ,KACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe7X,yBACnB0W,eAAgB7a,EAAoBmE,gCAK1ClG,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJC,GAAI,GAAG/iB,UAEPC,EAAAA,EAAAA,KAACmgC,GAAc,CACb//B,QAAQ,YACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAelY,+BACnB+W,eAAgB7a,EAAoB8D,sCAI1C7F,EAAAA,EAAAA,KAACunB,GAAkB1R,GAAA,CACjByC,KAAK,mBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAejY,yBACnB8W,eAAgB7a,EAAoB+D,2BAGxC4hB,iBACE1nB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehY,mCACnB6W,eAAgB7a,EAAoBgE,qCAGxCoa,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5X,2BACnByW,eAAgB7a,EAAoBoE,6BAGxCqhB,mBACExnB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3X,qCACnBwW,eAAgB7a,EAAoBqE,uCAGxCwa,kBAAmBzC,EAAcJ,GAAe/X,gCAChDyhB,4BAA6BtJ,EAAcJ,GAAe9X,2CACtDu6B,aAAe,EAAfA,EAAiBI,eAK3B,OACE5gC,EAAAA,EAAAA,KAAC22B,GAAAA,GAAY9gB,GAAAA,GAAA,GAAK6e,GAAO,IAAA30B,UACvBD,EAAAA,EAAAA,MAACgwB,GAAU,CACT8G,YAAU,EACVC,SAAUnC,EAAQ0B,cA1K6E1d,eAAOL,GAC1G,IAAMwoB,EAAqEhrB,GAAAA,GAAA,GACtEwC,GAAI,IACP+iB,kBAAmB7W,QAAQkc,aAAW,EAAXA,EAAarF,qBAE1C,IACE,IAAM0F,QAA8BC,EAAAA,EAAAA,KAAyCviB,EAAKtK,EAAgB2sB,GAEnF,IAAI3jB,GAAqB4jB,EAAsBpjB,QAEnDN,aACTmjB,GAEJ,CAAE,MAAO9+B,GAAgB,IAAAw4B,EACjBC,EAAgBz4B,EACtB,IAA0B,QAAtBw4B,EAAAC,EAAc/gB,gBAAQ,IAAA8gB,OAAA,EAAtBA,EAAwBvc,UAAWT,EAAAA,IAAgBkd,oBAAqB,CAC1E,IAAQC,EAAWF,EAAc/gB,SAASd,KAAlC+hB,OACFC,EAAeD,aAAM,EAANA,EAAQtY,KAAI,SAACwT,GAAE,MAAM,CACxCnW,UAAWmW,EAAGgF,aACdpb,UAAWoW,EAAGiF,KACf,IACGF,SAAAA,EAAcv5B,QAAUu5B,EAAav5B,OAAS,EAChDyb,EAAa8d,GAEb9d,EAAa,GAEjB,MACEL,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehR,aACnB6P,eAAgB7a,EAAoBgL,eAGxCgS,KAAM/B,GAAYvb,OAGxB,CACF,IAmI0D1B,SAAA,CAEnD2gC,GACD1gC,EAAAA,EAAAA,KAAC+vB,GAAala,GAAAA,GAAA,CACZzV,QAAQ,YACRwX,MAAM,UACNmH,KAAK,SACL0F,SAAUyQ,GACN5T,EAAe,8BAA4B,IAAAvhB,UAE/CC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAexV,2BACnBqU,eAAgB7a,EAAoBwG,qCAMhD,EC7QMy4B,IAAaxiC,EAAAA,EAAAA,GAAO,MAAPA,CAAc,CAC/BG,QAAS,OACTC,cAAe,SACfC,WAAY,SACZsY,eAAgB,SAChBC,SAAU,WACVC,IAAK,MACLC,KAAM,MACNC,UAAW,wBACXC,UAAW,WAGAypB,IAAsBvpB,EAAAA,EAAAA,OAAK,kBACtC1X,EAAAA,EAAAA,KAACghC,GAAU,CAAAjhC,UACTC,EAAAA,EAAAA,KAAC2X,GAAAA,EAAgB,CACfC,MAAM,UACNtX,GAAI,CACF,6BAA8B,CAC5BsX,MAAO,eAIF,ICCTib,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQ,MAAQ,CAClD2Y,SAAU,WACVzY,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZD,cAAe,SACfuB,MAAO,OACPgjB,SAAU,QACVD,OAAQ,SACR0I,UAT0CntB,EAALC,MASpBO,QAAQ,GAC1B,IAEKiiC,IAAgB1iC,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAO,GAAQA,EAALL,MAAK,MAAQ,CAClD0Y,SAAU,WACVzY,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZD,cAAe,SAChB,IAEKuiC,IAAmB3iC,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAW,GAAQ,MAAQ,CACrDR,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZD,cAAe,SACf4Y,UAAW,SACXoU,UAN6CzsB,EAALT,MAMvBO,QAAQ,GAC1B,IAEKkhC,IAAiB3hC,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAa,GAAQ,MAAQ,CACxDsxB,aADgDtxB,EAALX,MACvBO,QAAQ,GAC7B,IAEKmiC,IAAmB5iC,EAAAA,EAAAA,GAAO6iC,GAAAA,EAAP7iC,EAAoB,SAAAe,GAAQ,MAAQ,CAC3DogB,SAAU,OACV/H,MAFmDrY,EAALb,MAEjCkhB,QAAQC,KAAKyhB,KAC3B,IAEKC,IAA0B/iC,EAAAA,EAAAA,GAAOstB,GAAAA,EAAPttB,EAA0B,SAAA8xB,GAAQ,MAAQ,CACxE3Q,SAAU,OACV/H,MAFgE0Y,EAAL5xB,MAE9CkhB,QAAQsM,QAAQnM,KAC9B,IAMYyhB,GAA+C,SAAC3/B,GAAU,IAAAy+B,EAAAmB,EAAAC,EAC7DC,EAAwB9/B,EAAxB8/B,oBAERhrB,GAA4CG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAApDirB,EAAchrB,EAAA,GAAEirB,EAAiBjrB,EAAA,GACxC8E,GAAgD5E,EAAAA,EAAAA,WAAS,GAAM6E,GAAA3E,EAAAA,GAAAA,GAAA0E,EAAA,GAAxDomB,EAAgBnmB,EAAA,GAAEomB,EAAmBpmB,EAAA,GAC5CC,GAAoC9E,EAAAA,EAAAA,WAAS,GAAM+E,GAAA7E,EAAAA,GAAAA,GAAA4E,EAAA,GAA5ComB,EAAUnmB,EAAA,GAAEomB,EAAapmB,EAAA,GAChCqmB,GAAwCprB,EAAAA,EAAAA,WAAS,GAAMqrB,GAAAnrB,EAAAA,GAAAA,GAAAkrB,EAAA,GAAhDhN,EAAYiN,EAAA,GAAEC,EAAeD,EAAA,GAEpCE,GAA4CvrB,EAAAA,EAAAA,WAAS,GAAMwrB,GAAAtrB,EAAAA,GAAAA,GAAAqrB,EAAA,GAApDE,EAAcD,EAAA,GAAEE,EAAiBF,EAAA,GAE1B9B,EAAoB5F,KAA1BviB,KACMooB,EAAgBzF,GAAe8G,GAArCzpB,KAEFmG,GAAMH,EAAAA,EAAAA,OAEJnK,EAAmBQ,IAAnBR,eAGKoI,EACTI,KADFX,QAAWO,UAELG,EAA+BH,EAA/BG,aAAcF,EAAiBD,EAAjBC,aAKdL,EADJE,KADFL,QAAWE,iBAELC,oBAIAvB,EADJI,KADFC,4BAA+BN,yBAEzBC,gBAEF8nB,EAAsBjC,SAAsB,QAAPF,EAAfE,EAAiBG,aAAK,IAAAL,OAAA,EAAtBA,EAAwBjgB,YAC9CiW,EAAgD,QAAhCmL,EAAGhB,aAAW,EAAXA,EAAanK,wBAAgB,IAAAmL,EAAAA,EAAI,GACpDpL,EAAwC,QAA5BqL,EAAGjB,aAAW,EAAXA,EAAapK,oBAAY,IAAAqL,EAAAA,EAAI,GAE5CgB,EAA8BpM,GAAoBD,EAElD8H,EAAmB1hB,aAAY,EAAZA,EAAcgF,MAAK,SAAC6T,GAAE,MAAsB,qBAAjBA,EAAGnW,SAAgC,KAEvFjI,EAAAA,EAAAA,YAAU,WACRklB,GAAyB,2BAAuBvhB,EAAW3G,GAC3DyG,EAAgB,sBAElB,GAAG,IAEH,IAwFM+lB,EAAU+B,GACd3iC,EAAAA,EAAAA,MAACqhC,GAAgB,CAAAphC,SAAA,EACfC,EAAAA,EAAAA,KAACkgC,GAAW,CACV9/B,QAAQ,KACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/a,yBACnB4Z,eAAgB7a,EAAoBiB,8BAGxChD,EAAAA,EAAAA,KAACmgC,GAAc,CACb//B,QAAQ,YACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5a,uBACnByZ,eAAgB7a,EAAoBoB,uBACpC0Z,OAAQ,CAAEwZ,aAAAA,WAKhBv2B,EAAAA,EAAAA,MAACqhC,GAAgB,CAAAphC,SAAA,EACfC,EAAAA,EAAAA,KAACkgC,GAAW,CACV9/B,QAAQ,KACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1X,yBACnBuW,eAAgB7a,EAAoBsE,8BAGxCrG,EAAAA,EAAAA,KAACmgC,GAAc,CACb//B,QAAQ,YACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAevX,uBACnBoW,eAAgB7a,EAAoByE,uBACpCqW,OAAQ,CAAEyZ,iBAAAA,UAMlB,OAAKmK,GAKH3gC,EAAAA,EAAAA,MAAC+yB,GAAa,CAAA9yB,SAAA,CACX6hC,GAAiB5hC,EAAAA,EAAAA,KAACihC,GAAmB,IAAM,KAC3Ce,GAAahiC,EAAAA,EAAAA,KAACuhC,GAAuB,KAAMvhC,EAAAA,EAAAA,KAACohC,GAAgB,IAC3DsB,GAAgCZ,GAGhChiC,EAAAA,EAAAA,MAACohC,GAAa,CAAAnhC,SAAA,CACX2gC,GACD1gC,EAAAA,EAAAA,KAACi+B,GAAM,CACLE,iBAAkBA,EAClBD,yBArJuBxlB,eAAOwmB,GACtCkD,GAAgB,GAChB,IACE,IAAMO,QAA8BC,EAAAA,EAAAA,KAAqDpkB,EAAKtK,EAAgB,CAC5G2uB,iBAAkB3D,IAEL,IAAIhiB,GAAqBylB,EAAsBjlB,QAEnDN,cACTykB,GAAkB,GAElBiB,YAAW,WACTjB,GAAkB,GAClBI,GAAc,GACda,YAAW,WACTnB,IACAplB,EAAa,GACf,GAAG,IACL,GAAG,KAEP,CAAE,MAAO9a,GAAgB,IAAAw4B,EACjBC,EAAgBz4B,EACtB,IAA0B,QAAtBw4B,EAAAC,EAAc/gB,gBAAQ,IAAA8gB,OAAA,EAAtBA,EAAwBvc,UAAWT,EAAAA,IAAgBkd,oBAAqB,CAC1E,IAAQC,EAAWF,EAAc/gB,SAASd,KAAlC+hB,OACFC,EAAeD,aAAM,EAANA,EAAQtY,KAAI,SAACwT,GAAE,MAAM,CACxCnW,UAAWmW,EAAGgF,aACdpb,UAAWoW,EAAGiF,KACf,IACGF,SAAAA,EAAcv5B,QAAUu5B,EAAav5B,OAAS,EAChDyb,EAAa8d,GAEb9d,EAAa,GAEjB,MACEL,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/Q,aACnB4P,eAAgB7a,EAAoBiL,eAGxC+R,KAAM/B,GAAYvb,OAGxB,CACA2gC,GAAgB,EAClB,EAuGUlF,iBArGexkB,eAAO2R,GAO9B,GANAA,EAAMyT,iBAEN0E,GAAkB,GAClBM,YAAW,WACTN,GAAkB,EACpB,GAAG,KACC/B,EACF,IACE,IAAMsC,QAA2BhC,EAAAA,EAAAA,KAAyCviB,EAAKtK,EAAgBusB,GAChF,IAAIvjB,GAAqB6lB,EAAmBrlB,QAEhDN,aACTlB,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/M,cACnB4L,eAAgB7a,EAAoBiP,gBAGxC+N,UAAMlE,GAGZ,CAAE,MAAOpZ,GACPya,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAejR,aACnB8P,eAAgB7a,EAAoB+K,eAGxCiS,KAAM/B,GAAYvb,OAEtB,CAEJ,EAiEUyzB,aAAcA,EACdiI,iBAAkBoF,QATtBviC,EAAAA,EAAAA,KAACqgC,GAAuB,CAACE,qBAAsB,kBAAMwB,GAAoB,EAAK,QAR3E/hC,EAAAA,EAAAA,KAACR,EAAa,GAuBzB,E,ykBCvQA,IAAMwjC,IAAqBxkC,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAC,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CAC5DiyB,aAAcjyB,EAAMO,QAAQ,GAC5B2sB,UAAWltB,EAAMO,QAAQ,GACzBqyB,WAAY,OACb,IAEK2R,IAAiBzkC,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAO,GAAQ,MAAQ,CACnDJ,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZD,cAAe,SACfsB,OAAQ,OACR0rB,UAN2C7sB,EAALL,MAMrBO,QAAQ,GAC1B,IAEKikC,IAAsB1kC,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAW,GAAQ,MAAQ,CACzD8wB,SAAU,QACVrE,UAFiDzsB,EAALT,MAE3BO,QAAQ,GAC1B,IAEKkkC,IAAmB3kC,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAa,GAAA,IAAGX,EAAKW,EAALX,MAAK,MAAQ,CACtDuxB,SAAU,QACVrE,UAAWltB,EAAMO,QAAQ,GACzBmkC,gBAAiB,UACjBxrB,MAAOlZ,EAAMkhB,QAAQsM,QAAQG,KAC9B,IAEKkV,IAA0B/iC,EAAAA,EAAAA,GAAOstB,GAAAA,EAAPttB,EAA0B,SAAAe,GAAQ,MAAQ,CACxEogB,SAAU,OACV/H,MAFgErY,EAALb,MAE9CkhB,QAAQsM,QAAQnM,KAC9B,IAEYsjB,GAAkB,WAC7B,ICxCMC,EACAC,EDuCN1uB,EAAyDH,IAAjDV,EAAoBa,EAApBb,qBAAsBE,EAAcW,EAAdX,eAAgBJ,EAAMe,EAANf,OAC9C6C,GAAoDG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAA5D6sB,EAAkB5sB,EAAA,GAAE6sB,EAAqB7sB,EAAA,GACxC0K,GAAmBD,EAAAA,GAAAA,KAAnBC,eACAoiB,GC3CFJ,EAAQ,mBAAmBzY,KAAK5R,UAAU0qB,aAAe5H,OAAO6H,SAChEL,EAAY,aAAa1Y,KAAK5R,UAAU0qB,WAEvC,CACLD,wBAAyBJ,GAASC,IDuC5BG,wBAGwB9oB,EAE5BG,KAHFC,4BACEN,yBAA4BE,aAGlBipB,GAAgBC,EAAAA,EAAAA,KAAwChwB,EAAQ,CAC5EiwB,eAAe,EACfC,kBAAmB,QAFb3rB,KAkCR,OAfAnB,EAAAA,EAAAA,YAAU,WACRklB,GAAyB,aAAcxhB,EAAc1G,EAEvD,GAAG,KAEHgD,EAAAA,EAAAA,YAAU,WAER,IAAM+sB,EAAuB,WAC3BR,GAAsB,EACxB,EAGA,OAFA1H,OAAOmI,iBAAiB,mBAAoBD,GAErC,kBAAMlI,OAAOoI,oBAAoB,mBAAoBF,EAAqB,CACnF,GAAG,KAGDnkC,EAAAA,EAAAA,MAACmjC,GAAc,CAAAljC,SAAA,EACbC,EAAAA,EAAAA,KAACuhC,GAAuB,KACxBvhC,EAAAA,EAAAA,KAACgjC,GAAkB,CACjB5iC,QAAQ,KACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAelS,eACnB+Q,eAAgB7a,EAAoB8J,oBAGxC7L,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,YACRwX,MAAM,cACNJ,UAAU,SAAQzX,UAElBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAejS,aACnB8Q,eAAgB7a,EAAoB+J,kBAGxC9L,EAAAA,EAAAA,KAACkjC,GAAmBrtB,GAAAA,GAAA,CAClBzV,QAAQ,YACRwX,MAAM,UACN6M,SAAU+e,EACV9X,QAAS,WAtDT1X,IACFyvB,GAAsB,GACtB1H,OAAOC,SAAS3V,KAAOrS,EAoDqB,GACtCsN,EAAe,6BAA2B,IAAAvhB,UAE9CC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenS,eACnBgR,eAAgB7a,EAAoB6J,oBAGvC83B,GACC1jC,EAAAA,EAAAA,KAACmjC,GAAgBttB,GAAAA,GAAA,CACfzV,QAAQ,YACRwX,MAAM,UACN6M,SAAU+e,EACV9X,QAAS,WA5DXmY,SAAAA,EAAaO,OACfX,GAAsB,GACtB1H,OAAOC,SAAS3V,KAAOwd,EAAYO,KA0DK,GAChC9iB,EAAe,6BAA2B,IAAAvhB,UAE9CC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepS,YACnBiR,eAAgB7a,EAAoB4J,iBAGtC,OAGV,E,ymBErIA,IAAMknB,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CAClDC,QAAS,OACTwY,eAAgB,SAChBktB,SAAU,OACVzY,UAAWltB,EAAMO,QAAQ,GACzB0xB,aAAcjyB,EAAMO,QAAQ,GAC7B,IAEKqlC,IAAa9lC,EAAAA,EAAAA,GAAO+lC,GAAAA,EAAP/lC,EAAa,SAAAO,GAAQA,EAALL,MAAK,MAAQ,CAC9C8Y,UAAW,SACZ,IAOYgtB,GAA6B,SAAC3iC,GACzC,IAAQ4iC,EAAwC5iC,EAAxC4iC,MAAOC,EAAiC7iC,EAAjC6iC,cAAeC,EAAkB9iC,EAAlB8iC,cAEjBzpB,EACTY,KADFC,QAAWb,YAELE,EAA+CF,EAA/CE,WAAYD,EAAmCD,EAAnCC,cAAeE,EAAoBH,EAApBG,gBAC3BiG,GAAmBD,EAAAA,GAAAA,KAAnBC,eASFsjB,EAAeH,EAAM3jC,OAAS,EAAI,GAAHK,OAAqB,IAAfsjC,EAAM3jC,OAAe,GAAE,MAAO,OAEzE,OACEd,EAAAA,EAAAA,KAAC6yB,GAAa,CAAA9yB,SACX0kC,EAAM3jC,OAAS,IACdd,EAAAA,EAAAA,KAAC6kC,GAAAA,EAAUhvB,GAAAA,GAAA,GACLyL,EAAe,YAAU,IAC7BlG,WAAYA,EACZ2H,MAAO,CAAE5iB,MAAOykC,GAAe7kC,SAE9B0kC,EAAM3iB,KAAI,SAAC5B,EAAO0I,GAAK,OACtBkc,EAAAA,EAAAA,eAACR,GAAUzuB,GAAAA,GAAA,GACLyL,EAAe,iBAAe,IAClC/f,IAAK2e,EACLwL,QAAS,kBArBKqZ,EAqBkBnc,OApBtC+b,IACFtpB,GAAgB,GAChBF,EAAc4pB,KAHO,IAACA,CAqBwB,KAEtC/kC,EAAAA,EAAAA,KAACglC,GAAAA,EAASnvB,GAAAA,GAAA,GAAKyL,EAAe,uBAAqB,IAAAvhB,SAChD2kC,GAAgB1kC,EAAAA,EAAAA,KAAA,MAAA6V,GAAAA,GAAA,GAASyL,EAAe,4BAA0B,IAAAvhB,SAAE,WAAc,QAE1E,QAMzB,EC5BO,IAAMklC,GAAsB,WACjC,IAAApwB,EAAqCH,IAA7BZ,EAAMe,EAANf,OAAQC,EAAgBc,EAAhBd,iBACRoK,EAAkBH,KAAlBG,cACFC,GAAYC,EAAAA,EAAAA,OAKVnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAAC1G,EAAQC,EAAkB,qBAC3B2E,iBACE,IAAM6F,QAlCZ7F,eAAqC8F,EAAgB1K,EAAgBC,GAGnE,IACE,IAAMoF,QAAiB+rB,EAAAA,EAAAA,KACrB1mB,EACA1K,EACAC,GAGF,OAAO,IAAImJ,GACT/D,EAASuE,OACTvE,EAASd,KAEb,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAdoF,CAAC,EAe1G,CACF,CAiB2BymB,CAAsB/mB,EAAWtK,EAAQC,GAC9D,GAAIwK,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,yCAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,GAGN,EC3CO,IAAMomB,GAAkB,WAC7B,IAAQlxB,EAAmBQ,IAAnBR,eACAiK,EAAkBH,KAAlBG,cACFK,GAAMH,EAAAA,EAAAA,OAIJnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAACtG,EAAgB,iBACjBwE,iBACE,IAAM6F,QA1BZ7F,eAAiC8F,EAAgB0c,GAG/C,IACE,IAAM/hB,QAAiBksB,EAAAA,EAAAA,KAAuC7mB,EAAK0c,GAEnE,OAAO,IAAIhe,GAAuE/D,EAASuE,OAAQvE,EAASd,KAC9G,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAPgE,CAAC,EAQtF,CACF,CAgB2B4mB,CAAkB9mB,EAAKtK,GAE5C,GAAIqK,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,qCAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,EACAumB,mBAAmB,GAGzB,EC5DaC,GAA0B,WACrC1sB,SAASihB,KAAK0L,UAAY,EAC1B3sB,SAASC,gBAAgB0sB,UAAY,CACvC,EC0BaC,GAAoB,IArBK,kBAAApkC,EAAAA,EAAAA,IAAA,SAAAqkC,KAAAhlC,EAAAA,EAAAA,GAAA,KAAAglC,EAAA,KAAApkC,IAAA,qBAAAC,MACpC,SAAmB0e,GACjB,IAAM0lB,EAAqC,CACzCC,IAAK9nB,GAAepP,eACpBm3B,MAAO/nB,GAAenP,iBACtBm3B,MAAOhoB,GAAelP,iBACtBm3B,SAAU9lB,GAGN3e,EAAO2e,KAAS0lB,EAAaA,EAAW1lB,GAAS0lB,EAAWI,SAElE,OACEhmC,EAAAA,EAAAA,KAAC2c,GAAY,CACXC,eAAgBrb,EAEhB0W,GAAI1W,QAAAA,EAAO,IAGjB,IAAC,CAlBmC,I,0uBC0BtC,IAAM0kC,IAAgBznC,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQ,MAAQ,CAClDE,QAAS,OACTE,WAAY,SACZ+sB,UAH0CntB,EAALC,MAGpBO,QAAQ,GAC1B,IAEYinC,GAA6D,SAACrkC,GAAU,IAAAskC,EAEjF7tB,EAaEzW,EAbFyW,KACA4H,EAYEre,EAZFqe,MACAiF,EAWEtjB,EAXFsjB,MACA/E,EAUEve,EAVFue,WACAC,EASExe,EATFwe,YACAC,EAQEze,EARFye,aACAlH,EAOEvX,EAPFuX,QACAmH,EAME1e,EANF0e,WACAC,EAKE3e,EALF2e,aACAC,EAIE5e,EAJF4e,uBACA6D,EAGEziB,EAHFyiB,YACA8hB,EAEEvkC,EAFFukC,YACGC,GAAW/sB,EAAAA,GAAAA,GACZzX,EAAK0X,IAET6H,GAAsCC,EAAAA,GAAAA,KAA9BC,EAAcF,EAAdE,eAAgBC,EAASH,EAATG,UAKhB9E,EADJC,KADFX,QAAWO,UAELG,aAEF+E,EAAc/E,aAAY,EAAZA,EAAcgF,MAAK,SAAChgB,GAAK,IAAAigB,EAAA,OAAoB,QAAfA,EAAAjgB,EAAM0d,iBAAS,IAAAuC,OAAA,EAAfA,EAAiBC,iBAAkBrJ,EAAKqJ,aAAa,IAEjGO,EAAejD,GAA2BuC,aAAW,EAAXA,EAAatC,WAEvDiD,EAAe5B,SAAAA,EAAY6B,kBAAoB,IAAIC,OAAO9B,EAAW6B,wBAAqBvH,EAE1F8N,EAAqB,SAAC5G,EAAqB6G,GAAa,OAC5D5oB,EAAAA,EAAAA,KAAC6oB,GAAAA,EAAQhT,GAAAA,GAAA,CAEPrU,MAAOugB,EAAKvgB,OACR8f,EAAe,wBAAsB,IAAAvhB,SAExCgiB,EAAK7B,QAJD0I,EAKI,EAGPP,EAA+C,QAA/B8d,EAAGE,EAAYhe,wBAAgB,IAAA8d,OAAA,EAA5BA,EAA8BrkB,KAAI,SAACwG,GAAG,MAAM,CACnEpI,MAAOkmB,EAAcA,EAAYE,mBAAmBhe,GAAOA,EAC3D9mB,MAAO8mB,EACR,IACKie,EAAiBle,SAAAA,EAAkBvnB,OAASunB,EAAmBjP,EAG/DsJ,EAA0C,iBAAjBpC,EAA4BA,EAAe,EAAIA,EA+ExEqC,EAAiBtC,IA5ErBrgB,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAO1C,EAAc9I,UAAW,QAASzX,UAElDD,EAAAA,EAAAA,MAACmjB,GAAAA,EAAG,CACFC,OAAO,cACPC,SAAU,IAAIpjB,SAAA,CAEbolB,GACCnlB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU1W,GAAAA,GAAA,CACTzV,QAAQ,QACRwX,MAAM,cACNtX,GAAI,CAAEgxB,WAAY,OAAQX,aAAc,OAAQnZ,UAAW,SACvD8J,EAAe,GAADngB,OAAImX,EAAI,yBAAsB,IAAAvY,SAE/ColB,KAED,MACJnlB,EAAAA,EAAAA,KAACojB,GAAAA,GAAU,CACT9K,KAAMA,EACN+K,MAAO,CACLC,SAAU/C,aAAU,EAAVA,EAAYgD,YACtBC,UAAWjD,aAAU,EAAVA,EAAYiD,UACvBC,UAAWlD,aAAU,EAAVA,EAAYkD,UACvBC,QAASvB,GAEXwB,aAAcnD,EACdoD,OAAQ,SAAA7kB,GAAA,IAAGglB,EAAKhlB,EAALglB,MAAOG,EAAUnlB,EAAVmlB,WAAU,OAC1BpkB,EAAAA,EAAAA,MAACqkB,GAAAA,EAAW,CACVC,WAAS,EACT3iB,QAASyiB,EAAWziB,MACpB6hB,SAAU/C,aAAU,EAAVA,EAAYgD,YAAYxjB,SAAA,EAElCC,EAAAA,EAAAA,KAACwpB,GAAAA,EAAU,CAACvR,GAAE,GAAA9W,OAAKmX,EAAI,UAASvY,SAAEmgB,KAClClgB,EAAAA,EAAAA,KAACimC,GAAa,CAAAlmC,UACZD,EAAAA,EAAAA,MAAC2pB,GAAAA,EAAM5T,GAAAA,GAAA,GACDkO,GAAK,IACTK,WAAS,EACThkB,QAAQ,WACR8f,MAAOA,EACPyJ,QAAO,GAAAxoB,OAAKmX,EAAI,UAChB7W,QAASyiB,EAAWziB,MACpB6hB,SAAU/C,aAAU,EAAVA,EAAYgD,YACtBkB,UAAWrE,EACXsE,WAAY,CACVC,SAAUjC,EACVJ,SAAU7B,SAAAA,EACV,cAAec,EAAU,GAADpgB,OAAImX,EAAI,mBAChCvY,SAAA,EAEFC,EAAAA,EAAAA,KAAC6oB,GAAAA,EAAQ,CACPpE,UAAQ,EACRjjB,WAAOqZ,EAAU9a,UAEjBC,EAAAA,EAAAA,KAACmmB,GAAAA,EAAc,CAAApmB,SAAEukB,MAElBiiB,aAAc,EAAdA,EAAgBzkB,IAAI6G,SAGxBzE,EAAWziB,OACVzB,EAAAA,EAAAA,KAACmmB,GAAAA,EAAc,CAAC1kB,OAAK,EAAA1B,SAAEsf,GAAwB6E,EAAWziB,SACxD,KACH+f,GACCxhB,EAAAA,EAAAA,KAACmmB,GAAAA,EAAc,CAAC1kB,OAAK,EAAA1B,UACnBC,EAAAA,EAAAA,KAAC2c,GAAY9G,GAAA,GAAKqM,MAElB,OACQ,SASxB,OAEEliB,EAAAA,EAAAA,KAAAumB,EAAAA,SAAA,CAAAxmB,SAAG4iB,GAEP,E,iqDC5IA,IAAM6jB,IAAgBhoC,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CAClDC,QAAS,OACTwY,eAAgB,aAChBtY,WAAY,SACZsB,MAAO,OACPwf,SAAU,OACViM,UAAWltB,EAAMO,QAAQ,GACzB2Y,MAAOlZ,EAAMkhB,QAAQC,KAAK4mB,KAC3B,IAEKC,IAAmBloC,EAAAA,EAAAA,GAAOmoC,GAAAA,EAAPnoC,EAAmB,SAAAO,GAAQ,MAAQ,CAC1D4gB,SAAU,OACVuH,YAFkDnoB,EAALL,MAE1BO,QAAQ,GAC5B,IAUY2nC,GAA6C,SAAC/kC,GAAU,IAAAglC,EAAAC,EAC3DxuB,EAAsGzW,EAAtGyW,KAAM4H,EAAgGre,EAAhGqe,MAAO6mB,EAAyFllC,EAAzFklC,SAAU3mB,EAA+Eve,EAA/Eue,WAAYC,EAAmExe,EAAnEwe,YAAaC,EAAsDze,EAAtDye,aAAcC,EAAwC1e,EAAxC0e,WAAYymB,EAA4BnlC,EAA5BmlC,YAAaC,EAAeplC,EAAfolC,WAE/F7lB,GAAsCC,EAAAA,GAAAA,KAA9BC,EAAcF,EAAdE,eAAgBC,EAASH,EAATG,UAEhB2lB,GAAYC,EAAAA,GAAAA,KAAZD,QACA/oB,EAAkBH,KAAlBG,cACFipB,EAAoE,QAAtDP,EAAGK,SAAuB,QAAhBJ,EAAPI,EAASG,sBAAc,IAAAP,GAAU,QAAVA,EAAvBA,EAAyBQ,gBAAQ,IAAAR,OAAA,EAAjCA,EAAmCS,wBAAgB,IAAAV,EAAAA,EAAI,GAExEW,ECjE0B,SAACC,GACjC,IAOwBC,EANpBnpB,EAAS,GACTopB,GAAU,EACVC,GAAY,EACZC,GAAW,EACXC,GAAgB,EAAMC,EAAAC,GALZP,EAAW9lB,eAOD,IAAxB,IAAAomB,EAAAE,MAAAP,EAAAK,EAAAG,KAAAC,MAA0B,KAAfC,EAAIV,EAAAlmC,MACA,MAAT4mC,GAAiBT,IACnBppB,GAAU,KACVopB,GAAU,EACVG,GAAgB,GAEL,MAATM,GAAiBR,IACnBrpB,GAAU,KACVqpB,GAAY,EACZE,GAAgB,GAEL,MAATM,GAAiBP,IACnBtpB,GAAU,OACVspB,GAAW,EACXC,GAAgB,GAEJ,MAATM,GAAyB,MAATA,GAAyB,MAATA,GAAyB,MAATA,GAAkBN,IACrEvpB,GAAU6pB,EACVN,GAAgB,EAEpB,CAAC,OAAAjpB,GAAAkpB,EAAA/hB,EAAAnH,EAAA,SAAAkpB,EAAAM,GAAA,CAED,OAAO9pB,EAAOqH,MAChB,CDkCqB0iB,CAAmBlB,GAK9B3qB,EADJC,KADFX,QAAWO,UAELG,aAEF+E,EAAc/E,aAAY,EAAZA,EAAcgF,MAAK,SAAChgB,GAAK,IAAAigB,EAAA,OAAoB,QAAfA,EAAAjgB,EAAM0d,iBAAS,IAAAuC,OAAA,EAAfA,EAAiBC,iBAAkBrJ,EAAKqJ,aAAa,IAEjGO,EAAejD,GAA2BuC,aAAW,EAAXA,EAAatC,UAAW5G,GAElEiwB,EAAqBpqB,EAAc8oB,EAAY,CACnDuB,cAAehB,EAAWiB,gBAGtBC,EAAa,IAAIxP,KACvBwP,EAAWC,YAAYD,EAAWE,cAAgB,IAElD,IAAMC,EAAUtoB,SAAAA,EAAYuoB,SAAW,IAAI5P,KAAK3Y,EAAWuoB,eAAYjuB,EACjEkuB,EAAUxoB,SAAAA,EAAYyoB,SAAW,IAAI9P,KAAK3Y,EAAWyoB,eAAYnuB,EAEjEouB,EAAeF,GAAUG,EAAAA,GAAAA,GAAOH,EAAS3B,GAAgBlhB,WAAW,IAAK,IAAM,KAC/EijB,EAAeN,GAAUK,EAAAA,GAAAA,GAAOL,EAASzB,GAAgBlhB,WAAW,IAAK,IAAM,KAE/EkjB,EAAwBjrB,EAAcJ,GAAepM,mBAAoB,CAC7E2N,IAAK2pB,IAGDI,EAAwBlrB,EAAcJ,GAAelM,mBAAoB,CAC7E0N,IAAK4pB,IAGDG,EAActC,EAAc,IAAI9N,KAAK8N,GAAe0B,EAGpDhmB,EAA0C,iBAAjBpC,EAA4BA,EAAe,EAAIA,EAExEipB,EAAmB,SAACrlB,GAAgC,MAAsB,CAC9EE,WAAW,EACXhkB,QAAS,WACTqkB,UAAWrE,EACXkD,SAAU/C,aAAU,EAAVA,EAAYgD,YACtB9hB,QAASyiB,EAAWziB,MACpBijB,WAAY,CACVC,SAAUjC,EACV,cAAenB,EAAU,GAADpgB,OAAImX,EAAI,gBAChCkL,UAAW,IAEbgB,WAAYN,EAAWziB,MAAQ4d,GAAwB6E,EAAWziB,OAAS,KAC5E,EAuEKkhB,EAAiBtC,IApErBrgB,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAO1C,GAAevgB,UAE/BD,EAAAA,EAAAA,MAACmjB,GAAAA,EAAG,CACFC,OAAO,cACPC,SAAU,IACV3L,UAAU,OAAMzX,SAAA,EAEhBC,EAAAA,EAAAA,KAACojB,GAAAA,GAAU,CACT9K,KAAMA,EACN+K,MAAO,CACLC,SAAU/C,aAAU,EAAVA,EAAYgD,YACtBimB,SAAU,SAACC,GACT,OAAIA,IArFG5Z,EAqFyB4Z,aAnF/BvQ,OAAS2G,MAAMhQ,GAsFZ4Z,GAAeV,IApFd,SAAClZ,EAAUvQ,GAAU,OAAKuQ,GAAKvQ,GAAOuQ,EAAE6Z,UAAYpqB,EAAIoqB,SAAS,CAoFvCC,CAAWF,EAAaV,GAC9CK,IAELK,GAAeZ,IArFd,SAAChZ,EAAUtQ,GAAU,OAAKsQ,GAAKtQ,GAAOsQ,EAAE6Z,UAAYnqB,EAAImqB,SAAS,CAqFvCE,CAAWH,EAAaZ,KAC9CQ,EANAd,EAtFH,IAAC1Y,CAgGT,GAEFlM,aAAc2lB,EACd1lB,OAAQ,SAAAzkB,GAAA,IAAG4kB,EAAK5kB,EAAL4kB,MAAOG,EAAU/kB,EAAV+kB,WAAU,OAC1BlkB,EAAAA,EAAAA,KAAC6pC,GAAAA,EAAoB,CAACC,YAAaC,GAAAA,GAAYhqC,UAC7CD,EAAAA,EAAAA,MAACqkB,GAAAA,EAAW,CAACC,WAAS,EAAArkB,SAAA,EACpBC,EAAAA,EAAAA,KAACgqC,GAAAA,EAAiBn0B,GAAAA,GAAA,CAChBo0B,mBAAiB,EACjBC,MAAM,EACNhB,OAAQ1B,EACRtnB,MAAOA,EACP2oB,QAASA,EACTE,QAASA,EACTtkB,UAAWrE,GACP2D,GAAK,IACTomB,UAAW,CACTC,UAASv0B,GAAAA,GAAA,GAAO0zB,EAAiBrlB,IAAW,IAAEsB,OAAQzB,EAAMyB,aAG/DhE,GACCxhB,EAAAA,EAAAA,KAACmmB,GAAAA,EAAc,CAAC1kB,OAAK,EAAA1B,UACnBC,EAAAA,EAAAA,KAAC2c,GAAY9G,GAAAA,GAAA,GACPqM,GAAY,IAChBrF,OAAQ,CAAEyC,IAAKypB,QAGjB,SAEe,IAG1BhC,GACCjnC,EAAAA,EAAAA,MAAC0mC,GAAa3wB,GAAAA,GAAA,GAAKyL,EAAe,GAADngB,OAAImX,EAAI,2BAAwB,IAAAvY,SAAA,EAC/DC,EAAAA,EAAAA,KAAC0mC,GAAgB,IAChBK,MAED,UAOV,OAEE/mC,EAAAA,EAAAA,KAAAumB,EAAAA,SAAA,CAAAxmB,SAAG4iB,GAEP,EEpKa0nB,GAA2B,SACtCC,EACAvoB,EACAwoB,GACW,IAAAC,EACX,GAAID,EAAcE,MAAMH,GAAa,CACnC,IAAA7rC,EAA+B8rC,EAAcE,MAAMH,GAA3CI,EAAMjsC,EAANisC,OAAQC,EAAUlsC,EAAVksC,WACZpsB,EAAS,GAeb,OAbAmsB,EAAOhL,SAAQ,SAAC3b,EAAe6mB,GAC7B,IAAMC,EAAe9mB,EAAM6O,OAAO,GAAGjR,cAAgBoC,EAAM6G,MAAM,GAEjE,GAAqB,YAAjBigB,EACFtsB,GAAU,GAAJpd,OAAO4gB,EAAK3O,SAAOjS,OAAGwpC,EAAWC,EAAM,QACxC,CACL,IAAME,EAAW/oB,EAAK8oB,GAClBC,GAAyB,KAAbA,IACdvsB,GAAU,GAAJpd,OAAO2pC,GAAQ3pC,OAAGwpC,EAAWC,EAAM,IAE7C,CACF,IAEO,GAAPzpC,OAAUwpC,EAAW,IAAExpC,OAAGod,GAAMpd,OAAGwpC,EAAWI,IAAI,GACpD,CAEA,OAAyB,QAAzBP,EAAOzoB,EAAKlR,qBAAa,IAAA25B,EAAAA,EAAI,EAC/B,EAIaQ,GAAwD,CACnEjsB,KAAM,aACN0rB,MAAO,CACL,CACEC,OAAQ,CAAC,iBAETC,WAAY,CAAC,GAAI,O,+NClDvBjyB,eAAeuyB,GAA2BzsB,EAAgB0sB,GACxD,IAAMC,E,uWAA2Dt1B,CAAA,GAC5Dm1B,IAGL,IACE,IAAM7xB,QAAiBiyB,EAAAA,EAAAA,KAAiB5sB,EAAK0sB,GAE7C,OAAO,IAAIhuB,GAA6C/D,EAASuE,OAAQvE,EAASd,KACpF,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAASysB,EAC9B,CACF,CAEO,IAAME,GAA2B,SAACtsB,GACvC,IAAQZ,EAAkBH,KAAlBG,cACFK,GAAMH,EAAAA,EAAAA,OAIJnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAACuE,EAAM,0BACPrG,iBACE,IAAM6F,QAAe0sB,GAA2BzsB,EAAKO,GACrD,GAAIR,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,+CAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,GAGN,E,ypBC7BA,IA+BMS,IAAmBjhB,EAAAA,EAAAA,GAAOkhB,GAAAA,EAAPlhB,EAAmB,SAAAC,GAAQ,MAAQ,CAC1DkhB,SAAU,OACV/H,MAFkDnZ,EAALC,MAEhCkhB,QAAQC,KAAK,KAC3B,IAEYyrB,GAAiG,SAC5GzpC,GACG,IAAA0pC,EAAAC,EACKC,EAA2D5pC,EAA3D4pC,cAAerrB,EAA4Cve,EAA5Cue,WAAYD,EAAgCte,EAAhCse,YAAaurB,EAAmB7pC,EAAnB6pC,eACxCvtB,EAAkBH,KAAlBG,cACFK,GAAMH,EAAAA,EAAAA,OACNqb,GAAOzY,EAAAA,GAAAA,MAGLM,GAAcF,EAAAA,GAAAA,KAAdE,UAKArF,EADJE,KADFL,QAAWE,iBAELC,oBACFW,EAAS6c,EAAK9R,QACd+jB,EAAYlW,OAAOC,KAAkC,QAA9B6V,EAAC7R,EAAK5E,UAAUvX,OAAOquB,eAAO,IAAAL,EAAAA,EAAI,CAAC,GAE1DM,EAAWH,aAAc,EAAdA,EAAgBI,MAAK,SAACC,GAAE,OAAKJ,EAAUxiB,SAAS4iB,EAAG,IAEpEp1B,GAA0BG,EAAAA,EAAAA,UAAS,IAAGF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAA/BnV,EAAKoV,EAAA,GAAEuK,EAAQvK,EAAA,GACtB8E,GAAsC5E,EAAAA,EAAAA,UAAuC,IAAG6E,GAAA3E,EAAAA,GAAAA,GAAA0E,EAAA,GAAzEswB,EAAWrwB,EAAA,GAAEswB,EAActwB,EAAA,GAClCC,GAAgC9E,EAAAA,EAAAA,WAAS,GAAM+E,GAAA7E,EAAAA,GAAAA,GAAA4E,EAAA,GAAxCswB,EAAYrwB,EAAA,GAAEswB,EAAOtwB,EAAA,GAC5BqmB,GAAwCprB,EAAAA,EAAAA,WAAS,GAAMqrB,GAAAnrB,EAAAA,GAAAA,GAAAkrB,EAAA,GAAhDkK,EAAajK,EAAA,GAAEkK,EAAclK,EAAA,GACpCE,GAAgDvrB,EAAAA,EAAAA,UAAS,IAAGwrB,GAAAtrB,EAAAA,GAAAA,GAAAqrB,EAAA,GAArDiK,EAAgBhK,EAAA,GAAEiK,EAAmBjK,EAAA,GAEtCkK,EAA6B,QAAjBhB,EAAG3uB,EAAO+uB,eAAO,IAAAJ,OAAA,EAAdA,EAAgBl+B,QAEjCm/B,EAAkB,EAGlB5qC,EAAM4qC,kBACRA,EAAkB5qC,EAAM4qC,iBAG1B,IAAMC,EAAyB,SAACriB,GAC9BlJ,EAASkJ,EAAMpE,OAAOzkB,MACxB,EAoEMmrC,EAA6Bj0B,eACjCk0B,EACAC,GAEA,GAAID,EAAW9rC,QAAU2rC,EAAiB,KAAAK,EAClCC,QAvEKr0B,eACbU,GAEA,IAAQwzB,EAAgExzB,EAAhEwzB,WAAYv1B,EAAoD+B,EAApD/B,IAAK/J,EAA+C8L,EAA/C9L,QAASu/B,EAAsCzzB,EAAtCyzB,QAC5BG,EAAuE,CAC3EC,6BAA8B,IAGhC,IAAKL,EACH,OAAO1vB,GAAYwB,SAASsuB,GAE9B,IAAME,EAAyC,CAC7CC,WAAYP,EACZQ,IAAK/1B,EACLg2B,QAAS//B,EACTggC,QAAST,GAGX,IACE,IAAMU,QAAcC,EAAAA,EAAAA,KAAsBhvB,EAAK0uB,GAE/C,OAAO,IAAIhwB,GAAwDqwB,EAAM7vB,OAAQ6vB,EAAMl1B,KACzF,CAAE,MAAO5W,GACPya,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAelR,cACnB+P,eAAgB7a,EAAoB8K,gBAGxCkS,KAAM/B,GAAYvb,OAEtB,CAEA,OAAOyb,GAAYwB,SAASsuB,EAC9B,CAmCqC7Q,CAAO,CACtCyQ,WAAAA,EACAv1B,IAA8B,QAA3By1B,EAAErB,aAAa,EAAbA,EAAegC,kBAAU,IAAAX,EAAAA,EAnFV,GAoFpBx/B,QAASk/B,EACTK,QAAAA,IAEM1zB,EAAa4zB,EAAb5zB,SAER,OAAIA,SAAAA,EAAU8zB,6BAC6C9zB,EAAS8zB,6BAA6BnrB,KAAI,SAAC4rB,GAAI,MAAM,CAC5GC,eAAgBD,EAAKC,eACrBC,YAAaF,EAAKE,YAClBC,MAAOH,EAAKG,MACZhB,QAASa,EAAKb,QACdiB,cAAeJ,EAAKI,cACrB,IAKI,IACT,CAEA,MAAO,EACT,EAEMC,EAAgBr1B,iBACpB,GAAc,KAAVlX,IAAiB0qC,EAAc,CACjC,IAAM8B,QAA2BrB,EAA2BnrC,GAClC,MAAtBwsC,IACF/B,EAAe+B,GACf7B,GAAQ,GAEZ,CACF,EAEM8B,EAAc,SAACvpB,GACnB,IAAQK,EAAgDL,EAAhDK,WAAYf,EAAoCU,EAApCV,IAAQkqB,GAAK50B,EAAAA,GAAAA,GAAuBoL,EAAUnL,IAC5D40B,EAAct4B,GAAAA,GAAA,CAClB0P,SAAUvB,GACPe,GAAU,IACbO,aAAc,QAGhB,OACEtlB,EAAAA,EAAAA,KAACqkB,GAAAA,EAASxO,GAAAA,GAAA,CACRkP,WAAYopB,GACRD,GAAK,IAETxpB,WAAU7O,GAAA,CACR,cAAe0L,EAAU,8BACtB2sB,EAAMxpB,YAEXD,UAAWrE,EACXhgB,QAAQ,WACR6jB,SAAUyoB,EACVhhB,QAASqiB,IAGf,EAEMK,EAA8B,SAACC,GACnC,IAAMV,EAAiB,GAAHxsC,OAAMktC,EAAWV,eAAc,KAEnD,OACE7tC,EAAAA,EAAAA,MAAA,OAAAC,SAAA,EACEC,EAAAA,EAAAA,KAAA,QAAM+iB,MAAO,CAAEuO,WAAY,QAASvxB,SAAEsuC,EAAWT,eACjD5tC,EAAAA,EAAAA,KAAA,SACC2tC,EACqB,IAArBU,EAAWR,QACV7tC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehS,cACnB6Q,eAAgB7a,EAAoBgK,cACpC8Q,OAAQ,CAAEgxB,MAAOQ,EAAWR,WAKtC,EAoBMS,EAAoB,SAACl1B,GACzB,IAAQm1B,EAAwEn1B,EAAxEm1B,aACJC,EAAQ,EACVxuC,EAAAA,EAAAA,KAAC6oB,GAAAA,EAAQ,CAEP4lB,UAAU,MAAK1uC,UAEfC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3O,cACnBwN,eAAgB7a,EAAoBqN,iBALjC,IAsBT,OAZI48B,EAAYlrC,OAAS,IACvB0tC,EAAQxC,EAAYlqB,KAAI,SAACusB,EAAYzlB,GAOnC,OAxCmB,SAAC8lB,GACxB,IAAQL,EAA4CK,EAA5CL,WAAYM,EAAgCD,EAAhCC,UAEpB,OACE3uC,EAAAA,EAAAA,KAAC6oB,GAAAA,EAAQhT,GAAAA,GAAA,GACH84B,GAAS,IACbF,UAAU,MACV1rB,MAAO,CACLuO,WAAY,SACZsd,WAAY,QACZC,UAAW,cACX9uC,SAEDquC,EAA4BC,KAGnC,CAwBaS,CANiB,CACtBlmB,MAAAA,EACAylB,WAAAA,EACAM,UAAWJ,EAAa,CAAExsB,KAAMssB,KAIpC,MAIAruC,EAAAA,EAAAA,KAAC+uC,GAAAA,EAAK,CACJhsB,MAAO,CACL3L,SAAU,WACV43B,OAAQ,GACR33B,IAAK,oBACL43B,MAAO,EACP33B,KAAM,EACN4T,QAAS,QACTgkB,SAAU,SACVC,WAAY,QACZC,UAAW,QACXC,UAAW,OACX73B,UAAW,WAEb83B,UA7RU,EA6RWvvC,SAEpByuC,GAGP,EAsBMe,EAA0B72B,eAAO2R,GACrC,IAAMmlB,EAAcnlB,EAAMpE,OACA,KAAtBupB,EAAYhuC,QACdyqC,EAAe,IACf9qB,EAAS,IACTgrB,GAAQ,IAGV,IAAMS,EAAa4C,EAAYhuC,MAAMiuC,YACrCtuB,EAASyrB,GACTL,EAAoBK,GACpB,IAAMoB,QAA2BrB,EAA2BC,GAClC,MAAtBoB,GAA8BpB,IAAeN,IAC/CL,EAAe+B,GACf7B,GAAQ,GAEZ,EAkGA,OACEnsC,EAAAA,EAAAA,KAAC0vC,GAAAA,GAAS,CACRC,wBAAyB,KACzBC,aAAc,KACd9wB,OAAQotB,EACR2D,SAjDsCn3B,eAAOqJ,GA1FxB,IAAC2rB,EAClBnvB,EA0FN,IAAI6tB,EAGJ,IAEE,GADAC,GAAe,GACXtqB,GAAwB,MAAhBA,EAAK8qB,SACf,GAAI9qB,EAAK+rB,cAAe,CACtB,IAAMlC,QArRKlzB,eACjBo3B,EACAxiC,GAMA,IACE,IAAMyiC,QAAoBC,EAAAA,EAAAA,KAAuBxxB,EAAKsxB,EAAQ,CAAExiC,QAAAA,IAEhE,OAAO,IAAI4P,GAAyD6yB,EAAYryB,OAAQqyB,EAAY13B,KACtG,CAAE,MAAO5W,GACPya,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAelR,cACnB+P,eAAgB7a,EAAoB8K,gBAGxCkS,KAAM/B,GAAYvb,OAEtB,CAEA,OAAOyb,GAAYwB,SArBuD,CACxEK,KAAM,QAqBV,CA2P8BkxB,CAAWluB,EAAK+rB,cAAetB,GAKrD,GAHArrB,EAAS,IACT8qB,EAAe,IACfE,GAAQ,GACJP,EAAQzyB,SACasc,OAAOya,SAxGdxC,EAwGuC9B,EAAQzyB,SAvGjEoF,EAA4B1B,EAAO+uB,QAEzCnW,OAAOC,KAAKgY,GACTrY,QAAO,SAAC8a,GAAO,OAAKzC,EAAKyC,EAAqD,IAC9EzQ,SAAQ,SAACyQ,GACR,IAAMC,EAAiBD,EACjBE,EAAe3C,EAAK0C,GACH,WAAnBA,EACF7xB,EAAO1N,cAAgBw/B,EACK,YAAnBD,EACT7xB,EAAOnL,QAAUi9B,EACW,SAAnBD,GAAgD,oBAAnBA,IACtC7xB,EAAO6xB,GAAkBC,EAE7B,IAEK9xB,IA0FgBmhB,SAAQ,SAAC4Q,GACtB,IAAAC,GAAAv5B,EAAAA,GAAAA,GAA2Bs5B,EAAK,GAAzBh4B,EAAIi4B,EAAA,GAAEC,EAAUD,EAAA,GAEvB7W,EAAKvY,SAAS,WAADhgB,OAAYmX,GAAQk4B,EAAY,CAC3C1qB,aAAa,EACbC,aAAa,EACbF,eAAgB6lB,aAAc,EAAdA,EAAgBviB,SAAS7Q,IAE7C,GAEJ,MACK,CACL,IAAM01B,QAA2BrB,EAA2BnrC,EAAOugB,aAAI,EAAJA,EAAM8qB,SAC/C,MAAtBmB,IACF/B,EAAe+B,GACf7B,GAAQ,GAEZ,CACF,CAAE,QACAE,GAAe,EACjB,CACF,EAYIoE,aAV8B,WAChCtE,GAAQ,EACV,EAQ4CpsC,SAEvC,SAACqZ,GAAO,OAxGkB,SAACA,GAC9B,IAAQs3B,EAAiFt3B,EAAjFs3B,cAAe5xB,EAAkE1F,EAAlE0F,OAEvB6xB,EAAiED,EAAc,CAC7E3hB,QAASwgB,EACTjrB,YAAanG,EAAcJ,GAAe1N,sBAFpCmV,EAAMmrB,EAANnrB,OAAQqJ,EAAO8hB,EAAP9hB,QAAYnK,GAAUpL,EAAAA,GAAAA,GAAAq3B,EAAAC,IAIhCC,EAAqC,CACzC9rB,WAAY,CACVS,OAAAA,EACAqJ,QAAAA,EACAiiB,gBACE9wC,EAAAA,EAAAA,KAACyrB,GAAAA,EAAc,CAACrU,SAAS,QAAOrX,UAC9BC,EAAAA,EAAAA,KAAC+wC,GAAAA,EAAM,MAGX/rB,aAAc7E,GACZngB,EAAAA,EAAAA,KAACklB,GAAAA,EAAO,CACNC,MAAOhF,EACPiF,gBAAiB,EACjBC,gBAAiB,IAAKtlB,UAEtBC,EAAAA,EAAAA,KAACyf,GAAgB,WAEjB5E,GAENuJ,WAAW,EACXM,WAAU7O,GAAAA,GAAA,GAAO6O,GAAU,IAAEY,aAAc,MAAO9jB,MAAAA,IAClDC,MAAOoqC,EACPvoB,UAAU,EACVpD,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/R,cACnB4Q,eAAgB7a,EAAoBiK,gBAGxCwY,WAAYqnB,GACV7rC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe7R,wBACnB0Q,eAAgB7a,EAAoBmK,0BAEpC,MAGN,OACEpM,EAAAA,EAAAA,MAAA,OAAKijB,MAAO,CAAE3L,SAAU,YAAarX,SAAA,CAClCkuC,EAAY4C,GACZ/xB,EAASwvB,EAAkBl1B,GAAW,OAG7C,CAsDkB43B,CAAuB53B,EAAQ,GAGnD,E,ykBCrcA,IAAM63B,IAAiBzyC,EAAAA,EAAAA,GAAOokB,GAAAA,GAAPpkB,EAAa,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CAClDC,QAAS,OACTC,cAAe,SACfokB,MAAO,GACR,IAEKkd,IAAc1hC,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAO,GAAQ,MAAQ,CACrDuyB,WAAY,OACZX,aAF6C5xB,EAALL,MAEpBO,QAAQ,GAC7B,IAEKiyC,IAAwB1yC,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAW,GAAA,IAAGT,EAAKS,EAALT,MAAK,MAAQ,CAC/DC,QAAS,OACTwB,MAAO,OACPwwB,aAAcjyB,EAAMO,QAAQ,GAC5B2sB,UAAWltB,EAAMO,QAAQ,GAC1B,IAEKkyC,IAA0B3yC,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAa,GAAQA,EAALX,MAAK,MAAQ,CACjE0yC,SAAU,aACX,IAQYC,GAAgD,SAACxvC,GAAU,IAAAyvC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EH9BtEC,EAEMC,EG4D+BC,EA/B7BC,EAAqDpxC,EAArDoxC,cAAeC,EAAsCrxC,EAAtCqxC,aAAcC,EAAwBtxC,EAAxBsxC,oBAEvBC,EAAwB/H,GAAyB,cAAvDhzB,KAEA8F,EAAkBH,KAAlBG,cAEFk1B,EAAYJ,SAAyB,QAAZ3B,EAAb2B,EAAeK,kBAAU,IAAAhC,GAAQ,QAARA,EAAzBA,EAA2BiC,cAAM,IAAAjC,OAAA,EAAjCA,EAAmC3yB,UAC/C60B,EAAYP,SAAyB,QAAZ1B,EAAb0B,EAAeK,kBAAU,IAAA/B,GAAQ,QAARA,EAAzBA,EAA2BkC,cAAM,IAAAlC,OAAA,EAAjCA,EAAmC5yB,UAC/C+0B,EAAYT,SAAyB,QAAZzB,EAAbyB,EAAeK,kBAAU,IAAA9B,GAAQ,QAARA,EAAzBA,EAA2B7jC,cAAM,IAAA6jC,OAAA,EAAjCA,EAAmC7yB,UAG/Cg1B,EAAUpvB,QAAQ8uB,GAAaG,GAAaE,GAE5CE,EAAkBV,SAAqB,QAATzB,EAAZyB,EAActH,eAAO,IAAA6F,GAArBA,EAAuBr+B,QAC3Ci3B,GAAyB,EAAG6I,EAAatH,QAASwH,QAAAA,EAAuBpI,IACzE,KAEE6I,GH9CAd,EAAyB,IAF/BD,EGgD8DG,IH3C5Dxd,OAAOya,QAAQ4C,GAAcpT,SAAQ,SAAC3b,GAA+D,IAAA+vB,EAC/F/vB,EAAM,GAAG1D,aAAkC,QAAvByzB,EAAI/vB,EAAM,GAAGxD,kBAAU,IAAAuzB,GAAnBA,EAAqBrzB,wBAC/CsyB,EAAazkB,KAAKvK,EAAM,GAE5B,IAGKgvB,GGsCDgB,EAAoBH,GACxB9zC,EAAAA,EAAAA,MAAAymB,EAAAA,SAAA,CAAAxmB,SAAA,EACEC,EAAAA,EAAAA,KAACkxC,GAAqB,CAAC9wC,QAAQ,UAASL,UACtCC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAejZ,0BACnB8X,eAAgB7a,EAAoB+C,+BAGxC9E,EAAAA,EAAAA,KAACmxC,GAAuB,CAAC/wC,QAAQ,QAAOL,SAAE6zC,OAE1C,KA4BEI,EAzBAf,SAA4B,QAAfD,EAAbC,EAAexH,qBAAa,IAAAuH,GAA5BA,EAA8Br0B,WAE9B7e,EAAAA,EAAAA,MAACmjB,GAAAA,EAAG,CACF0N,aAAcijB,EAAkB,EAAI,EACpC7wB,MAAO,CAAEC,MAAOiwB,EAAcxH,cAAcnrB,cAAevgB,SAAA,EAE3DC,EAAAA,EAAAA,KAACsrC,GAAmBz1B,GAAAA,GAAA,GACdo9B,GAAa,IACjBvH,eAAgBmI,EAChB1zB,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe9R,qBACnB2Q,eAAgB7a,EAAoBkK,uBAGxCmU,WAAYuzB,KAEbI,KAKA,KAKT,OACEj0C,EAAAA,EAAAA,MAACmxC,GAAc,CACblvB,MAAI,EACJc,GAAI,GAAG9iB,SAAA,CAENkzC,SAA4B,QAAfvB,EAAbuB,EAAexH,qBAAa,IAAAiG,GAA5BA,EAA8B/yB,WAC7B3e,EAAAA,EAAAA,KAACkgC,GAAW,CACV9/B,QAAQ,YACRoX,UAAU,OAAMzX,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAexa,kBACnBqZ,eAAgB7a,EAAoBwB,sBAGtC,KACHywC,GACDh0C,EAAAA,EAAAA,KAACkmC,GAAuBrwB,GAAA,CACtByC,KAAK,kBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAeta,kBACnBmZ,eAAgB7a,EAAoB0B,oBAGxC6gB,aACEtkB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAera,8BACnBkZ,eAAgB7a,EAAoB2B,gCAGxCyc,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepa,0BACnBiZ,eAAgB7a,EAAoB4B,6BAGpCsvC,aAAa,EAAbA,EAAe3lC,WAErBtN,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,GAChBo9B,aAAa,EAAbA,EAAe7/B,SAAO,IAC1BgN,cAAeuzB,SAAWV,GAAsB,QAATtB,EAAbsB,EAAe7/B,eAAO,IAAAu+B,IAAtBA,EAAwBvxB,YAClD9H,KAAK,kBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3K,QACnBwJ,eAAgB7a,EAAoBqR,UAGxC+M,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAezK,gBACnBsJ,eAAgB7a,EAAoBuR,kBAGxCsN,kBAAmBzC,EAAcJ,GAAe1K,qBAChDoN,uBAAwBwyB,SAAsB,QAATrB,EAAbqB,EAAe7/B,eAAO,IAAAw+B,GAAY,QAAZA,EAAtBA,EAAwBrxB,kBAAU,IAAAqxB,OAAA,EAAlCA,EAAoCnxB,2BAE9DzgB,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,GAChBo9B,aAAa,EAAbA,EAAepiC,eAAa,IAChCyH,KAAK,wBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAelN,cACnB+L,eAAgB7a,EAAoB8O,gBAGxC+P,kBAAmBzC,EAAcJ,GAAehN,2BAChDoP,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAejN,qBACnB8L,eAAgB7a,EAAoB+O,uBAGxC2P,uBAAwBwyB,SAA4B,QAAfpB,EAAboB,EAAepiC,qBAAa,IAAAghC,GAAY,QAAZA,EAA5BA,EAA8BtxB,kBAAU,IAAAsxB,OAAA,EAAxCA,EAA0CpxB,uBAClEL,cAAeuzB,SAAWV,GAA4B,QAAfnB,EAAbmB,EAAepiC,qBAAa,IAAAihC,IAA5BA,EAA8B1xB,YACxDU,aAAcqyB,MAGhBnzC,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,GAChBo9B,aAAa,EAAbA,EAAehmC,MAAI,IACvBqL,KAAK,eACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe9Q,KACnB2P,eAAgB7a,EAAoBkL,OAGxCkT,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5Q,aACnByP,eAAgB7a,EAAoBoL,eAGxCyT,kBAAmBzC,EAAcJ,GAAe7Q,kBAChDuT,uBAAwBwyB,SAAmB,QAANlB,EAAbkB,EAAehmC,YAAI,IAAA8kC,GAAY,QAAZA,EAAnBA,EAAqBxxB,kBAAU,IAAAwxB,OAAA,EAA/BA,EAAiCtxB,uBACzDL,cAAeuzB,SAAWV,GAAmB,QAANjB,EAAbiB,EAAehmC,YAAI,IAAA+kC,IAAnBA,EAAqB5xB,YAC/CU,aAAcqyB,MAGhBnzC,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,GAChBo9B,aAAa,EAAbA,EAAepjC,UAAQ,IAC3ByI,KAAK,mBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAelO,SACnB+M,eAAgB7a,EAAoB8N,WAGxCsQ,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehO,iBACnB6M,eAAgB7a,EAAoBgO,mBAGxC6Q,kBAAmBzC,EAAcJ,GAAejO,sBAChD2Q,uBAAwBwyB,SAAuB,QAAVhB,EAAbgB,EAAepjC,gBAAQ,IAAAoiC,GAAY,QAAZA,EAAvBA,EAAyB1xB,kBAAU,IAAA0xB,OAAA,EAAnCA,EAAqCxxB,uBAC7DL,cAAeuzB,SAAWV,GAAuB,QAAVf,EAAbe,EAAepjC,gBAAQ,IAAAqiC,IAAvBA,EAAyB9xB,YACnDU,aAAcqyB,MAGhBnzC,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,GAChBo9B,aAAa,EAAbA,EAAerlC,UAAQ,IAC3B0K,KAAK,mBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenQ,SACnBgP,eAAgB7a,EAAoB6L,WAGxCuS,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3P,iBACnBwO,eAAgB7a,EAAoBqM,mBAGxCwS,kBAAmBzC,EAAcJ,GAAe5P,sBAChDiS,cAAeuzB,SAAWV,GAAuB,QAAVd,EAAbc,EAAerlC,gBAAQ,IAAAukC,IAAvBA,EAAyB/xB,YACnDU,aAAcqyB,MAGhBnzC,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,GAChBo9B,aAAa,EAAbA,EAAeplC,WAAS,IAC5ByK,KAAK,oBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAelQ,UACnB+O,eAAgB7a,EAAoB8L,YAGxCsS,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehQ,kBACnB6O,eAAgB7a,EAAoBgM,oBAGxC6S,kBAAmBzC,EAAcJ,GAAejQ,uBAChDsS,cAAeuzB,SAAWV,GAAwB,QAAXb,EAAba,EAAeplC,iBAAS,IAAAukC,IAAxBA,EAA0BhyB,YACpDU,aAAcqyB,MAGhBnzC,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,GAChBo9B,aAAa,EAAbA,EAAejlC,WAAS,IAC5BsK,KAAK,oBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/P,UACnB4O,eAAgB7a,EAAoBiM,YAGxCmS,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe7P,kBACnB0O,eAAgB7a,EAAoBmM,oBAGxC0S,kBAAmBzC,EAAcJ,GAAe9P,uBAChDmS,cAAeuzB,SAAWV,GAAwB,QAAXZ,EAAbY,EAAejlC,iBAAS,IAAAqkC,IAAxBA,EAA0BjyB,YACpDU,aAAcqyB,MAGhBnzC,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,GAChBo9B,aAAa,EAAbA,EAAe9mC,MAAI,IACvBmM,KAAK,eACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5R,KACnByQ,eAAgB7a,EAAoBoK,OAGxCgU,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1R,aACnBuQ,eAAgB7a,EAAoBsK,eAGxCuU,kBAAmBzC,EAAcJ,GAAe3R,kBAChDqU,uBAAwBwyB,SAAmB,QAANX,EAAbW,EAAe9mC,YAAI,IAAAmmC,GAAY,QAAZA,EAAnBA,EAAqB/xB,kBAAU,IAAA+xB,OAAA,EAA/BA,EAAiC7xB,uBACzDL,cAAeuzB,SAAWV,GAAmB,QAANV,EAAbU,EAAe9mC,YAAI,IAAAomC,IAAnBA,EAAqBnyB,YAC/CU,aAAcqyB,MAGhBnzC,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,GAChBo9B,aAAa,EAAbA,EAAejkC,UAAQ,IAC3BsJ,KAAK,mBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/O,SACnB4N,eAAgB7a,EAAoBiN,WAGxCmR,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe7O,iBACnB0N,eAAgB7a,EAAoBmN,mBAGxC0R,kBAAmBzC,EAAcJ,GAAe9O,sBAChDwR,uBAAwBwyB,SAAuB,QAAVT,EAAbS,EAAejkC,gBAAQ,IAAAwjC,GAAY,QAAZA,EAAvBA,EAAyBjyB,kBAAU,IAAAiyB,OAAA,EAAnCA,EAAqC/xB,uBAC7DL,cAAeuzB,SAAWV,GAAuB,QAAVR,EAAbQ,EAAejkC,gBAAQ,IAAAyjC,IAAvBA,EAAyBryB,YACnDU,aAAcqyB,MAGhBnzC,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,GAChBo9B,aAAa,EAAbA,EAAe5kC,UAAQ,IAC3BiK,KAAK,mBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1P,SACnBuO,eAAgB7a,EAAoBsM,WAGxC8R,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAexP,iBACnBqO,eAAgB7a,EAAoBwM,mBAGxCqS,kBAAmBzC,EAAcJ,GAAezP,sBAChDmS,uBAAwBwyB,SAAuB,QAAVP,EAAbO,EAAe5kC,gBAAQ,IAAAqkC,GAAY,QAAZA,EAAvBA,EAAyBnyB,kBAAU,IAAAmyB,OAAA,EAAnCA,EAAqCjyB,uBAC7DL,cAAeuzB,SAAWV,GAAuB,QAAVN,EAAbM,EAAe5kC,gBAAQ,IAAAskC,IAAvBA,EAAyBvyB,YACnDU,aAAcqyB,MAGhBnzC,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,GAChBo9B,aAAa,EAAbA,EAAehjC,QAAM,IACzBqI,KAAK,iBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe9N,OACnB2M,eAAgB7a,EAAoBkO,SAGxCkQ,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5N,eACnByM,eAAgB7a,EAAoBoO,iBAGxCyQ,kBAAmBzC,EAAcJ,GAAe7N,oBAChDuQ,uBAAwBwyB,SAAqB,QAARL,EAAbK,EAAehjC,cAAM,IAAA2iC,GAAY,QAAZA,EAArBA,EAAuBryB,kBAAU,IAAAqyB,OAAA,EAAjCA,EAAmCnyB,uBAC3DL,cAAeuzB,SAAWV,GAAqB,QAARJ,EAAbI,EAAehjC,cAAM,IAAA4iC,IAArBA,EAAuBzyB,YACjDU,aAAcqyB,OAItB,E,ykBC3VA,IAAMrjB,IAAatxB,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAAC,GAAQ,MAAQ,CAChDE,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZsB,MAAO,OACPyrB,UALwCntB,EAALC,MAKlBO,QAAQ,GAC1B,IAEK8wB,IAAgBvxB,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAO,GAAQ,MAAQ,CACnDkxB,SAAU,QACVrE,UAF2C7sB,EAALL,MAErBO,QAAQ,GACzB+jB,MAAO,GACR,IASYixB,GAAqD,SAACpyC,GAAU,IAAAqyC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACnEC,EAAuD7yC,EAAvD6yC,YAAar7B,EAA0CxX,EAA1CwX,OAAQib,EAAkCzyB,EAAlCyyB,gBAAiBC,EAAiB1yB,EAAjB0yB,aAEtCpW,EAAkBH,KAAlBG,cAEA9J,EAAuBK,IAAvBL,mBAEAiN,GAAmBD,EAAAA,GAAAA,KAAnBC,eAEFqzB,EAAwBx2B,EAAcJ,GAAerZ,uBAErDgwB,GAAUC,EAAAA,GAAAA,IAAmE,CACjFigB,cAAeF,EACf9f,eAAgB,WAChBC,KAAM,WAGAC,EAAqBJ,EAArBI,UAAWlN,EAAU8M,EAAV9M,MACXsN,EAAiBJ,EAAjBI,aAEFC,EAAavN,IAKXnL,EADJC,KADFX,QAAWO,UAELG,aAEF2Y,EAAoB3Y,aAAY,EAAZA,EAAc4Y,QACtC,SAACC,GAAE,IAAAC,EAAAC,EAAA,OACAC,OAAOC,KAAKP,GACVrT,KAAI,SAAC6T,GAAG,OAAKA,EAAIhU,aAAa,IAC9BwH,SAAoC,QAA5BoM,EAAa,QAAbC,EAACF,EAAGnW,iBAAS,IAAAqW,OAAA,EAAZA,EAAc7T,qBAAa,IAAA4T,EAAAA,EAAI,GAAG,IAGlD,OACEz1B,EAAAA,EAAAA,MAAC62B,GAAAA,GAAY9gB,GAAAA,GAAA,GAAK6e,GAAO,IAAA30B,SAAA,EACvBC,EAAAA,EAAAA,KAACovB,GAAqB,CACpBC,sBAAuB+F,EACvB/gB,mBAAoBA,KAEtBrU,EAAAA,EAAAA,KAAC8vB,GAAU,CACT8G,YAAU,EACVC,SAAUnC,EAAQ0B,aAAa7B,GAAcx0B,UAE7CD,EAAAA,EAAAA,MAAC8iB,GAAAA,GAAI,CACHkU,WAAS,EACT3f,eAAe,SACf6L,MAAO,EAAEjjB,SAAA,EAETC,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,CACpByC,KAAK,YACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/Z,oBACnB4Y,eAAgB7a,EAAoBiC,sBAGxCmc,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe9Z,4BACnB2Y,eAAgB7a,EAAoBkC,+BAGpCoV,aAAM,EAANA,EAAQsZ,WAAS,IACrB7R,aAAczH,SAAoB,QAAd66B,EAAN76B,EAAQyH,oBAAY,IAAAozB,OAAA,EAApBA,EAAsBv1B,cAEtC3e,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAA,CACpBgL,wBAAsB,EACtBvI,KAAK,eACL4H,MACE7G,SAAoB,QAAd86B,EAAN96B,EAAQgd,oBAAY,IAAA8d,GAAY,QAAZA,EAApBA,EAAsB5zB,kBAAU,IAAA4zB,GAAhCA,EAAkC5wB,aAChCvjB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAeja,gBACnB8Y,eAAgB7a,EAAoB+B,mBAGtC9D,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAeha,yBACnB6Y,eAAgB7a,EAAoBgC,2BAI1Coc,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/Y,uBACnB4X,eAAgB7a,EAAoBiD,yBAGxC4b,kBAAmBzC,EAAcJ,GAAepZ,4BAChD+b,aAAa,SACTrH,aAAM,EAANA,EAAQgd,gBAEdr2B,EAAAA,EAAAA,KAACunB,GAAkB1R,GAAA,CACjByC,KAAK,mBACL4H,MACE7G,SAAwB,QAAlB+6B,EAAN/6B,EAAQid,wBAAgB,IAAA8d,GAAY,QAAZA,EAAxBA,EAA0B7zB,kBAAU,IAAA6zB,GAApCA,EAAsC7wB,aACpCvjB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAexZ,gBACnBqY,eAAgB7a,EAAoBwC,mBAGtCvE,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAetZ,yBACnBmY,eAAgB7a,EAAoB0C,2BAI1CijB,iBACE1nB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAevZ,0BACnBoY,eAAgB7a,EAAoByC,4BAGxC2b,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe9Y,uBACnB2X,eAAgB7a,EAAoBkD,yBAGxCuiB,mBACExnB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe7Y,iCACnB0X,eAAgB7a,EAAoBmD,mCAGxC0b,kBAAmBzC,EAAcJ,GAAenZ,4BAChD6iB,4BAA6BtJ,EAAcJ,GAAelZ,sCAC1D2b,aAAc2U,EAAWmB,kBACrBjd,aAAM,EAANA,EAAQid,mBAEbjd,SAAe,QAATg7B,EAANh7B,EAAQuyB,eAAO,IAAAyI,GAAY,QAAZA,EAAfA,EAAiBf,kBAAU,IAAAe,GAAM,QAANA,EAA3BA,EAA6BQ,YAAI,IAAAR,GAAjCA,EAAmC11B,WAClC3e,EAAAA,EAAAA,KAACqxC,GAAc,CACb4B,cAAe55B,EAAOuyB,QACtBsH,aAAc/d,EACdge,oBAAwC,QAArBmB,EAAEj7B,EAAOyH,oBAAY,IAAAwzB,OAAA,EAAnBA,EAAqB31B,aAG5C3e,EAAAA,EAAAA,KAACkmC,GAAuBrwB,GAAA,CAEtByC,KAAK,kBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAeta,kBACnBmZ,eAAgB7a,EAAoB0B,oBAGxC6gB,aACEtkB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAera,8BACnBkZ,eAAgB7a,EAAoB2B,gCAGxCyc,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepa,0BACnBiZ,eAAgB7a,EAAoB4B,6BAGpC0V,SAAe,QAATm7B,EAANn7B,EAAQuyB,eAAO,IAAA4I,OAAA,EAAfA,EAAiBlnC,SApBE,QAoBKinC,EApBvBpf,EAAWyW,eAAO,IAAA2I,OAAA,EAAlBA,EAAoBjnC,UAwB7BtN,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,CACpByC,KAAK,WACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1Z,mBACnBuY,eAAgB7a,EAAoBsC,qBAGxC8b,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAezZ,2BACnBsY,eAAgB7a,EAAoBuC,8BAGpC+U,aAAM,EAANA,EAAQqZ,UAAQ,IACpB5R,aAAczH,SAAoB,QAAdo7B,EAANp7B,EAAQyH,oBAAY,IAAA2zB,OAAA,EAApBA,EAAsB91B,cAEtC3e,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAA,CACpByC,KAAK,WACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5Y,mBACnByX,eAAgB7a,EAAoBoD,qBAGxCgb,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3Y,2BACnBwX,eAAgB7a,EAAoBqD,8BAGpCiU,aAAM,EAANA,EAAQy7B,YAEd90C,EAAAA,EAAAA,KAACkmC,GAAuBrwB,GAAA,CACtByC,KAAK,SACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe7Z,iBACnB0Y,eAAgB7a,EAAoBmC,mBAGxCkiC,YAAaV,GACbphB,aACEtkB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5Z,6BACnByY,eAAgB7a,EAAoBoC,gCAGpCkV,aAAM,EAANA,EAAQ07B,UAEd/0C,EAAAA,EAAAA,KAAC4mC,GAAe/wB,GAAA,CACdyC,KAAK,YACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAena,sBACnBgZ,eAAgB7a,EAAoB6B,wBAGxCmjC,UACE/mC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAela,0BACnB+Y,eAAgB7a,EAAoB8B,4BAGxCmxC,gBAAiBL,EACjB1N,WAAYlpB,GAAe3M,0BACvBiI,aAAM,EAANA,EAAQ47B,aAEdj1C,EAAAA,EAAAA,KAAC+vB,GAAala,GAAAA,GAAA,CACZzV,QAAQ,YACRwX,MAAM,UACNmH,KAAK,SACL0F,SAAUyQ,GAAgBZ,GACtBhT,EAAe,4BAA0B,IAAAvhB,UAE7CC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAeva,iBACnBoZ,eAAgB7a,EAAoByB,8BAOlD,E,ykBCnQO,IAAM0xC,GAAmB,WAC9B,IACah6B,EACTY,KADFC,QAAWb,YAELE,EAA8BF,EAA9BE,WAAYD,EAAkBD,EAAlBC,cAKZe,EADJE,KADFL,QAAWE,iBAELC,oBAERvF,GAA0CG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAAlDwhB,EAAavhB,EAAA,GAAEwhB,EAAgBxhB,EAAA,GAE9B1C,EAAmBQ,IAAnBR,eAEMihC,EAAmBlQ,KAAzB5sB,KACR+8B,EAAoDhQ,KAAtCiQ,EAAmBD,EAAzB/8B,KAA2B6f,EAAYkd,EAAZld,aAGtB5b,EACTI,KADFX,QAAWO,UAELC,EAA+BD,EAA/BC,aAAcE,EAAiBH,EAAjBG,aAEhB+B,GAAMH,EAAAA,EAAAA,OAGqB3D,EAC7BK,KADFC,4BAA+BN,yBAEzBC,EAAkCD,EAAlCC,gBAAiBC,EAAiBF,EAAjBE,cAEzB1D,EAAAA,EAAAA,YAAU,WACRsuB,IACF,GAAG,KAEHtuB,EAAAA,EAAAA,YAAU,WACRklB,GAAyB,mBAAoBxhB,EAAc1G,GAC3DyG,EAAgB,mBAElB,GAAG,IA6DH,OAAIud,GACKl4B,EAAAA,EAAAA,KAACR,EAAa,KAIrBM,EAAAA,EAAAA,MAAC+yB,GAAa,CAAA9yB,SAAA,EACZC,EAAAA,EAAAA,KAACkgC,GAAW,CACV9/B,QAAQ,KACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3Z,iBACnBwY,eAAgB7a,EAAoBqC,sBAGxCpE,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,YACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehZ,eACnB6X,eAAgB7a,EAAoBgD,oBAGxC/E,EAAAA,EAAAA,KAACi0C,GAAmB,CAClBS,YAAaW,EACbh8B,OAAQ87B,EACR7gB,gBAAiB6D,EACjB5D,aAvFqF7b,eAAOL,GAChG,IAAMi9B,GAAc,IAAIpc,MAAOqc,WACzBC,EAAmBn9B,EAAK48B,UAE9BO,SAAAA,EAAkBC,SAASH,EAAa,EAAG,GAC3C,IAAII,EAAiB,KACjBr9B,EAAKuzB,UACP8J,EAAiB,CACf9J,QAAO/1B,GAAAA,GAAA,GACFwC,EAAKuzB,SAAO,IACft+B,QAAS+K,EAAKuzB,QAAQt+B,QACtBqoC,YAAa,eAKnB,IACE,IAAMC,QAAuBC,EAAAA,EAAAA,KAA0Cr3B,EAAKtK,EAAc2B,GAAAA,GAAAA,GAAA,GACrFwC,GACAq9B,GAAc,IACjBT,UAAWO,KAEE,IAAIt4B,GAAqB04B,EAAel4B,QAE5CN,cACTgb,GAAiB,GACjBjd,EAAcC,EAAa,GACvBqB,GAAgBA,EAAa3b,OAAS,GACxCyb,EAAa,IAGnB,CAAE,MAAO9a,GAAgB,IAAAw4B,EACjBC,EAAgBz4B,EACtB,IAA0B,QAAtBw4B,EAAAC,EAAc/gB,gBAAQ,IAAA8gB,OAAA,EAAtBA,EAAwBvc,UAAWT,EAAAA,IAAgBkd,oBAAqB,CAC1E,IAAQC,EAAWF,EAAc/gB,SAASd,KAAlC+hB,OACFC,EAAeD,aAAM,EAANA,EAAQtY,KAAI,SAACwT,GAAE,MAAM,CACxCnW,UAAWmW,EAAGgF,aACdpb,UAAWoW,EAAGiF,KACf,IACGF,SAAAA,EAAcv5B,QAAUu5B,EAAav5B,OAAS,EAChDyb,EAAa8d,GAEb9d,EAAa,GAEjB,MACEL,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehR,aACnB6P,eAAgB7a,EAAoBgL,eAGxCgS,KAAM/B,GAAYvb,OAGxB,CACF,MAkCF,E,sBCjIO,IAAMq0C,GAAmB,WAC9B,IAAAjhC,EAAqCH,IAA7BZ,EAAMe,EAANf,OAAQC,EAAgBc,EAAhBd,iBACRoK,EAAkBH,KAAlBG,cACFC,GAAYC,EAAAA,EAAAA,OAKVnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAAC1G,EAAQC,EAAkB,kBAC3B2E,iBACE,IAAM6F,QA9BZ7F,eAAkC8F,EAAgB1K,EAAgBC,GAGhE,IACE,IAAMoF,QAAiB48B,EAAAA,EAAAA,KAA4Dv3B,EAAK1K,EAAQC,GAEhG,OAAO,IAAImJ,GACT/D,EAASuE,OACTvE,EAASd,KAEb,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAV8E,CAAC,EAWpG,CACF,CAiB2Bs3B,CAAmB53B,EAAWtK,EAAQC,GAC3D,GAAIwK,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,sCAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,GAGN,EC/Dai3B,GAAgB,SAAC59B,EAA+B69B,GAC3D,OAAIA,EACwC,CACxCC,cAAe99B,EAAK89B,aACpBC,SAAU/9B,EAAK+9B,QACfC,mBAAoBh+B,EAAKg+B,kBACzBC,mBAAoBj+B,EAAKi+B,kBACzBC,aAAcl+B,EAAKk+B,YACnBC,aAAcn+B,EAAKm+B,YACnBC,kBAAmBp+B,EAAKo+B,iBACxBC,oBAAqBr+B,EAAKq+B,mBAC1BpnC,cAAe+I,EAAK/I,aACpBqnC,qBAAsBt+B,EAAKs+B,oBAC3BC,wBAAyBv+B,EAAKu+B,uBAC9BvnC,yBAA0BgJ,EAAKhJ,yBAM5BgJ,CACT,E,ykBCcO,IAAMw+B,GAAe,SAACX,GAC3B,IAAQhiC,EAAmBQ,IAAnBR,eACAiK,EAAkBH,KAAlBG,cACFK,GAAMH,EAAAA,EAAAA,OAIJnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAACtG,EAAgBgiC,EAAY,cAC7Bx9B,iBACE,IAAM6F,QApCZ7F,eAA8B8F,EAAgB0c,EAA6B4b,GAOzE,IACE,IAAM39B,QAAiB49B,EAAAA,EAAAA,KAAoCv4B,EAAK0c,GACxD8b,EAAc79B,EAASd,KAAvB2+B,UAEFje,EAAmEljB,GAAAA,GAAA,GACpEsD,EAASd,MAAI,IAChB2+B,UAAWA,GAAaf,GAAce,EAAWF,KAGnD,OAAO,IAAI55B,GAAoE/D,EAASuE,OAAM7H,GAAA,GAAOkjB,GACvG,CAAE,MAAOt3B,GACP,OAAOyb,GAAYwB,SAjB0D,CAC7Eu4B,YAAY,EACZC,eAAe,EACfC,eAAe,GAejB,CACF,CAgB2BC,CAAe54B,EAAKtK,EAAgBgiC,GACzD,GAAI33B,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,kCAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,GAGN,E,0mBC9DA,IAAMq4B,IAAyB74C,EAAAA,EAAAA,GAAO84C,GAAAA,EAAP94C,EAAyB,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CACtEG,WAAY,QACb,IAEK04C,IAAiB/4C,EAAAA,EAAAA,GAAOg5C,GAAAA,EAAPh5C,EAAiB,SAAAO,GAAQ,MAAQ,CACtD24B,WAD8C34B,EAALL,MACvBO,QAAQ,GAC3B,IAcKw4C,GAAuB,IAAIC,IAAI,CAAC,gBAAiB,gBAAiB,uBAE3DC,GAAiE,SAAC91C,GAC7E,IAAQyW,EAAsFzW,EAAtFyW,KAAM4H,EAAgFre,EAAhFqe,MAAOG,EAAyExe,EAAzEwe,YAAaC,EAA4Dze,EAA5Dye,aAAcqD,EAA8C9hB,EAA9C8hB,aAAcpD,EAAgC1e,EAAhC0e,WAAY/e,EAAoBK,EAApBL,MAAOyiB,EAAapiB,EAAboiB,SAEzE3C,GAAmBD,EAAAA,GAAAA,KAAnBC,eAEFs2B,EAAiBH,GAAqB9b,IAAIrjB,GAiD1CqK,EAAiBtC,IA9CrBrgB,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJE,MAAO,CAAEC,MAAO1C,GAAevgB,UAE/BC,EAAAA,EAAAA,KAACijB,GAAAA,EAAG,CACFgN,SAAU,IACVU,aAAc,EACdnZ,UAAU,OAAMzX,UAEhBC,EAAAA,EAAAA,KAACojB,GAAAA,GAAU,CACT9K,KAAMA,EACN+K,MAAO,CACLC,SAAU/C,aAAU,EAAVA,EAAYgD,aAExBK,OAAQ,SAAAzkB,GAAA,IAAG4kB,EAAK5kB,EAAL4kB,MAAOG,EAAU/kB,EAAV+kB,WAAU,OAC1BpkB,EAAAA,EAAAA,MAACqkB,GAAAA,EAAW,CACV1iB,QAASyiB,EAAWziB,MACpBgtC,UAAU,WAAU1uC,SAAA,EAEpBC,EAAAA,EAAAA,KAACq3C,GAAsB,CACrBQ,SACE73C,EAAAA,EAAAA,KAACu3C,GAAc1hC,GAAA,CACb+B,MAAM,UACN0L,UAAUs0B,IAAyBr3B,aAAU,EAAVA,EAAYgD,aAC/Cu0B,eAAgBn0B,EAEhBo0B,QAASv2C,GAAUuiB,EAAMviB,MACzBA,MAAOuiB,EAAMviB,MACb+jB,SAAUxB,EAAMC,IAEhBC,SAAUA,GAAYF,EAAME,UACxB3C,EAAe,GAADngB,OAAImX,EAAI,sBAG9B4H,MAAOA,QAAAA,EAAS,GAChBjI,GAAIK,IAEL4L,EAAWziB,OAAQzB,EAAAA,EAAAA,KAACmmB,GAAAA,EAAc,CAAApmB,SAAEsf,GAAwB6E,EAAWziB,SAA2B,OACvF,QASxB,OAEEzB,EAAAA,EAAAA,KAAAumB,EAAAA,SAAA,CAAAxmB,SAAG4iB,GAEP,ECtFaq1B,GAAmB,WAC9B,IAAAnjC,EAAmCH,IAOnC,MAL+C,CAC7C,mBAHYG,EAANf,OAIN,oBAJ4Be,EAAdX,eAQlB,ECFa+jC,GAAsB,SAAChd,GAClC,IAAAtkB,GAAgDG,EAAAA,EAAAA,YAAsDF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAA/FuhC,EAAgBthC,EAAA,GAAEuhC,EAAmBvhC,EAAA,GAE5C/B,EAAqDH,IAA7CZ,EAAMe,EAANf,OAAQI,EAAcW,EAAdX,eAAgBH,EAAgBc,EAAhBd,iBAC1ByK,GAAMH,EAAAA,EAAAA,OACJF,EAAkBH,KAAlBG,cAIAjC,EADJE,KADFL,QAAWE,iBAELC,oBAKFoC,EAAeH,EAAcJ,GAAelR,eAiClD,OA/BAqK,EAAAA,EAAAA,YAAU,YACQwB,iBACd,GAAIxE,EACF,IACE,IAAMkkC,QAAoBC,EAAAA,EAAAA,KAAwB75B,EAAKtK,GACxC,IAAIgJ,GAAqBk7B,EAAY16B,QAEzCN,aACT+6B,EAAoBC,EAAY//B,KAEpC,CAAE,MAAO5W,GAAgB,IAAAw4B,EAEjBqe,GAAuC,QAAtBre,EADDx4B,EACe0X,gBAAQ,IAAA8gB,OAAA,EAAtBA,EAAwBvc,UAAWT,EAAAA,IAAgBs7B,kBAE1Er8B,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,kBAGTs5B,IACFvc,OAAOC,SAAS3V,KAA4B,gBAArBtS,EA1BV,iCADO,6BA6BxB,CAEJ,CACAwrB,EAEF,GAAG,CAACzrB,EAAQI,EAAgB+mB,IAErB,CAAE5iB,KAAM6/B,EACjB,E,WCzDaM,GAAc,WACzB,IAAM95C,GAAQe,EAAAA,EAAAA,KAEd,OAAOE,EAAAA,EAAAA,GAAcjB,EAAMkB,YAAYC,KAAK,MAC9C,ECEM44C,IAAUj6C,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CAC5CC,QAAS,OACTC,cAAe,SAChB,IAEK85C,IAAmBl6C,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAEtB,SAAAO,GAAA,IAAGL,EAAKK,EAALL,MAAKi6C,EAAA55C,EAAE65C,WAAUC,EAAAF,EAAIG,SAAAA,OAAQ,IAAAD,GAAQA,EAAAE,EAAAJ,EAAEK,kBAAAA,OAAiB,IAAAD,GAAOA,EAAAE,EAAAN,EAAEz4C,OAAU,MAAU,CACzFkX,SAAU,WACVzY,QAAS,QACTuB,OAAQ44C,EAAW,GAAH33C,YAH2D,IAAA83C,EAAG,EAACA,EAGnD,MAAOD,EAAoB,sBAAwB,OAC/EE,WAAY,IACZttB,UAAWltB,EAAMO,QAAQ,GACzBk6C,WAAY,UACZjK,SAAU8J,EAAoB,SAAW,UACzCroB,aAAcqoB,EAAoBt6C,EAAMO,QAAQ,GAAKP,EAAMO,QAAQ,GACpE,IAEKm6C,IAAiB56C,EAAAA,EAAAA,GAAO,MAAPA,EAAqD,SAAAW,GAAA,IAAAk6C,EAAAl6C,EAAGy5C,WAAcE,SAAgB,MAAU,CACrH1hC,SAAU,WACVC,IAAK,EACLnX,YAHmG,IAAAm5C,GAAQA,EAGxF,EAAI,kBACvBl5C,MAAO,OACPgvC,WAAY,iDACb,IAEKrvB,IAAathB,EAAAA,EAAAA,GAAO86C,GAAAA,EAAP96C,EACjB,SAAAa,GAAA,IAAGX,EAAKW,EAALX,MAAK66C,EAAAl6C,EAAEu5C,WAAcE,SAAAA,OAAQ,IAAAS,GAAQA,EAAA,MAAU,CAChDv6C,cAAe,EACf4Y,MAAOlZ,EAAMkhB,QAAQmR,KAAK7E,QAC1BvM,SAAU,OACV2R,WAAY,OACZxM,cAAe,YACf8G,UAAWktB,EAAWp6C,EAAMO,QAAQ,GAAKP,EAAMO,QAAQ,GACvD0xB,aAAcjyB,EAAMO,QAAQ,GAC5BsyB,OAAQ,UACR,WAAY,CACVvyB,cAAeN,EAAMO,QAAQ,GAC7Bu6C,aAAc,aAAFr4C,OAAezC,EAAMkhB,QAAQC,KAAK,MAC9Cq5B,WAAY,GAEf,IAQUO,GAAsB,SAAC53C,GAAgC,IAAA63C,EAAAC,EAAAC,EAAAC,EAClEljC,GAAoCG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAA5CmjC,EAAUljC,EAAA,GAAEmjC,EAAanjC,EAAA,GAChC8E,GAAgD5E,EAAAA,EAAAA,UAAS,GAAE6E,GAAA3E,EAAAA,GAAAA,GAAA0E,EAAA,GAApDs+B,EAAgBr+B,EAAA,GAAEs+B,EAAmBt+B,EAAA,GAEpCu+B,EAAyBr4C,EAAzBq4C,WAAYn6C,EAAa8B,EAAb9B,SACdL,EAAW84C,KAEX2B,GAAgB7hB,EAAAA,EAAAA,QAA8B,MAC9C8hB,EAA6B16C,EAAW,IAAM,IAC9C26C,EAA0D,QAA1CX,EAAwB,QAAxBC,EAAGQ,EAAcvhB,eAAO,IAAA+gB,OAAA,EAArBA,EAAuBW,UAAUx5C,cAAM,IAAA44C,EAAAA,EAAI,EAC9Da,EAA4D,QAAtCX,EAAwB,QAAxBC,EAAGM,EAAcvhB,eAAO,IAAAihB,OAAA,EAArBA,EAAuBW,oBAAY,IAAAZ,EAAAA,EAAI,EAChEa,EAAoBJ,GAAoBD,EAExCM,GAAWnc,EAAAA,EAAAA,cAAY,WAC3BxC,OAAOmI,iBAAiB,UAAU,kBAAM+V,EAAoBM,EAAuB,GACrF,GAAG,CAACA,KAEJrjC,EAAAA,EAAAA,YAAU,WACR+iC,EAAoBM,GACpBG,GACF,GAAG,CAACH,EAAwBJ,EAAeO,IAE3C,IAAMC,GACJ36C,EAAAA,EAAAA,KAAC8f,GAAU,CACT86B,UAAU,OACVhC,WAAY,CAAEE,SAAUgB,GACxB,cAAaI,EACbxuB,QAAS,kBAAMquB,GAAeD,EAAW,EAAC/5C,SAEzC+5C,GACC95C,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAejP,KACnB8N,eAAgB7a,EAAoB+M,QAGtC9O,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/N,SACnB4M,eAAgB7a,EAAoBiO,aAM5C,OACElQ,EAAAA,EAAAA,MAAC24C,GAAO,CAAA14C,SAAA,EACND,EAAAA,EAAAA,MAAC44C,GAAgB,CACft4C,QAAQ,UACRqzB,MAAM,OACNmlB,WAAY,CACVE,SAAUgB,EACVd,kBAAmByB,EACnBv6C,OAAQ85C,GACRj6C,SAAA,EAEFC,EAAAA,EAAAA,KAAA,OAAKgkB,IAAKm2B,EAAcp6C,SAAEA,IACzB06C,GAAoBz6C,EAAAA,EAAAA,KAACo5C,GAAc,CAACR,WAAY,CAAEE,SAAUgB,KAAmB,QAEjFW,EAAoBE,EAAe,OAG1C,E,WClHa7qB,IAAatxB,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAAC,GAAQ,MAAQ,CACvDE,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZD,cAAe,SACfuB,MAAO,OACPyrB,UAN+CntB,EAALC,MAMzBO,QAAQ,GAC1B,IAEY8wB,IAAgBvxB,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAO,GAAQ,MAAQ,CAC1DkxB,SAAU,QACVrE,UAFkD7sB,EAALL,MAE5BO,QAAQ,GACzB+jB,MAAO,GACR,IAEY63B,IAAcr8C,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAW,GAAQ,MAAQ,CACxDR,QAAS,OACTwY,eAAgB,gBAChB8Y,SAAU,OACVrE,UAJgDzsB,EAALT,MAI1BO,QAAQ,GAC1B,IAEY67C,IAAkBt8C,EAAAA,EAAAA,GAAOu8C,GAAAA,EAAPv8C,EAAsB,SAAAa,GAAQ,MAAQ,CACnE6nB,YAD2D7nB,EAALX,MACnCO,QAAQ,GAC5B,IAEY+7C,IAAsBx8C,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAe,GAAQA,EAALb,MAAK,MAAQ,CAC/DC,QAAS,OACTwB,MAAO,OACPgX,eAAgB,aAChBvY,cAAe,SACfC,WAAY,aACb,IAEYo8C,IAAwBz8C,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAA8xB,GAAA,IAAG5xB,EAAK4xB,EAAL5xB,MAAK,OAAA0C,EAAAA,EAAAA,GAAA,CACzD8hB,OAAQxkB,EAAMO,QAAQ,EAAG,IAExBP,EAAMkB,YAAYs7C,GAAG,MAAQ,CAC5BtvB,UAAWltB,EAAMO,QAAQ,IAC1B,IAGUk8C,IAAiB38C,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAqyB,GAAQ,MAAQ,CAC/DF,aADuDE,EAALnyB,MAC9BO,QAAQ,GAC7B,IAEYm8C,IAAa58C,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAsyB,GAAQ,MAAQ,CAC3DlF,UADmDkF,EAALpyB,MAC7BO,QAAQ,GACzBuY,UAAW,OACZ,IAEY6jC,IAAc78C,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAA0yB,GAAQA,EAALxyB,MAAK,MAAQ,CACvDC,QAAS,OACTE,WAAY,SACZ8gB,SAAU,OACV2R,WAAY,OACZC,OAAQ,UACT,IAEYzR,IAAathB,EAAAA,EAAAA,GAAO,IAAPA,EAAY,SAAA6yB,GAAA,IAAG3yB,EAAK2yB,EAAL3yB,MAAK,MAAQ,CACpDkZ,MAAOlZ,EAAMkhB,QAAQmR,KAAK7E,QAC1BlM,eAAgB,YAChB,UAAW,CACTpI,MAAOlZ,EAAMkhB,QAAQsM,QAAQF,MAC7BhM,eAAgB,aAEnB,I,ykBCzCM,IAAMs7B,GAA4D,SAACz5C,GAAU,IAAA05C,EAAAC,EAAAC,EAAAC,EAC1EriC,EAAWxX,EAAXwX,OAEFsiC,EAAoBv/B,KAAsBL,QAAQE,iBAEhDnI,EAAWY,IAAXZ,OACF0F,EAAUw+B,KAEVx5B,GAAMH,EAAAA,EAAAA,OAEJkD,GAAcF,EAAAA,GAAAA,KAAdE,UAER5K,GAA0BG,EAAAA,EAAAA,YAA0CF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAA7DilC,EAAKhlC,EAAA,GAAEilC,EAAQjlC,EAAA,GACtB8E,GAAkD5E,EAAAA,EAAAA,WAAS,GAAM6E,GAAA3E,EAAAA,GAAAA,GAAA0E,EAAA,GAA1DogC,EAAiBngC,EAAA,GAAEogC,EAAoBpgC,EAAA,GAEhCu8B,EAAqBD,KAA3B5/B,KAEFqhB,GAAOzY,EAAAA,GAAAA,MAEL2G,EAA6B8R,EAA7B9R,MAAOzG,EAAsBuY,EAAtBvY,SAAU66B,EAAYtiB,EAAZsiB,QAEnBC,EAAwB5iC,SAAkB,QAAZkiC,EAANliC,EAAQ6iC,kBAAU,IAAAX,OAAA,EAAlBA,EAAoB58B,UAE5Cw9B,GAAW5d,EAAAA,EAAAA,cAAY7lB,iBAC3B,IACE,GAAIw/B,SAAAA,EAAkBzkC,WAAY,CAChC,IAAM2oC,QAAsBC,EAAAA,EAAAA,KAAyB79B,EAAK05B,EAAiBzkC,WAAY,CAAC,EAAG+F,GAE3F,GADe,IAAI0D,GAAqBk/B,EAAc1+B,QAC3CN,aAAeg/B,EAAc/jC,KAAK0O,WAAWjmB,OAAS,EAAG,CAClE,IAAMw7C,EAAsBF,EAAc/jC,KAAK0O,WAAW+kB,MACxD,SAACyQ,GAAY,MAA2B,kBAAtBA,EAAax9B,IAAwB,IAEzDg9B,EAAqBO,GACrBT,EAASO,EAAc/jC,KAAK0O,WAAW,GACzC,CACF,CACF,CAAE,MAAOtlB,GACPk6C,EAAkBz/B,oBAAoB,CACpC4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehR,aACnB6P,eAAgB7a,EAAoBgL,eAGxCgS,KAAM/B,GAAYvb,OAEtB,CAEF,GAAG,CAACqS,EAAQokC,KAEZhhC,EAAAA,EAAAA,YAAU,WAAM,IAAAslC,EACVnjC,SAA0B,QAApBmjC,EAANnjC,EAAQojC,0BAAkB,IAAAD,GAA1BA,EAA4Bn8B,aAC9B87B,GAEJ,GAAG,CAAC9iC,EAAQ6+B,EAAkBiE,IAE9B,IAEMO,EAAkC,QAA5BlB,EAFG5zB,IAEO60B,0BAAkB,IAAAjB,OAAA,EAAzBA,EAA2BkB,OAE1C,OAAIrjC,SAA0B,QAApBoiC,EAANpiC,EAAQojC,0BAAkB,IAAAhB,GAA1BA,EAA4Bp7B,cAAgBu7B,GACvC57C,EAAAA,EAAAA,KAACyX,GAAO,KAIf3X,EAAAA,EAAAA,MAAA,OAAKijB,MAAO,CAAEC,MAAO3J,SAA0B,QAApBqiC,EAANriC,EAAQojC,0BAAkB,IAAAf,OAAA,EAA1BA,EAA4Bp7B,cAAevgB,SAAA,EAC9DC,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,qBACL4H,OACEpgB,EAAAA,EAAAA,MAACysB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAYorB,EAAS,OAAS,UAAW38C,SAAA,EAE/CC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAetU,mBACnBmT,eAAgB7a,EAAoB0H,mBACpCoT,OAAQ,CACNua,yBACEp3B,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYiY,wBAC7BpR,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAerU,yBACnBkT,eAAgB7a,EAAoB2H,6BAI1CizC,qBACE38C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYu9B,qBAC7B12B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1Y,0BACnBuX,eAAgB7a,EAAoBsD,8BAI1Cu3C,qBACE58C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYw9B,qBAC7B32B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAezY,0BACnBsX,eAAgB7a,EAAoBuD,8BAI1Cu3C,qBACE78C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYy9B,qBAC7B52B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAexY,0BACnBqX,eAAgB7a,EAAoBwD,8BAI1Cu3C,qBACE98C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY09B,qBAC7B72B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAevY,0BACnBoX,eAAgB7a,EAAoByD,8BAI1Cu3C,qBACE/8C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY29B,qBAC7B92B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAetY,0BACnBmX,eAAgB7a,EAAoB0D,8BAI1Cu3C,qBACEh9C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY49B,qBAC7B/2B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAerY,0BACnBkX,eAAgB7a,EAAoB2D,8BAI1Cu3C,qBACEj9C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY69B,qBAC7Bh3B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepY,0BACnBiX,eAAgB7a,EAAoB4D,8BAI1Cu3C,qBACEl9C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY89B,qBAC7Bj3B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenY,0BACnBgX,eAAgB7a,EAAoB6D,iCAK5C,OAINpE,QAASk7C,EACTz4B,SAAU,SAAC6K,EAAIttB,GACTA,GACF2f,EACE,qBACA,CAAEu7B,OAAQd,aAAK,EAALA,EAAOc,QACjB,CAAE52B,aAAa,EAAMC,aAAa,EAAMF,gBAAgB,IAE1Dm2B,EAAQ,wBAER76B,EAAS,0BAAsBtG,EAAW,CACxCiL,aAAa,EACbC,aAAa,EACbF,gBAAgB,IAElBm2B,EAAQ,sBAEZ,GACI3iC,aAAM,EAANA,EAAQojC,qBAEbX,GACC97C,EAAAA,EAAAA,KAACo7C,GAAU,CACTh7C,QAAQ,QACRoX,UAAU,OAAMzX,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAetV,mBACnBmU,eAAgB7a,EAAoB0G,mBACpCoU,OAAQ,CACNya,oBACEt3B,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYmY,mBAC7BtR,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAevV,oBACnBoU,eAAgB7a,EAAoByG,6BAO9C,KACHyzC,GACCj8C,EAAAA,EAAAA,KAACy5C,GAAmB,CAACS,WAAY34B,EAAU,wBAAwBxhB,UACjEC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAerb,YACnBka,eAAgB7a,EAAoBW,gBAGtC,OAGV,E,olBChQO,IAAMy6C,GAAuD,SAACt7C,GAAU,IAAAu7C,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACrEC,EAA2B59C,EAA3B49C,eAAgBpmC,EAAWxX,EAAXwX,OACxB1C,GAA0CG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAAlD+oC,EAAa9oC,EAAA,GAAE+oC,EAAgB/oC,EAAA,GAEhCgpC,EAAsBvmC,SAAiB,QAAX+jC,EAAN/jC,EAAQ29B,iBAAS,IAAAoG,GAAQ,QAARA,EAAjBA,EAAmByC,cAAM,IAAAzC,OAAA,EAAzBA,EAA2B0C,kBAEvD,OACEhgD,EAAAA,EAAAA,MAAAymB,EAAAA,SAAA,CAAAxmB,SAAA,CACG6/C,GACC9/C,EAAAA,EAAAA,MAACu7C,GAAW,CAAC3vB,QAAS,kBAAMi0B,GAAkBD,EAAc,EAAC3/C,SAAA,CAC1D2/C,GACC1/C,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1S,mBACnBuR,eAAgB7a,EAAoBsJ,sBAGtCrL,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAezS,mBACnBsR,eAAgB7a,EAAoBuJ,sBAIxCtL,EAAAA,EAAAA,KAAC+/C,GAAAA,EAAa,CACZz/C,GAAI,CACFiX,UAAWmoC,EAAgB,kBAAoB,IAC/CvG,WAAY,6BAIhB,MAEJr5C,EAAAA,EAAAA,MAACk3B,GAAAA,EAAQ,CAACC,IAAI2oB,GAAsBF,EAAqB3/C,SAAA,EACvDC,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,aACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAYmuB,EAAexI,WAAa,OAAS,UAAWl3C,UAElEC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAerV,SACnBkU,eAAgB7a,EAAoB2G,aAI1ClH,MAAOi+C,EAAexI,YAClB59B,aAAM,EAANA,EAAQ49B,cAEdj3C,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,oBACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAoC,QAAxB+rB,EAAAoC,EAAezI,iBAAS,IAAAqG,GAAxBA,EAA0BjH,QAAU,OAAS,UAAWr2C,UAE1EC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe9b,iBACnB2a,eAAgB7a,EAAoBE,qBAI1CT,MAA+B,QAA1B87C,EAAEmC,EAAezI,iBAAS,IAAAsG,OAAA,EAAxBA,EAA0BlH,SAC7B/8B,SAAiB,QAAXkkC,EAANlkC,EAAQ29B,iBAAS,IAAAuG,OAAA,EAAjBA,EAAmBnH,WAEzBp2C,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,mCACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CACFgxB,WAAoC,QAAxBksB,EAAAiC,EAAezI,iBAAS,IAAAwG,GAAxBA,EAA0B5G,uBAAyB,OAAS,UACxE72C,UAEFC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/b,gCACnB4a,eAAgB7a,EAAoBC,oCAI1CR,MAA+B,QAA1Bi8C,EAAEgC,EAAezI,iBAAS,IAAAyG,OAAA,EAAxBA,EAA0B7G,wBAC7Bv9B,SAAiB,QAAXqkC,EAANrkC,EAAQ29B,iBAAS,IAAA0G,OAAA,EAAjBA,EAAmB9G,0BAEzB52C,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,gCACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAoC,QAAxBqsB,EAAA8B,EAAezI,iBAAS,IAAA2G,GAAxBA,EAA0BhH,oBAAsB,OAAS,UAAW52C,UAEtFC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe7b,6BACnB0a,eAAgB7a,EAAoBG,iCAI1CV,MAA+B,QAA1Bo8C,EAAE6B,EAAezI,iBAAS,IAAA4G,OAAA,EAAxBA,EAA0BjH,qBAC7Bt9B,SAAiB,QAAXwkC,EAANxkC,EAAQ29B,iBAAS,IAAA6G,OAAA,EAAjBA,EAAmBlH,uBAEzB32C,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,8BACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAoC,QAAxBwsB,EAAA2B,EAAezI,iBAAS,IAAA8G,GAAxBA,EAA0BxH,kBAAoB,OAAS,UAAWv2C,UAEpFC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5b,2BACnBya,eAAgB7a,EAAoBI,+BAI1CX,MAA+B,QAA1Bu8C,EAAE0B,EAAezI,iBAAS,IAAA+G,OAAA,EAAxBA,EAA0BzH,mBAC7Bj9B,SAAiB,QAAX2kC,EAAN3kC,EAAQ29B,iBAAS,IAAAgH,OAAA,EAAjBA,EAAmB1H,qBAEzBt2C,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,8BACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAoC,QAAxB2sB,EAAAwB,EAAezI,iBAAS,IAAAiH,GAAxBA,EAA0B5H,kBAAoB,OAAS,UAAWt2C,UAEpFC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3b,2BACnBwa,eAAgB7a,EAAoBK,+BAI1CZ,MAA+B,QAA1B08C,EAAEuB,EAAezI,iBAAS,IAAAkH,OAAA,EAAxBA,EAA0B7H,mBAC7Bh9B,SAAiB,QAAX8kC,EAAN9kC,EAAQ29B,iBAAS,IAAAmH,OAAA,EAAjBA,EAAmB9H,qBAEzBr2C,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,wBACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAoC,QAAxB8sB,EAAAqB,EAAezI,iBAAS,IAAAoH,GAAxBA,EAA0B5H,YAAc,OAAS,UAAWz2C,UAE9EC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1b,oBACnBua,eAAgB7a,EAAoBM,wBAI1Cb,MAA+B,QAA1B68C,EAAEoB,EAAezI,iBAAS,IAAAqH,OAAA,EAAxBA,EAA0B7H,aAC7Bn9B,SAAiB,QAAXilC,EAANjlC,EAAQ29B,iBAAS,IAAAsH,OAAA,EAAjBA,EAAmB9H,eAEzBx2C,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,oCACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CACFgxB,WAAoC,QAAxBitB,EAAAkB,EAAezI,iBAAS,IAAAuH,GAAxBA,EAA0BlvC,wBAA0B,OAAS,UACzEtP,UAEFC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1O,wBACnBuN,eAAgB7a,EAAoBsN,4BAI1C7N,MAA+B,QAA1Bg9C,EAAEiB,EAAezI,iBAAS,IAAAwH,OAAA,EAAxBA,EAA0BnvC,yBAC7BgK,SAAiB,QAAXolC,EAANplC,EAAQ29B,iBAAS,IAAAyH,OAAA,EAAjBA,EAAmBpvC,2BAEzBrP,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,yBACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAoC,QAAxBotB,EAAAe,EAAezI,iBAAS,IAAA0H,GAAxBA,EAA0BpvC,aAAe,OAAS,UAAWvP,UAE/EC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAezO,aACnBsN,eAAgB7a,EAAoBuN,iBAI1C9N,MAA+B,QAA1Bm9C,EAAEc,EAAezI,iBAAS,IAAA2H,OAAA,EAAxBA,EAA0BrvC,cAC7B+J,SAAiB,QAAXulC,EAANvlC,EAAQ29B,iBAAS,IAAA4H,OAAA,EAAjBA,EAAmBtvC,gBAEzBtP,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,yBACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAoC,QAAxButB,EAAAY,EAAezI,iBAAS,IAAA6H,GAAxBA,EAA0B1I,aAAe,OAAS,UAAWp2C,UAE/EC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAezb,sBACnBsa,eAAgB7a,EAAoBO,0BAI1Cd,MAA+B,QAA1Bs9C,EAAEW,EAAezI,iBAAS,IAAA8H,OAAA,EAAxBA,EAA0B3I,cAC7B98B,SAAiB,QAAX0lC,EAAN1lC,EAAQ29B,iBAAS,IAAA+H,OAAA,EAAjBA,EAAmB5I,gBAEzBn2C,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,wBACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAoC,QAAxB0tB,EAAAS,EAAezI,iBAAS,IAAAgI,GAAxBA,EAA0BzI,YAAc,OAAS,UAAWx2C,UAE9EC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAexb,qBACnBqa,eAAgB7a,EAAoBQ,yBAI1Cf,MAA+B,QAA1By9C,EAAEQ,EAAezI,iBAAS,IAAAiI,OAAA,EAAxBA,EAA0B1I,aAC7Bl9B,SAAiB,QAAX6lC,EAAN7lC,EAAQ29B,iBAAS,IAAAkI,OAAA,EAAjBA,EAAmB3I,eAEzBv2C,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,+BACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAoC,QAAxB6tB,EAAAM,EAAezI,iBAAS,IAAAmI,GAAxBA,EAA0BzI,mBAAqB,OAAS,UAAW32C,UAErFC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAevb,4BACnBoa,eAAgB7a,EAAoBS,gCAI1ChB,MAA+B,QAA1B49C,EAAEK,EAAezI,iBAAS,IAAAoI,OAAA,EAAxBA,EAA0B1I,oBAC7Br9B,SAAiB,QAAXgmC,EAANhmC,EAAQ29B,iBAAS,IAAAqI,OAAA,EAAjBA,EAAmB3I,sBAEzB12C,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,6BACL4H,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAoC,QAAxBguB,EAAAG,EAAezI,iBAAS,IAAAsI,GAAxBA,EAA0B7I,iBAAmB,OAAS,UAAW12C,UAEnFC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAetb,0BACnBma,eAAgB7a,EAAoBU,8BAI1CjB,MAA+B,QAA1B+9C,EAAEE,EAAezI,iBAAS,IAAAuI,OAAA,EAAxBA,EAA0B9I,kBAC7Bp9B,SAAiB,QAAXmmC,EAANnmC,EAAQ29B,iBAAS,IAAAwI,OAAA,EAAjBA,EAAmB/I,wBAKjC,EClPO,IAAMuJ,GAAmB,WAC9B,IAAQlsC,EAAWY,IAAXZ,OACAqK,EAAkBH,KAAlBG,cACFC,GAAYC,EAAAA,EAAAA,OAKVnC,EADJE,KADFL,QAAWE,iBAELC,oBAEF+jC,EAAW9hC,EAAcJ,GAAelR,eAE9C,OAAO2N,EAAAA,EAAAA,IACL,CAAC1G,EAAQ,iBACT4E,iBACE,IAAM6F,QA3BZ7F,eAAyC8F,EAAgB1K,GAGvD,IACE,IAAMqF,QAAiB+mC,EAAAA,EAAAA,KAAuB1hC,EAAK1K,GAEnD,OAAO,IAAIoJ,GAA8C/D,EAASuE,OAAQvE,EAASd,KACrF,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAP+C,GAQpE,CACF,CAiB2ByhC,CAA0B/hC,EAAWtK,GAC1D,GAAIyK,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,qCAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAAS6nC,EACTlhC,KAAM/B,GAAYvb,OAGxB,GAGN,E,ykBCLO,IAAM2+C,GAA4B,SAACnlB,GAAwB,IAAAolB,EAClDnI,EAAqBD,KAA3B5/B,KACFioC,EAAqD,QAA/BD,EAAGnI,aAAgB,EAAhBA,EAAkBzkC,kBAAU,IAAA4sC,EAAAA,EAAI3sC,EAAAA,GACzD8F,EAAUw+B,KAER75B,EAAkBH,KAAlBG,cACFK,GAAMH,EAAAA,EAAAA,OAKJnC,EADJE,KADFL,QAAWE,iBAELC,oBACF+jC,EAAW9hC,EAAcJ,GAAelR,eAE9C,OAAO2N,EAAAA,EAAAA,IACL8lC,IAAsD,IAA5BA,EACtB,CAACA,EAAwBrlB,EAAY,gBACrC,MACJviB,iBACE,IAAM6F,QAlDZ7F,eAAyC8F,EAAgB/K,EAAoB8sC,GAE3E,IACE,IAAAC,QAAqCC,QAAQC,IAAI,EAC/CC,EAAAA,EAAAA,KAA0BniC,EAAK/K,EAAY,CAAC,EAAG8sC,IAC/CK,EAAAA,EAAAA,KAA6BpiC,EAAK/K,EAAY,CAAC,EAAG8sC,KAClDM,GAAA7pC,EAAAA,GAAAA,GAAAwpC,EAAA,GAHKM,EAASD,EAAA,GAAE7J,EAAS6J,EAAA,GAO3B,OAFkB3jC,GAAYE,UAAU0jC,EAAUpjC,OAAQs5B,EAAUt5B,QAGrDojC,EAAUzoC,KAAKyJ,KAAI,SAACi/B,GAC/B,IAEMC,GAFahK,EAAU3+B,KAAK0O,WAAWjmB,OAAS,EAAIk2C,EAAU3+B,KAAK0O,WAAa,IAEhDtF,MAAK,SAACw/B,GAAQ,OAAKA,EAASC,YAAY/3B,SAAS43B,EAAKrvB,WAAW,IAEvG,OAAA7b,GAAAA,GAAA,GACKkrC,GAAI,IACPE,SAAUD,GAEd,SAKF,CACF,CAAE,MAAOv/C,GACP,OAAOyb,GAAYwB,SA1BwD,GA2B7E,CACF,CAqB2ByiC,CAA0B3iC,EAAK8hC,EAAwB9mC,GAC5E,GAAI+E,EACF,OAAOA,EAET,MAAM,IAAI/F,MAAM,0CAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAAS6nC,EACTlhC,KAAM/B,GAAYvb,OAGxB,GAGN,E,ykBC1EO,IAAM2/C,GAAiB,SAACv/C,GAC7B,IAAQyW,EAA0FzW,EAA1FyW,KAAM4H,EAAoFre,EAApFqe,MAAOmO,EAA6ExsB,EAA7EwsB,WAAYpK,EAAiEpiB,EAAjEoiB,SAAUo9B,EAAuDx/C,EAAvDw/C,OAAQ97B,EAA+C1jB,EAA/C0jB,SAAU+7B,EAAqCz/C,EAArCy/C,WAErDhgC,GAAmBD,EAAAA,GAAAA,KAAnBC,eAEJigC,EAAa,KAajB,OAXIrhC,IACFqhC,GACEvhD,EAAAA,EAAAA,KAACwpB,GAAAA,EAAU3T,GAAAA,GAAA,GACLyL,EAAe,GAADngB,OAAImX,EAAI,uBAAoB,IAC9CkpC,QAASlpC,EAAKvY,SAEbmgB,OAMLpgB,EAAAA,EAAAA,MAACqkB,GAAAA,EAAW,CACVC,WAAS,EACTd,SAAU+K,EACVtL,MAAO,CAAEpkB,QAAS,QAASoB,SAAA,CAE1BwhD,GACDvhD,EAAAA,EAAAA,KAAA,SACEgkB,IAAKuB,EACLjN,KAAMA,EACNL,GAAIK,EACJyG,KAAK,OACLsiC,OAAQA,EACRI,SAAUH,EACVr9B,SAAUA,MAIlB,E,ykBCvBA,IAEM4O,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CAClD0Y,SAAU,WACVjX,MAAO,OACR,IAEKuhD,IAAsBljD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAO,GAAQA,EAALL,MAAK,MAAQ,CACxD8Y,UAAW,SACZ,IAEKmqC,IAAenjD,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAW,GAAQA,EAALT,MAAK,MAAQ,CAClDykB,SAAU,QACVhjB,MAAO,OACR,IAEKyhD,GAA4B,SAChCrjC,EACAsjC,GAGIA,GAAsBtjC,GACxBsjC,EAAmBtjC,EAEvB,EAmDaujC,GAAmC,SAACjgD,GAAU,IAAAw+C,EAEvDgB,EAYEx/C,EAZFw/C,OACAC,EAWEz/C,EAXFy/C,WACAvhD,EAUE8B,EAVF9B,SACAgiD,EASElgD,EATFkgD,kBACmBC,EAQjBngD,EARFogD,kBACoBC,EAOlBrgD,EAPFsgD,mBACsBC,EAMpBvgD,EANFwgD,qBACAC,EAKEzgD,EALFygD,YACAC,EAIE1gD,EAJF0gD,eACAC,EAGE3gD,EAHF2gD,YACAn0B,EAEExsB,EAFFwsB,WACAo0B,EACE5gD,EADF4gD,UAGIl9B,GAAW+S,EAAAA,EAAAA,UAEThX,GAAmBD,EAAAA,GAAAA,KAAnBC,eACM42B,EAAqBD,KAA3B5/B,KAEMqqC,EAAsBtC,KAA5B/nC,KAEF5E,EAAyC,QAA/B4sC,EAAGnI,aAAgB,EAAhBA,EAAkBzkC,kBAAU,IAAA4sC,EAAAA,EAAI,KAE7C7mC,EAAUw+B,KAKR97B,EADJE,KADFL,QAAWE,iBAELC,oBAEFsC,GAAMH,EAAAA,EAAAA,OASNskC,EAAc,SAACC,GACnBr9B,EAASqT,QAAUgqB,EACf/gD,EAAM0jB,UACR1jB,EAAM0jB,SAASq9B,EAEnB,EAEMC,EAAiBnqC,eACrBoqC,EACAC,EACAC,GAEA,IACE,IAAM7pC,QAAiB8pC,EAAAA,EAAAA,KAAuBzkC,EAAKskC,EAAoBC,EAAaC,EAAgBxpC,GAEpG,OAAO,IAAI0D,GACT/D,EAASuE,OAETvE,EAASd,KAEb,CAAE,MAAO5W,GACPya,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepR,aACnBiQ,eAAgB7a,EAAoB4K,eAGxCoS,KAAM/B,GAAYvb,OAEtB,CAEA,OAAOyb,GAAYzb,KACrB,EAwBMyhD,EAAkBxqC,eACtBoqC,EACAK,EACAJ,EACAK,GAEA,IAAIC,EAEJ,IAGE,OAFAA,QA/BmB3qC,eAAOoqC,EAA4BpxB,GACxD,IACE,IAAMvY,QAAiBmqC,EAAAA,EAAAA,KAAuB9kC,EAAKskC,EAAoBpxB,EAAYlY,GAGnF,OAFe,IAAI0D,GAAqB/D,EAASuE,OAGnD,CAAE,MAAOjc,GACPya,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenR,aACnBgQ,eAAgB7a,EAAoB6K,eAGxCmS,KAAM/B,GAAYvb,OAEtB,CAEA,OAAOyb,GAAYzb,KACrB,CAWyB8hD,CAAeT,EAAoBK,GAEpDE,EAAajmC,kBACFylC,EAAeC,EAAoBC,EAAaK,GAGxDlmC,GAAYzb,KACrB,CAAE,MAAOA,GACPya,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepR,aACnBiQ,eAAgB7a,EAAoB4K,eAGxCoS,KAAM/B,GAAYvb,OAEtB,CAEA,OAAOyb,GAAYzb,KACrB,EAEM+hD,GACJxjD,EAAAA,EAAAA,KAAC2hD,GAAY9rC,GAAAA,GAAA,CACXuO,WAAS,EACThkB,QAAQ,WACRwX,MAAM,WACF0J,EAAe,6BAA2B,IAAAvhB,UAE9CC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3S,qBACnBwR,eAAgB7a,EAAoBqJ,0BAKpC43C,GAA+CS,EAAAA,EAAAA,UACnD,iBAAO,CACLlB,eAAAA,EACAC,iBAA6B3nC,IAAhB2nC,GAAmCA,EACjD,GACD,CAACD,EAAgBC,IAGnBkB,GAAqBD,EAAAA,EAAAA,UACnB,eAAAE,EAAA,OAaM,QAbNA,EACEjB,aAAiB,EAAjBA,EACIrtB,QAAO,SAAC0rB,GAGR,QAAOA,EAAKwB,iBAAmBA,GAAoBxB,EAAKyB,YAC1D,IACCoB,MAAK,SAACC,EAAGC,GACR,OAAID,EAAEE,YAAYra,WAAaoa,EAAEC,YAAYra,UACpCma,EAAEE,YAAYra,UAAYoa,EAAEC,YAAYra,UAG1C,CACT,WAAE,IAAAia,EAAAA,EAAK,EAAE,GACb,CAACpB,EAAgBG,IAfZsB,GAgBNhtC,EAAAA,GAAAA,GAAA0sC,EAAA,GAhBgB,GAkBXO,EAAavrC,eAAOwrC,EAAY3iD,EAAauhD,EAA4BvkC,GAC7E,IACM4lC,GADe,GACJ5iD,EAAM,GAIvB,GAFAyhD,EAAeT,eAAiBA,EAE5BD,GAzLiB,SAAC8B,EAA0BF,GAClD,SAAIE,GAAmBF,GAAQA,EAAKzpB,KAAO2pB,EAK7C,CAmLuBC,CAAiB/B,EAAa4B,GAAjD,CACE,IAAMI,EAASC,KAAKC,KAAKlC,EA7Pb,WA8PNpgC,GACJliB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAexN,+BACnBqM,eAAgB7a,EAAoBwO,+BACpCsM,OAAQ,CAAEynC,OAAAA,KAWd1C,GAPsC,CACpCsC,KAAAA,EACAC,QAAAA,EACA/mC,WAAW,EACXhF,QAAS8J,GAG2BggC,EAGxC,KApBA,CAsBA,IAAIuC,EAOJ,IALEA,GADkB,IAAhBjC,SAAyBwB,GAAAA,EAAYtyB,aAAe4vB,QAClC4B,EAAgBJ,EAAoBkB,EAAWtyB,WAAY,CAAEwyB,KAAAA,GAAQlB,SAErEH,EAAeC,EAAoB,CAAEoB,KAAAA,GAAQlB,IAGnD7pC,SAAU,CACxB,IAAMurC,EAhQkB,SAC5BvrC,EACA+qC,EACAC,GACG,IAAAQ,EACCC,EAAsC,CACxCV,KAAAA,EACAC,QAAAA,EACA/mC,WAAW,GAGb,GAAwB,iBAAbjE,EACTyrC,EAAgB/uC,GAAAA,GAAA,GACX+uC,GAAgB,IACnBlzB,WAAYvY,EACZiE,WAAW,SAER,GAAmB,QAAnBunC,EAAIxrC,EAASoE,cAAM,IAAAonC,GAAfA,EAAiB7jD,OAAQ,CAElC,IAAMo+B,EAAO/lB,GAAYA,EAASoE,QAAUpE,EAASoE,OAAO,IAAMpE,EAASoE,OAAO,GAAG2hB,KAC/E9mB,EAAU6G,GAA2BigB,GAE3C0lB,EAAgB/uC,GAAAA,GAAA,GACX+uC,GAAgB,IACnBxsC,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAIG,EAAQH,GACZ2E,eAAgBxE,EAAQwE,kBAIhC,MACEgoC,EAAgB/uC,GAAAA,GAAA,GACX+uC,GAAgB,IACnBxsC,QAASe,EAASf,UAItB,OAAOwsC,CACT,CAyNyBC,CAAsBJ,EAAYtrC,SAAU+qC,EAAMC,GACrEvC,GAA0B8C,EAAYxC,GACtC3jC,EAAOumC,cAAcx2B,KAAKo2B,EAC5B,CAbA,CAcF,EA6BA,OACE5kD,EAAAA,EAAAA,MAAC+yB,GAAa,CAAA9yB,SAAA,EACZC,EAAAA,EAAAA,KAACojB,GAAAA,GAAU,CACT9K,KAAMmqC,EACNp/B,MAAO,CACLC,SAAU+K,GAEZzK,OAAQ,SAAAvkB,GAAA,IAAGy1B,EAASz1B,EAATy1B,UAAW/Q,EAAK1kB,EAAL0kB,MAAK,OACzBjkB,EAAAA,EAAAA,MAACqkB,GAAAA,EAAW,CAAApkB,SAAA,EACVC,EAAAA,EAAAA,KAACohD,GAAc,CACb9oC,KAAMmqC,EACNpB,OAAQA,EACR97B,SAAUo9B,EACVrB,WAAYA,EACZr9B,SAAU,SAAC+B,GACT,IAAQ++B,EAAU/+B,EAAEC,OAAZ8+B,MAEJA,SAAAA,EAAOjkD,QAAU2S,GA5CViF,eACvBqsC,EACAhhC,EACA++B,GAEIf,QAAkClnC,IAAbkqC,EAAM,IAC7BhD,EAAkBgD,EAAM,IAGtBA,EAAMjkD,OAAS,GAAKkhD,GACtBA,EAAc+C,GAGhB,IAAMxmC,EAAwB,CAAEumC,cAAe,IAEzCE,EAAiBhkD,MAAM8+B,KAAKilB,GAAOjjC,KAAIpJ,eAAOwrC,EAAM3iD,GAAG,OAC3D0iD,EAAWC,EAAM3iD,EAAKuhD,EAAoBvkC,EAAO,UAG7CkiC,QAAQC,IAAIsE,GAEd5C,IACFr+B,EAAME,SAAS1F,EAAOumC,eACtB1C,EAAiB7jC,GAErB,CAoBgB0mC,CAAiBF,EAAOhhC,EAAOtQ,EAEnC,IAEDqhB,EAAUI,cAAel1B,EAAAA,EAAAA,KAACyX,GAAO,IAAM,OAC5B,KAGlBzX,EAAAA,EAAAA,KAAC0hD,GAAmB,CAACh2B,QAxOL,WACdnG,EAASqT,UACXrT,EAASqT,QAAQp3B,MAAQ,GACzB+jB,EAASqT,QAAQssB,QAErB,EAmO8CnlD,SAAEA,QAAAA,EAAYyjD,KACxDxjD,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,UACRwX,MAAM,gBACNJ,UAAU,SACV7Y,QAAQ,QAAOoB,UAEfC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5T,2BACnByS,eAAgB7a,EAAoBoI,iCAK9C,E,+NCzXO,IAAMg7C,GAA+B,SAACtjD,GAAK,OAAK7B,EAAAA,EAAAA,KAAC8hD,G,uWAAYjsC,CAAA,GAAKhU,GAAS,E,olBCMlF,IAoCkCujD,GApC5BC,IAAuB7mD,EAAAA,EAAAA,GAAO8mD,GAAAA,GAAP9mD,EAAuB,SAAAC,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CAClE,oBAAkB0C,EAAAA,EAAAA,GAAA,CAChB+hB,SAAU,SACTzkB,EAAMkB,YAAYC,KAAK,MAAQ,CAC9BM,MAAO,OACPgjB,SAAU,OACV/L,SAAU,WACVmuC,OAAQ,EACRriC,OAAQ,EACRsiC,uBAAwB,EACxBC,wBAAyB,IAG9B,IAEKC,IAAelnD,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAO,GAAA,IAAGL,EAAKK,EAALL,MAAK,MAAQ,CAClDywC,WAAYzwC,EAAMkhB,QAAQne,MAAMse,KAChCnI,MAAOlZ,EAAMkhB,QAAQsM,QAAQy5B,aAC7B,mBAAoB,CAClBxW,WAAYzwC,EAAMkhB,QAAQne,MAAMse,KAChCnI,MAAOlZ,EAAMkhB,QAAQsM,QAAQy5B,cAEhC,IAEKC,IAAepnD,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAW,GAAQA,EAALT,MAAK,MAAQ,CAClDshB,eAAgB,YAChB,mBAAoB,CAClBmvB,WAAY,UACZnvB,eAAgB,YAChBwQ,UAAW,QAEd,IAgDYq1B,IA3CqBT,GAHjB,SAACvjD,GAA0B,OAAK7B,EAAAA,EAAAA,KAAA,OAAAD,SAAM8B,EAAM9B,UAAe,EAI1E,SAAC8B,GACC,IAAQikD,EAAwCjkD,EAAxCikD,OAAQC,EAAgClkD,EAAhCkkD,cAAeC,EAAiBnkD,EAAjBmkD,aACvB7nC,EAAkBH,KAAlBG,cACAmD,GAAmBD,EAAAA,GAAAA,KAAnBC,eAER,OACEthB,EAAAA,EAAAA,KAACqlD,GAAoB,CACnBY,iBAAe,EACfruC,MAAM,QACNsuC,SAAS,QACTC,OAAQhoC,EAAcJ,GAAe5K,SACrC+2B,KAAM4b,EACNM,QAAS,EACPpmD,EAAAA,EAAAA,KAAC0lD,GAAY7vC,GAAAA,GAAA,CAEX+B,MAAM,UACN8T,QAASq6B,GACLzkC,EAAe,sCAAoC,IAAAvhB,UAEvDC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepQ,OACnBiP,eAAgB7a,EAAoB4L,WAPlC,WAUN3N,EAAAA,EAAAA,KAAC4lD,GAAY/vC,GAAAA,GAAA,CAEX+B,MAAM,UACN8T,QAASs6B,GACL1kC,EAAe,qCAAmC,IAAAvhB,UAEtDC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAerR,OACnBkQ,eAAgB7a,EAAoB2K,WAPlC,WAUN3M,UAEFC,EAAAA,EAAAA,KAAColD,GAAgBvvC,GAAA,GAAKhU,KAG5B,G,uDC9EI2vB,GAAc9X,KAAAA,SAYb,SAAS2sC,GACd5yC,EACAie,EACA40B,GAEA,IAAAzxC,EAAiDH,IAAzCf,EAAYkB,EAAZlB,aAAcG,EAAMe,EAANf,OAAQI,EAAcW,EAAdX,eACtB+B,GAAmBlB,EAAAA,EAAAA,KAAnBkB,eACAkI,EAAkBH,KAAlBG,cAKAjC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAE5C05C,EAAW,GAAHplD,OAAMwS,EAAY,eAAAxS,OAAcsS,EAAU,eAAAtS,OAAcuwB,EAAU,UAE1E80B,EADcjiC,QAAQ9Q,GAAcie,IAA8B,IAAhBA,GACzB,SAAHvwB,OAAYsS,EAAU,KAAAtS,OAAIuwB,GAAe,KAE/D7X,EAAUnB,eAAHja,GAMyB,IApChBkzB,EA+BpB/Y,EAAGna,EAAHma,IACA9E,EAAMrV,EAANqV,OACAI,EAAczV,EAAdyV,eACA+B,EAAcxX,EAAdwX,eACAqwC,EAAW7nD,EAAX6nD,YAEA,IACE,IAAM9sC,EAAyC,CAC7C,mBAAoB1F,EACpB,oBAAqBI,EACrB8d,cAAe/b,GAEXkD,QAAiBqY,GAAYnU,IAAUzE,EAAK,CAChDY,QAAAA,EACAyY,aAAc,OACdw0B,OAAQH,IAEV,OAhDkB30B,EAgDIxY,EAASd,KAhDU8Z,IAAIC,gBAAgBT,EAiD/D,CAAE,MAAOlwB,GAQP,MAPAya,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,kBAGP,IAAIxG,MADS/W,EACQ2W,QAC7B,CACF,EAOA,OAL8BoC,EAAAA,EAAAA,IAC5BgsC,EAAW,CAACA,EAAU,CAAE5tC,IAAK2tC,EAAUzyC,OAAAA,EAAQI,eAAAA,EAAgB+B,eAAAA,EAAgBqwC,YAAAA,IAAiB,MAChG,kBAAMzsC,EAAQ,CAAEjB,IAAK2tC,EAAUzyC,OAAAA,EAAQI,eAAAA,EAAgB+B,eAAAA,EAAgBqwC,YAAAA,GAAc,IAF/EjuC,IAMV,CCrEA,IAAMmZ,GAAc9X,KAAAA,SAYb,SAASgtC,GACdjzC,EACAie,EACA40B,GAEA,IAAAzxC,EAAiDH,IAAzCf,EAAYkB,EAAZlB,aAAcG,EAAMe,EAANf,OAAQI,EAAcW,EAAdX,eACtB+B,GAAmBlB,EAAAA,EAAAA,KAAnBkB,eACAkI,EAAkBH,KAAlBG,cAKAjC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAE5C85C,EAAiB,GAAHxlD,OAAMwS,EAAY,eAAAxS,OAAcsS,EAAU,eAAAtS,OAAcuwB,EAAU,UAGhF80B,EADcjiC,QAAQ9Q,GAAcie,IAA8B,IAAhBA,GACzB,eAAHvwB,OAAkBsS,EAAU,KAAAtS,OAAIuwB,GAAe,KAErE7X,EAAUnB,eAAHja,GAMyB,IArChBkzB,EAgCpB/Y,EAAGna,EAAHma,IACA9E,EAAMrV,EAANqV,OACAI,EAAczV,EAAdyV,eACA+B,EAAcxX,EAAdwX,eACAqwC,EAAW7nD,EAAX6nD,YAEA,IACE,IAAM9sC,EAAyC,CAC7C,mBAAoB1F,EACpB,oBAAqBI,EACrB8d,cAAe/b,GAEXkD,QAAiBqY,GAAYnU,IAAUzE,EAAK,CAChDY,QAAAA,EACAyY,aAAc,OACdw0B,OAAQH,IAEV,OAjDkB30B,EAiDIxY,EAASd,KAjDU8Z,IAAIC,gBAAgBT,EAkD/D,CAAE,MAAOlwB,GAQP,MAPAya,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,kBAGP,IAAIxG,MADS/W,EACQ2W,QAC7B,CACF,EAOA,OAL8BoC,EAAAA,EAAAA,IAC5BgsC,EAAW,CAACA,EAAU,CAAE5tC,IAAK+tC,EAAgB7yC,OAAAA,EAAQI,eAAAA,EAAgB+B,eAAAA,EAAgBqwC,YAAAA,IAAiB,MACtG,kBAAMzsC,EAAQ,CAAEjB,IAAK+tC,EAAgB7yC,OAAAA,EAAQI,eAAAA,EAAgB+B,eAAAA,EAAgBqwC,YAAAA,GAAc,IAFrFjuC,IAMV,C,ykBClEA,IAGMuuC,IAAsBpoD,EAAAA,EAAAA,GAAOqoD,GAAAA,EAAProD,EAAsB,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CAChE0Y,SAAU,WACV6Y,SAAU,OACVM,UAAW,OACZ,IAEKu2B,IAActoD,EAAAA,EAAAA,GAAOysB,GAAAA,GAAPzsB,EAAmB,SAAAO,GAAQA,EAALL,MAAK,MAAQ,CACrD0Y,SAAU,WACVC,IAAK,EACL43B,MAAO,MACR,IAEKnc,IAAet0B,EAAAA,EAAAA,GAAOu0B,GAAAA,EAAPv0B,EAAe,SAAAW,GAAQ,MAAQ,CAClDgB,MAAO,OACPD,OAAQ,OACRK,aAAc,EACd4uC,WAAY,cACZv3B,MAL0CzY,EAALT,MAKxBkhB,QAAQmR,KAAK7E,QAC1BlM,eAAgB,OAChBuR,OAAQ,UACT,IAEKw1B,IAAevoD,EAAAA,EAAAA,GAAOwoD,GAAAA,EAAPxoD,EAAiB,SAAAa,GAAQA,EAALX,MAAK,MAAQ,CACpDihB,SAAU,OACX,IAOYsnC,GAA6C,SAACplD,GAAU,IAAAw+C,EAC3D6G,EAAyBrlD,EAAzBqlD,SAAUx1B,EAAe7vB,EAAf6vB,WAElB/a,GAAwCG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAAhDwwC,EAAYvwC,EAAA,GAAEwwC,EAAexwC,EAAA,GACpC8E,GAAoC5E,EAAAA,EAAAA,UAAiB,CAAC,GAAE6E,GAAA3E,EAAAA,GAAAA,GAAA0E,EAAA,GAAjD2rC,EAAU1rC,EAAA,GAAE2rC,EAAa3rC,EAAA,GAChCC,GAAsC9E,EAAAA,EAAAA,UAAuB,CAAC,GAAE+E,GAAA7E,EAAAA,GAAAA,GAAA4E,EAAA,GAAzD2rC,EAAW1rC,EAAA,GAAE2rC,EAAc3rC,EAAA,GAEpBq8B,EAAqBD,KAA3B5/B,KAEF5E,EAAyC,QAA/B4sC,EAAGnI,aAAgB,EAAhBA,EAAkBzkC,kBAAU,IAAA4sC,EAAAA,EAAI,KAE7CoH,EAAmBpB,GAAiB5yC,EAAYie,EAAY,CAChExxB,OA9C0B,GA+C1BC,MA/C0B,KAkDtBunD,EAAyBhB,GAAuBjzC,EAAYie,EAAY,CAC5ExxB,OAlD2B,IAmD3BC,MAnD2B,MAsDrBmhB,GAAmBD,EAAAA,GAAAA,KAAnBC,eAEFgd,GAAgBC,EAAAA,EAAAA,cAAY,WAChC,GAEE8oB,IACCA,EAAW31B,IACZ,0BAA0B7G,KAAKq8B,IAC/Bx1B,EAAa,GACbje,EACA,CAEA6zC,EAAazxC,GAAAA,GAAC,CAAC,EADO,CAAC,GACS,IAAAzU,EAAAA,EAAAA,GAAA,GAAGswB,EAAa+1B,IAClD,CAGF,GAAG,CAACh0C,EAAYie,EAAYw1B,EAAUG,KAEtCnwC,EAAAA,EAAAA,YAAU,WACRonB,GACF,GAAG,CAAC7qB,EAAY6qB,IAEhB,IAAwBqpB,EAChBC,EAaFC,EAAmB,SAACx9B,GAKxB,GAJAA,EAAMyT,iBACNspB,GAAgB,GAGZG,IAAgBA,EAAY71B,IAAeje,EAAY,CAEzD+zC,EAAc3xC,GAAAA,GAAC,CAAC,EADM,CAAC,GACU,IAAAzU,EAAAA,EAAAA,GAAA,GAAGswB,EAAag2B,IAEnD,CACF,EA6BMI,EAvBY,WAChB,GAAI,0BAA0Bj9B,KAAKq8B,IAAax1B,EAAa,EAAG,CAC9D,IAAMq2B,EAAQV,EAAW31B,GAEzB,OACE1xB,EAAAA,EAAAA,KAACklB,GAAAA,EAAOrP,GAAAA,GAAA,CACNsP,OACEnlB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAevN,UACnBoM,eAAgB7a,EAAoByO,YAGxCkb,QAASm8B,GACLvmC,EAAe,yCAAuC,IAAAvhB,UAE1DC,EAAAA,EAAAA,KAAC8yB,GAAY,CAACU,IAAKu0B,QAAAA,EAAS,OAGlC,CAEA,OAAO/nD,EAAAA,EAAAA,KAAC+mD,GAAY,GACtB,CAEeiB,GACTC,GAtDkBN,EAsDWT,GArD3BU,EAASL,EAAY71B,KACby1B,GAEVnnD,EAAAA,EAAAA,KAAA,OACEwzB,IAAKo0B,EACLM,IAAKP,KAKJ3nD,EAAAA,EAAAA,KAACyX,GAAO,KA6CjB,OACE3X,EAAAA,EAAAA,MAAAymB,EAAAA,SAAA,CAAAxmB,SAAA,CACG+nD,GACDhoD,EAAAA,EAAAA,MAACqoD,GAAAA,EAAM,CAACje,KAAMid,EAAapnD,SAAA,EACzBC,EAAAA,EAAAA,KAACooD,GAAAA,EAAW,CAAAroD,UACVC,EAAAA,EAAAA,KAAC8mD,GAAWjxC,GAAAA,GAAA,CACV6V,QAAS,WAnCjB07B,GAAgB,EAmC0B,EAClChnD,QAAQ,OACRwX,MAAM,WACF0J,EAAe,qCAAmC,IAAAvhB,UAEtDC,EAAAA,EAAAA,KAACqoD,GAAAA,EAAK,UAGVroD,EAAAA,EAAAA,KAAC4mD,GAAmB,CAAA7mD,SAAEkoD,SAI9B,EC9JMz2B,GAAc9X,KAAAA,SAIb,SAAS4uC,GAAoB70C,EAA2Bie,GAC7D,IAHsBC,EAGtB9c,EAAiDH,IAAzCf,EAAYkB,EAAZlB,aAAcG,EAAMe,EAANf,OAAQI,EAAcW,EAAdX,eACtB+B,GAAmBlB,EAAAA,EAAAA,KAAnBkB,eACF2b,EAAcrN,QACH,OAAf9Q,SAAuBie,IAAmE,IAAhBA,GAEtE9Y,EAAM,GAAHzX,OAAMwS,EAAY,eAAAxS,OAAcsS,EAAU,eAAAtS,OAAcuwB,GAEjEG,GAA2BrX,EAAAA,EAAAA,IAAOoX,EAAchZ,EAAIkZ,WAAa,MAAMpZ,eAAOqZ,GAC5E,IAAMvY,EAAyC,CAC7C,mBAAoB1F,EACpB,oBAAqBI,GAWvB,OATAsF,EAAQwY,cAAgB/b,SACDub,GACpBnU,IAAU0U,EAAY,CACrBvY,QAAAA,EACAyY,aAAc,SAEftY,MAAK,SAACgY,GAAI,OAAKA,CAAI,IACnB/X,OAAM,SAACnY,GAA0B,OAAKA,CAAK,KANtC4W,IASV,IAfcS,EAAQ+Y,EAAdxZ,KAiBR,YAAoBwC,IAAb/B,OAAyB+B,GA3BV8W,EA2BqC7Y,EA3BdqZ,IAAIC,gBAAgBT,GA4BnE,C,ykBC5BA,IAAMkB,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CAClDihB,SAAU,OACV2R,WAAY,OACZ4nB,WAAY,OACZp0B,cAAe,YAChB,IAEKyjC,IAAkB/pD,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAAO,GAAQ,MAAQ,CACrDmsB,QAAS,WACT3qB,aAAc,MACdqX,MAH6C7Y,EAALL,MAG3BkhB,QAAQsM,QAAQy5B,aAC9B,IAOY6C,GAAyC,SAAC3mD,GACrD,IAAQF,EAAuCE,EAAvCF,MAAO8mD,EAAgC5mD,EAAhC4mD,OAET/pD,GAAQe,EAAAA,EAAAA,KAEN6hB,GAAmBD,EAAAA,GAAAA,KAAnBC,eA8CFonC,GACJ1oD,EAAAA,EAAAA,KAAC6yB,GAAa,CAAA9yB,UACZC,EAAAA,EAAAA,KAACuoD,GAAe,CAACxlC,MAAO,CAAEosB,WAbR,SAACwZ,GACrB,OAAQA,GACN,IAAK,WACH,OAAOjqD,EAAMkhB,QAAQoR,UAAUjR,KACjC,IAAK,UACH,OAAOrhB,EAAMkhB,QAAQzM,QAAQ4M,KAC/B,QACE,MAAO,cAEb,CAI0C6oC,CAAcjnD,IAAS5B,SA9CzC,SAAC4oD,GACvB,OAAQA,GACN,IAAK,WACH,OACE3oD,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAetN,cACnBmM,eAAgB7a,EAAoB0O,gBAG1C,IAAK,UACH,OACEzQ,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAerN,aACnBkM,eAAgB7a,EAAoB2O,eAG1C,IAAK,WACH,OACE1Q,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepN,cACnBiM,eAAgB7a,EAAoB4O,gBAG1C,QACE,OACE3Q,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenN,aACnBgM,eAAgB7a,EAAoB6O,eAI9C,CAemEi4C,CAAgBlnD,OAInF,OAAI8mD,GAEAzoD,EAAAA,EAAAA,KAACklB,GAAAA,EAAOrP,GAAAA,GAAA,GACFyL,EAAe,mBAAiB,IACpC6D,MAAOsjC,EAAO1oD,SAEb2oD,KAKAA,CACT,E,olBC7FA,IAAMI,GAAa,CACjBnqD,QAAS,OACTE,WAAY,UAGDkqD,IAAiBvqD,EAAAA,EAAAA,GAAO,KAAPA,EAAa,SAAAC,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CACzD0Y,SAAU,WACVoiC,aAAc,aAAFr4C,OAAezC,EAAMkhB,QAAQC,KAAK,MAC9C,eAAgB,CACd25B,aAAc,QAEjB,IAEYwP,IAAmBxqD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAO,GAAQA,EAALL,MAAK,OAAAmX,GAAAA,GAAA,GACjDizC,IAAU,IACb3xC,eAAgB,iBAAe,IAGpB8xC,IAAiBzqD,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAAW,GAAQA,EAALT,MAAK,OAAAmX,GAAAA,GAAA,GAChDizC,IAAU,IACb3lC,SAAU,oBACVhjB,MAAO,QAAM,IAGF+oD,IAAkB1qD,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAAa,GAAA,IAAGX,EAAKW,EAALX,MAAK,OAAAmX,GAAAA,GAAA,GACjDizC,IAAU,IACb3xC,eAAgB,SAChB8Y,SAAU,OACVM,UAAW,OACXrJ,YAAaxoB,EAAMO,QAAQ,IAAE,IAGlBkqD,IAAoB3qD,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAAe,GAAQA,EAALb,MAAK,OAAAmX,GAAAA,GAAA,GACnDizC,IAAU,IACb3xC,eAAgB,YAAU,IAGfiyC,IAAiB5qD,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAA8xB,GAAQA,EAAL5xB,MAAK,MAAQ,CAC3DC,QAAS,OACTC,cAAe,SACfuY,eAAgB,SAChBhX,MAAO,OACR,IAEYkpD,IAAqB7qD,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAAkyB,GAAQ,MAAQ,CAC/D/xB,QAAS,QACTuwC,SAAU,SACVt3B,MAHuD8Y,EAALhyB,MAGrCkhB,QAAQmR,KAAK7E,QAC1BvM,SAAU,OACVu5B,WAAY,OACZoQ,aAAc,WACdC,WAAY,SACb,IAEYC,IAAyBhrD,EAAAA,EAAAA,GAAO,IAAPA,EAAY,SAAAqyB,GAAA,IAAGnyB,EAAKmyB,EAALnyB,MAAK,MAAQ,CAChEC,QAAS,QACTuwC,SAAU,SACVt3B,MAAOlZ,EAAMkhB,QAAQmR,KAAK7E,QAC1BvM,SAAU,OACVu5B,WAAY,OACZoQ,aAAc,WACdC,WAAY,SACZh4B,OAAQ,UACR,UAAW,CACT3Z,MAAOlZ,EAAMkhB,QAAQsM,QAAQnM,KAC7BC,eAAgB,aAEnB,IAEYypC,IAAqBjrD,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAAsyB,GAAQ,MAAQ,CAC/DlZ,MADuDkZ,EAALpyB,MACrCkhB,QAAQC,KAAK6pC,KAC1B/pC,SAAU,OACVu5B,WAAY,OACb,IAEYyQ,IAAkBnrD,EAAAA,EAAAA,GAAOymB,GAAAA,EAAPzmB,EAAoB,SAAA0yB,GAAQ,MAAQ,CACjEtZ,MADyDsZ,EAALxyB,MACvCkhB,QAAQne,MAAMse,KAC3BJ,SAAU,OACVu5B,WAAY,OACb,IAEY0Q,IAAmBprD,EAAAA,EAAAA,GAAO6pD,GAAAA,EAAP7pD,EAAc,SAAA6yB,GAAA,IAAG3yB,EAAK2yB,EAAL3yB,MAAK,MAAQ,CAC5DihB,SAAU,OACVu5B,WAAY,OACZ,UAAW,CACT/J,WAAY,cACZv3B,MAAOlZ,EAAMkhB,QAAQsM,QAAQnM,MAE/BmH,YAAaxoB,EAAMO,QAAQ,GAC5B,IAEY4qD,IAAiBrrD,EAAAA,EAAAA,GAAOsrD,GAAAA,EAAPtrD,EAAuB,SAAAurD,GAAQA,EAALrrD,MAAK,MAAQ,CACnE0Y,SAAU,WACV63B,MAAO,EACPsW,OAAQ,MACRjuC,KAAM,EACP,IC5EY0yC,GAA+C,SAACnoD,GAAU,IAAAw+C,EAsC3D4J,EAEFxvB,EAhBEysB,EAAUx1B,EAvBZ5Y,EAAmCjX,EAAnCiX,SAAUoxC,EAAyBroD,EAAzBqoD,qBAEJhS,EAAqBD,KAA3B5/B,KAIF8xC,EAAkB7B,GAFuB,QAA/BjI,EAAGnI,aAAgB,EAAhBA,EAAkBzkC,kBAAU,IAAA4sC,EAAAA,EAAI,KAEKvnC,EAAS4Y,YAE3D04B,EAAyB,SAAC//B,GAC9B,IAAM+Z,EAAO/Z,EAAMpE,OAEnB,IAAKme,EAAK/d,KAAM,CACdgE,EAAMyT,iBAEN,IAAMusB,EAAcF,QAAAA,EAAmB,GACnB,KAAhBE,IACFjmB,EAAK/d,KAAOgkC,EACZjmB,EAAK8gB,QAET,CACF,EAgDA,OACEplD,EAAAA,EAAAA,MAACspD,GAAc,CAAArpD,SAAA,EA9CPmnD,EAAyCpuC,EAAzCouC,SAAUx1B,EAA+B5Y,EAA/B4Y,WAEdw1B,GAAYx1B,GAAcA,EAAa,GAClC1xB,EAAAA,EAAAA,KAACqpD,GAAkB,CAAAtpD,SAAEmnD,IAG1BA,GACKlnD,EAAAA,EAAAA,KAACwpD,GAAsB,CAAC99B,QAAS0+B,EAAuBrqD,SAAEmnD,IAG5D,OAIC+C,EAA6BnxC,EAA7BmxC,SAEFxvB,EAAO8pB,KAAK+F,MADF,KACSL,EAAWA,EA1CtB,UA0CyD,IADvD,KAGTnqD,EAAAA,EAAAA,MAAC2pD,GAAkB,CAAA1pD,SAAA,CAAE06B,EAAK,UAGV,SAACwmB,GACxB,GAAIiJ,EAAsB,CAGxB,IACIK,EADA5B,EAAiE,UAGrE,GAAI1H,SAAAA,EAAU0H,cAEZA,EAD6E1H,EAArE0H,cAER4B,EAF6EtJ,EAA/CwH,OAKhC,OACEzoD,EAAAA,EAAAA,KAACwoD,GAAa,CACZ7mD,MAAOgnD,EACPF,OAAQ8B,GAGd,CAEA,OAAO,IACT,CAMKC,CAAiB1xC,EAASmoC,YAGjC,E,+NC5EO,IAAMwJ,GAAuC,SAAC5oD,GACnD,IAgCQ6oD,EA4BExD,EAAUx1B,EA3DlBi5B,EAOE9oD,EAPF8oD,iBACA7xC,EAMEjX,EANFiX,SACA8xC,EAKE/oD,EALF+oD,oBACAlX,EAIE7xC,EAJF6xC,UACAxxB,EAGErgB,EAHFqgB,aACA2oC,EAEEhpD,EAFFgpD,6BACAC,EACEjpD,EADFipD,eAGFn0C,GAA0CG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAAlDo0C,EAAan0C,EAAA,GAAEo0C,EAAgBp0C,EAAA,GAC9B0K,GAAmBD,EAAAA,GAAAA,KAAnBC,eAEF2pC,EAAgB,WAAH,OAASD,GAAiB,EAAK,EAI5CE,EAAiB,WACjBP,GAAoB7xC,EAAS4Y,YAC/Bi5B,EAAiB7xC,EAAS4Y,WAE9B,EAgEA,OACE5xB,EAAAA,EAAAA,MAACipD,GAAc,CAAAhpD,SAAA,EACbD,EAAAA,EAAAA,MAACkpD,GAAgB,CAAAjpD,SAAA,EACfD,EAAAA,EAAAA,MAACmpD,GAAc,CAAAlpD,SAAA,EACbC,EAAAA,EAAAA,KAACkpD,GAAe,CAAAnpD,UA7BdmnD,EAAyCpuC,EAAzCouC,SAAUx1B,EAA+B5Y,EAA/B4Y,WACdw1B,GAAYx1B,GAEZ1xB,EAAAA,EAAAA,KAACinD,GAAe,CACdC,SAAUA,EACVx1B,WAAYA,IAKX,SAoBD1xB,EAAAA,EAAAA,KAACgqD,GAAgB,CACflxC,SAAUA,EACVoxC,qBAAsBU,QAG1B9qD,EAAAA,EAAAA,MAACqpD,GAAiB,CAAAppD,SAAA,CArBlBmiB,GAEAliB,EAAAA,EAAAA,KAACklB,GAAAA,EAAO,CAACC,MAAOjD,EAAaniB,UAC3BC,EAAAA,EAAAA,KAAC2pD,GAAe,MAKf,MAlDDe,EAAexoC,IAAiB2oC,EAA+BK,EAAiBD,EAElFvX,GAAaxxB,GAEbliB,EAAAA,EAAAA,KAAC4pD,G,uWAAgB/zC,CAAA,CACf6V,QAASg/B,GACLppC,EAAe,8BAKlB,YAIHwpC,GAEA9qD,EAAAA,EAAAA,KAAC6pD,GAAc,CACbroD,MAAOspD,EACP1qD,QAAQ,gBAKP,MA6CLJ,EAAAA,EAAAA,KAAC6lD,GAAmB,CAClBC,OAAQiF,EACR/E,aAxFkB,WAAH,OAASgF,GAAiB,EAAM,EAyF/CjF,cAjFiB,WACjB4E,GACFA,EAAiB7xC,EAAS4Y,YAG5Bs5B,GAAiB,EACnB,EA2EoCjrD,UAE9BC,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACT0T,WAAS,EACTxM,MAAM,SAAQ1zB,UAEdC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1Q,sBACnBuP,eAAgB7a,EAAoBsL,8BAMhD,E,ykBC3IA,IAAM89C,GAAyB,SAC7BC,EACA1X,EACAkX,EACAS,EACAH,GACuB,IAAAI,EAQvB,MAAO,CACLxyC,SAR+B,CAC/BmoC,SAAUmK,EAAkBnK,SAC5BvvB,WAAY05B,EAAkB15B,WAC9Bw1B,SAAoC,QAA5BoE,EAAEF,EAAkBlE,gBAAQ,IAAAoE,EAAAA,EAAI,GACxCrB,SAAUmB,EAAkBnB,UAK5BvW,UAAAA,EACAkX,oBAAAA,EACAD,iBAAkBO,EAClBL,6BAA8BQ,IAA8B,EAEhE,EAWME,GAAoB,SAACzyC,GAAiC,OACzDA,EAASmoC,UAAgD,YAApCnoC,EAASmoC,SAAS0H,aAA2B,EAE/D6C,GAAqB,SAACC,EAAmClqD,GAAW,OACxEvB,EAAAA,EAAAA,KAACyqD,GAAY50C,GAAA,GAEP41C,GADClqD,EAEL,ECvCSsxB,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CACzD0Y,SAAU,WACVjX,MAAO,OACR,IAMYurD,KAJcltD,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAO,GAAQ,MAAQ,CAC5DowB,WADoDpwB,EAALL,MAC7BO,QAAQ,GAC3B,KAEqCT,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAW,GAAQ,MAAQ,CAClEyY,MAD0DzY,EAALT,MACxCkhB,QAAQne,MAAM4qB,KAC5B,KAEYs/B,IAAkBntD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAa,GAAQ,MAAQ,CAC3DV,QAAS,OACTE,WAAY,WACZsY,eAAgB,gBAChByU,UAJmDvsB,EAALX,MAI7BO,QAAQ,GAC1B,IAEYwgB,IAAmBjhB,EAAAA,EAAAA,GAAOkhB,GAAAA,EAAPlhB,EAAmB,SAAAe,GAAA,IAAGb,EAAKa,EAALb,MAAK,MAAQ,CACjEwoB,YAAaxoB,EAAMO,QAAQ,GAC3B2Y,MAAOlZ,EAAMkhB,QAAQC,KAAK,KAC1BF,SAAU,OACX,IAEY2M,IAAc9tB,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAA8xB,GAAQA,EAAL5xB,MAAK,MAAQ,CACxDC,QAAS,OACTE,WAAY,SACZsY,eAAgB,aACjB,IAEYy0C,IAAaptD,EAAAA,EAAAA,GAAO,KAAPA,EAAa,SAAAkyB,GAAQA,EAALhyB,MAAK,MAAQ,CACrDwkB,OAAQ,EACRgI,QAAS,EACT2gC,UAAW,OACZ,IAEYC,IAAoBttD,EAAAA,EAAAA,GAAO,KAAPA,EAAa,SAAAqyB,GAAQA,EAALnyB,MAAK,MAAQ,CAC5DwkB,OAAQ,EACRgI,QAAS,EACT2gC,UAAW,OACXz0C,SAAU,WACV43B,OAAQ,EACRE,SAAU,SACV3uC,aAAc,MACdiwB,UAAW,+BACZ,IAEYu7B,IAAmBvtD,EAAAA,EAAAA,GAAO,MAAPA,EAC9B,SAAAsyB,GAAA,IAAGpyB,EAAKoyB,EAALpyB,MAAKstD,EAAAl7B,EAAE8nB,WAAcqT,aAAoB,MAAU,CACpDt7B,kBADkC,IAAAq7B,GAAQA,EACbttD,EAAMO,QAAQ,GAAKP,EAAMO,QAAQ,GAC9DmY,SAAU,WACX,IAGU80C,IAAoB1tD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAA0yB,GAAQ,MAAQ,CAC7DvyB,QAAS,OACTE,WAAY,SACZsY,eAAgB,gBAChBnY,cAJqDkyB,EAALxyB,MAI3BO,QAAQ,GAC9B,IAEYktD,IAAmB3tD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAA6yB,GAAA,IAAG3yB,EAAK2yB,EAAL3yB,MAAK,MAAQ,CAC5D0tD,UAAW,aAAFjrD,OAAezC,EAAMkhB,QAAQC,KAAK,MAC5C,IAEYwsC,IAAoB7tD,EAAAA,EAAAA,GAAOuhD,GAAAA,EAAPvhD,EAAsB,SAAAurD,GAAQA,EAALrrD,MAAK,MAAQ,CACrEE,cAAe,cACfssB,QAAS,WACTiuB,WAAY,0BACZx5B,SAAU,OACVu5B,WAAY,OACZh2B,OAAQ,QACRqO,OAAQ,UACT,IAEY+6B,IAAoB9tD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAA+tD,GAAA,IAAG7tD,EAAK6tD,EAAL7tD,MAAK,MAAQ,CAC7D86C,aAAc,aAAFr4C,OAAezC,EAAMkhB,QAAQC,KAAK,MAC/C,IAEY2sC,IAAqBhuD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAiuD,GAAQA,EAAL/tD,MAAK,MAAQ,CAC9DC,QAAS,OACTwB,MAAO,OACP,WAAY,CACVA,MAAO,OACP8vB,SAAU,SAEb,IAEY45B,IAAiBrrD,EAAAA,EAAAA,GAAOmZ,GAAAA,EAAPnZ,EAAyB,SAAAkuD,GAAQ,MAAQ,CACrExlC,YAD6DwlC,EAALhuD,MACrCO,QAAQ,GAC5B,IAEY0tD,IAA4BnuD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAouD,GAAQ,MAAQ,CACrEjuD,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZ0yB,OAAQ,UACR5R,SAAU,OACVw5B,WAAY,oBACZ,UAAW,CACTvhC,MAR2Dg1C,EAALluD,MAQzCkhB,QAAQsM,QAAQnM,MAEhC,I,+NCxED,IAAMyrC,GAAqB,SAACC,EAAmClqD,GAAW,OACxEvB,EAAAA,EAAAA,KAACyqD,G,uWAAY50C,CAAA,GAEP41C,GADClqD,EAEL,EAGSsrD,GAA6C,SAAChrD,GACzD,IA0CQi/C,EAzCNgM,EAUEjrD,EAVFirD,kBACAC,EASElrD,EATFkrD,gBACA7L,EAQEr/C,EARFq/C,YACAqB,EAOE1gD,EAPF0gD,eACA8I,EAMExpD,EANFwpD,2BACA2B,EAKEnrD,EALFmrD,yBACAC,EAIEprD,EAJForD,kBACAC,EAGErrD,EAHFqrD,gBACA/B,EAEEtpD,EAFFspD,uBACAD,EACErpD,EADFqpD,eAuDIiC,GAvBErM,EAdoB,WAA4B,IAAAsM,EAfjCC,EAAiBC,EAgBtC,OAAKpM,SAAAA,EAAapgD,OAKhB,QArBmBusD,EAoBqC9K,EApBpB+K,EAoBoCR,EAAjCM,EAnBzCJ,aAAwB,EAAxBA,EACI33B,QAAO,SAAC0rB,GACR,IAAMyB,EAAc8K,SAAAA,EAEpB,OAAOvM,EAAKwB,iBAAmB8K,KAAYtM,EAAKyB,aAAeA,EACjE,IACCoB,MAAK,SAACC,EAAGC,GACR,OAAID,EAAEE,YAAYra,WAAaoa,EAAEC,YAAYra,UACpCma,EAAEE,YAAYra,UAAYoa,EAAEC,YAAYra,UAG1C,CACT,WAQA,IAAA0jB,OAAA,EAD0CA,EAExC/3B,QAAO,SAACvc,GAAQ,OAAKooC,EAAY/3B,SAASrQ,EAAS4Y,cAAgBw7B,EAAgBp0C,EAAS,IAC7FgJ,KAAI,SAAChJ,GAAQ,OAAKqyC,EAAuBryC,GAAU,GAAO,EAAMuyC,EAA4BH,EAAe,IANrG,EASX,CAGoBqC,KAEqBzM,EAAUhgD,OAAS,GAMxDhB,EAAAA,EAAAA,MAACqsD,GAAgB,CAAApsD,SAAA,EACfC,EAAAA,EAAAA,KAACssD,GAAiB,CAACvpC,MAAO,CAAEpkB,QAASouD,EAAkB,QAAU,QAAShtD,UACxEC,EAAAA,EAAAA,KAAC4rD,GAAU,CAAA7rD,SAAE+gD,EAAUh/B,IAAI0pC,SAE7B1rD,EAAAA,EAAAA,MAAC6sD,GAAyB,CAACjhC,QAAS,kBAAMuhC,GAAmB,EAACltD,SAAA,EAC5DC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehP,QACnB6N,eAAgB7a,EAAoB+M,QAEtC9O,EAAAA,EAAAA,KAACqsD,GAAiB,CAACtpC,MAAO,CAAExL,UAAWw1C,EAAkB,iBAAmB,gBAbzE,KAqBX,OAAO/sD,EAAAA,EAAAA,KAACmsD,GAAgB,CAAApsD,SAAEotD,GAC5B,E,ykBCjGA,IAAMK,GAAU,CACd1C,eAAgB,CACdnsD,QAAS,OACTE,WAAY,SACZsY,eAAgB,WAChBwI,SAAU,OACV2R,WAAY,OACZ4nB,WAAY,QAEduU,mBAAoB,CAClB9uD,QAAS,OACTE,WAAY,SACZsY,eAAgB,WAChBwI,SAAU,OACV2R,WAAY,OACZ4nB,WAAY,OACZ,YAAa,CACXh2B,OAAQ,kBACRvD,SAAU,OACVu5B,WAAY,UAKLwU,GAA6D,SAAC7rD,GACzE,IAKQ8rD,EAOAC,EAMAC,EAlBA18C,EAA8BtP,EAA9BsP,UAAW28C,EAAmBjsD,EAAnBisD,eACXxsC,GAAmBD,EAAAA,GAAAA,KAAnBC,eAmCFysC,EAA0B58C,GAAc28C,IA/BtCH,GACJ3tD,EAAAA,EAAAA,KAAC2c,GAAY9G,GAAA,CACXoC,GAAI8F,GAAe5M,UACnByL,eAAgB7a,EAAoBoP,WAChCmQ,EAAe,oBAGjBssC,GACJ5tD,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe7M,WACnB0L,eAAgB7a,EAAoBmP,aAGlC28C,GACJ7tD,EAAAA,EAAAA,KAAC6pD,GAAch0C,GAAA,CACb4kB,KAhBiB,IAiBbnZ,EAAe,oBAKrBxhB,EAAAA,EAAAA,MAACkuD,GAAAA,EAAUn4C,GAAAA,GAAA,CACTvV,GAAIwtD,EAAiBN,GAAQC,mBAAqBD,GAAQ1C,gBACtDxpC,EAAe,qBAAmB,IAAAvhB,SAAA,CAErCoR,EAAY08C,EAAW,KACvBC,EAAiBF,EAAWD,OAOnC,OAAO3tD,EAAAA,EAAAA,KAAA,OAAAD,SAAMguD,GACf,E,ykBC5CO,IAAME,GAA6C,SAACpsD,GAAU,IAAAqsD,EAEjEhN,EASEr/C,EATFq/C,YACAqB,EAQE1gD,EARF0gD,eACA8I,EAOExpD,EAPFwpD,2BACA8C,EAMEtsD,EANFssD,aACAC,EAKEvsD,EALFusD,iBACAC,EAIExsD,EAJFwsD,iBACAC,EAGEzsD,EAHFysD,eACAC,EAEE1sD,EAFF0sD,mBACAC,EACE3sD,EADF2sD,sBAGIC,GAAsB,EACtBxC,EAAe/K,EAAYpgD,OAAS,EAE1C6V,GAAkDG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAA1D+3C,EAAiB93C,EAAA,GAAE+3C,EAAoB/3C,EAAA,GAC9C8E,GAAsC5E,EAAAA,EAAAA,WAAS,GAAM6E,GAAA3E,EAAAA,GAAAA,GAAA0E,EAAA,GAA9CkzC,EAAWjzC,EAAA,GAAEkzC,EAAclzC,EAAA,GAClCC,GAAgD9E,EAAAA,EAAAA,WAAS,GAAM+E,GAAA7E,EAAAA,GAAAA,GAAA4E,EAAA,GAAxDkzC,EAAgBjzC,EAAA,GAAEkzC,EAAmBlzC,EAAA,GAC5CqmB,GAA8CprB,EAAAA,EAAAA,UAA+B,IAAGqrB,GAAAnrB,EAAAA,GAAAA,GAAAkrB,EAAA,GAAzE8sB,EAAe7sB,EAAA,GAAE8sB,EAAkB9sB,EAAA,GAC1CE,GAAgCvrB,EAAAA,EAAAA,UAAS,IAAGwrB,GAAAtrB,EAAAA,GAAAA,GAAAqrB,EAAA,GAArCmkB,EAAQlkB,EAAA,GAAE4sB,EAAW5sB,EAAA,GAGtBzlB,GAAS+K,GADG3G,EAAAA,GAAAA,MAAV2G,SAGM86B,EAAsBtC,GAA0BoG,GAAtDnuC,KAEFwyC,EAA+BQ,SAAAA,EAE/B8D,EAAkB,WACtBR,GAAqB,GACrBE,GAAe,GACfE,GAAoB,EACtB,EAEMK,EAAa,SAACjL,GAClBgL,IACAF,GAAmB,SAACI,GAAa,OAC/BA,EAAch6B,QAAO,SAACi6B,GAAY,OAAKA,EAAax2C,SAAS4Y,aAAeyyB,CAAO,GAAC,GAExF,EA6DMoL,EAAyB,SAACC,GAC1BhB,GACFA,EAAsBgB,EAE1B,EAqBMtE,EAAiB,SAACx5B,GACtB,IAAM+9B,EAAevO,EAAY7rB,QAAO,SAACpd,GAAE,OAAKA,IAAOyZ,CAAU,IAEjE69B,EAAuBE,EACzB,EAiBMC,EAAe,WACnB,OAA2B,IAAvBxO,EAAYpgD,OACP,IAEK4hD,GAnBO2K,EAmB2B9K,EAnBV+K,EAmB0BmB,EAlBhE/L,aAAiB,EAAjBA,EACIrtB,QAAO,SAAC0rB,GACR,IAAMyB,EAAc8K,SAAAA,EAEpB,OAAOvM,EAAKwB,iBAAmB8K,KAAYtM,EAAKyB,aAAeA,EACjE,IACCoB,MAAK,SAACC,EAAGC,GACR,OAAID,EAAEE,YAAYra,WAAaoa,EAAEC,YAAYra,UACpCma,EAAEE,YAAYra,UAAYoa,EAAEC,YAAYra,UAG1C,CACT,KAMqF,IAEpFrU,QAAO,SAACvc,GAAQ,OAAKooC,EAAY/3B,SAASrQ,EAAS4Y,aAAe65B,GAAkBzyC,EAAS,IAC7FgJ,KAAI,SAAChJ,GAAQ,OACZqyC,GAAuBryC,EAAUyL,QAAQ6pC,IAAmB,EAAMvD,EAA8BK,EAAe,IAJnH,IAnBqBmC,EAAiBC,CA2BxC,EAoBIqC,EAAiC,CACnCnN,YAAaiM,EACbtM,mBA3IyB,SAACyC,GAC1B,IAAQxnC,EAAmDwnC,EAAnDxnC,UAAW+mC,EAAwCS,EAAxCT,QAAS/rC,EAA+BwsC,EAA/BxsC,SAEvBgF,GAAa+mC,EAAU,GAAK5/B,QAAQnM,KACvC+2C,IACAF,GAAmB,SAACI,GAAa,OAC/BA,EAAcvtC,KAAI,SAACwtC,GACjB,IAAMM,EAAgB/5C,GAAA,GAAQy5C,GAK9B,OAJIM,EAAiB92C,SAAS4Y,aAAeyyB,IAC3CyL,EAAiB1tC,aAAe9J,GAG3Bw3C,CACT,GAAE,IAGR,EA4HEvN,qBA3EqB,SAAC9jC,GAhBtBwwC,GAAoB,GACpBF,GAAe,GAGf/rB,YAAW,WACTisB,GAAoB,GACpBF,GAAe,EACjB,GAJ2B,KAe3BK,EAAYh2B,KAAK22B,MAAM/9B,YACvB,IAAMg+B,EAAoBvxC,EAAOumC,cAAczvB,QAAO,SAACxF,GAAC,OAAKA,EAAE6B,YAAc7B,EAAE6B,WAAa,GAAK7B,EAAEzS,SAAS,IAE5G,GAAiC,IAA7B0yC,EAAkBhvD,OAAtB,CAGA,IAAMivD,EAAsBD,EAAkBhuC,KAAI,SAAC+N,GAAC,IAAAmgC,EAAA,OAAiB,QAAjBA,EAAKngC,EAAE6B,kBAAU,IAAAs+B,EAAAA,EAAI,CAAC,IACpEC,EAAqB/O,EAAYpgD,OAAS,EAAIogD,EAAc,GAC5DgP,EAAiB/B,SAAAA,EAAcgC,uBAAsB,GAAAhvD,QAAAivD,EAAAA,GAAAA,GACnDH,IAAkBG,EAAAA,GAAAA,GAAKL,IAC3BA,EAAoBnlC,MAAM,EAAG,GAEjC2kC,EAAuBW,GAEvBJ,EAAkBpwB,SAAQ,SAAC7P,GAAC,OAAKu/B,EAAWv/B,EAAEs0B,QAAQ,GATtD,CAUF,EA2DElC,kBA7GkB,SAAC8C,GACnB,IAEMsL,EAA8CrvD,MAAM8+B,KAAKilB,GAAOjjC,KAAI,SAACoiC,EAAM3iD,GAAG,MAAM,CACxFuX,SAAU,CACR4Y,YAJgB,GAIHnwB,EAAM,GACnB2lD,SAAUhD,EAAK5rC,KACf2xC,SAAU/F,EAAKzpB,MAEjBowB,8BAA8B,EAC/B,IAEDoE,EAAmBoB,GACnBxB,GAAe,EACjB,EAgGEyB,yBA5HqB,SAACzC,EAAkB1J,GACxCgL,IACAF,GAAmB,SAACI,GAAa,OAC/BA,EAAcvtC,KAAI,SAACwtC,GACjB,IAAMM,EAAgB/5C,GAAA,GAAQy5C,GAK9B,OAJIM,EAAiB92C,SAAS4Y,aAAeyyB,IAC3CyL,EAAiB9E,eAAiB+C,GAG7B+B,CACT,GAAE,GAEN,EAiHEnN,UAAW4L,EACXhgC,WAAYkgC,GAGVJ,IACFwB,EAAc95C,GAAAA,GAAA,GACT85C,GAAc,IACjBtO,OAAQ8M,EAAaoC,mBACrBhO,eAAgB4L,EAAa5L,eAC7BD,YAAa6L,EAAaqC,YAC1BlP,WAAY6M,EAAagC,0BAI7B,IASMM,GACJzwD,EAAAA,EAAAA,KAACkmC,GAAuBrwB,GAAA,CACtByC,KAAK,wBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAezT,uBACnBsS,eAAgB7a,EAAoBuI,yBAGxC6a,OACEnlB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehU,6BACnB6S,eAAgB7a,EAAoBgI,+BAGxCua,aACEtkB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehU,6BACnB6S,eAAgB7a,EAAoBgI,gCAGpCukD,aAAc,EAAdA,EAAgBoC,WAIlBC,GACJ3wD,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAA,CACpByC,KAAK,0BACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3T,yBACnBwS,eAAgB7a,EAAoBqI,4BAGpCkkD,aAAc,EAAdA,EAAgBsC,aAIlBC,EAA+BvC,SAA0B,QAAZJ,EAAdI,EAAgBwC,kBAAU,IAAA5C,OAAA,EAA1BA,EAA4B2C,6BAM3DE,IAJyBF,aAA4B,EAA5BA,EAA8BpvC,MAC3D,SAACivC,GAAgB,IAAAM,EAAA,OAAKN,KAAgC,QAAxBM,EAAKn0C,EAAOo0C,oBAAY,IAAAD,OAAA,EAAnBA,EAAqBN,SAAQ,OAIhE1wD,EAAAA,EAAAA,KAAC4mC,GAAe/wB,GAAA,CACdyC,KAAK,0BACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAevT,yBACnBoS,eAAgB7a,EAAoByI,2BAGxCy8B,WAAYlpB,GAAe1M,qBACvBi9C,aAAc,EAAdA,EAAgBwC,aAIlBhQ,EAzGkB,WACtB,IAAMoQ,EJ1KiB,SAAClC,EAAuCI,GAMjE,OALmBJ,EAAgBltC,KAAI,SAAChJ,GAAQ,OAAAjD,GAAAA,GAAA,GAC3CiD,GAAQ,IACX6xC,iBAAkByE,GAAU,GAIhC,CImKqD+B,CAAmBnC,EAAiBI,GAC/EtO,EAAkC4O,IAElC0B,EAAoB,GAAHjwD,QAAAivD,EAAAA,GAAAA,GAAOtP,IAASsP,EAAAA,GAAAA,GAAKc,IAE5C,OAAIE,EAAkBtwD,OAAS,GACtBd,EAAAA,EAAAA,KAAC8rD,GAAiB,CAAA/rD,SAAEqxD,EAAkBtvC,IAAI0pC,MAG5C,IACT,CA8FkB6F,GACZC,EAnEJlD,GACEpuD,EAAAA,EAAAA,KAACksD,GAAiB,CAAAnsD,UAChBC,EAAAA,EAAAA,KAACwsD,GAAkB,CAAAzsD,UACjBC,EAAAA,EAAAA,KAACmlD,GAAQtvC,GAAA,GAAK85C,QAGhB,KA+DN,OACE7vD,EAAAA,EAAAA,MAAAymB,EAAAA,SAAA,CAAAxmB,SAAA,CACG0wD,EACAE,EACAI,GACDjxD,EAAAA,EAAAA,MAACisD,GAAgB,CAACnT,WAAY,CAAEqT,aAAAA,GAAelsD,SAAA,CAC5CuxD,GACDtxD,EAAAA,EAAAA,KAAC0tD,GAAuB,CACtBv8C,UAAWy9C,EACXd,eAAgBgB,IAEjBhO,EACAI,EAAYpgD,OAAS,IACpBd,EAAAA,EAAAA,KAAC6sD,GAAe,CACdC,kBAAmB2B,EACnB1B,gBAAiB2B,EACjBxN,YAAaA,EACbqB,eAAgBA,EAChB0K,kBAjHgB,WACxBkC,IACAR,GAAsBD,EACxB,EA+GUxB,gBAAiB3B,GACjBJ,uBAAwBA,GACxBE,2BAA4BR,EAC5BK,eAAgBA,EAChB8B,yBAA0BtK,SAMtC,E,ykBC/TO,IAAM6O,GAA2C,SAAC1vD,GACvD,IAAQssD,EAA0CtsD,EAA1CssD,aAAcjuC,EAA4Bre,EAA5Bqe,MAAOsxC,EAAqB3vD,EAArB2vD,iBACrBlwC,GAAmBD,EAAAA,GAAAA,KAAnBC,eAEFssB,GAAcugB,aAAY,EAAZA,EAAcvgB,eAChC5tC,EAAAA,EAAAA,KAACklB,GAAAA,EAAOrP,GAAAA,GAAA,CACNsP,MAAOgpC,EAAavgB,YACpBxoB,gBAAiB,EACjBC,gBAAiB,KACb/D,EAAe,iCAA+B,IAAAvhB,UAElDC,EAAAA,EAAAA,KAACyf,GAAgB,OAIrB,OACEzf,EAAAA,EAAAA,KAAC2rD,GAAe,CAAA5rD,UACdD,EAAAA,EAAAA,MAACwsB,GAAW,CAAAvsB,SAAA,CACTmgB,EACAsxC,GAAmBxxD,EAAAA,EAAAA,KAAC0rD,GAAsB,CAAA3rD,SAAC,MAA6B,KACxE6tC,MAIT,ECbaoZ,GAA+B,SAACnlD,GAC3C,IAgBqB4vD,EAfnBvQ,EAUEr/C,EAVFq/C,YACAqB,EASE1gD,EATF0gD,eACAsI,EAQEhpD,EARFgpD,6BACAuD,EAOEvsD,EAPFusD,iBACA91C,EAMEzW,EANFyW,KACAe,EAKExX,EALFwX,OACAgV,EAIExsB,EAJFwsB,WACAqjC,EAGE7vD,EAHF6vD,cACAC,EAEE9vD,EAFF8vD,iBACAnD,EACE3sD,EADF2sD,sBAGYoD,EAAsB5R,KAA5B3nC,KACMqqC,EAAsBtC,KAA5B/nC,KAKFw5C,GAAaD,IAAsBlP,EAEnCyL,GALesD,EAKYlP,EAJ/BqP,aAAiB,EAAjBA,EAAmBnwC,MAAK,SAAC1C,GAAI,OAAKA,EAAKwjC,iBAAmBkP,CAAsB,KAMlF,OACE3xD,EAAAA,EAAAA,MAAC+yB,GAAa,CAAA9yB,SAAA,EACZC,EAAAA,EAAAA,KAACuxD,GAAc,CACbrxC,MAAOwxC,EACPF,iBAAkBjtC,QAAQ8J,MAE5BruB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACT0T,WAAS,EACT7/B,QAAQ,QACRqzB,MAAM,OAAM1zB,SAEX4xD,KAEH3xD,EAAAA,EAAAA,KAACiuD,GAAe,CACdI,iBAAkB/1C,EAClBi2C,mBAAoBhqC,QAAQ8J,GAC5Bk0B,eAAgBA,EAChB4L,aAAcA,EACdjN,YAAaA,EACbsN,sBAAuBA,EACvBJ,iBAAkBA,EAClB/C,2BAA4BR,EAC5ByD,eAAgBj1C,IAEjBw4C,GAAY7xD,EAAAA,EAAAA,KAACyX,GAAO,IAAM,OAGjC,E,ykBCzDA,IAAMob,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CAClD0Y,SAAU,WACX,IAMY06C,GAA2C,SAACjwD,GAAU,IAAAkwD,EAAAC,EACzDC,EAAoBpwD,EAApBowD,gBACRt7C,GAA4CG,EAAAA,EAAAA,YAA+CF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAApFu7C,EAAct7C,EAAA,GAAEu7C,EAAiBv7C,EAAA,GAEhC0K,GAAmBD,EAAAA,GAAAA,KAAnBC,eAERN,GAAqCC,EAAAA,GAAAA,MAA7BE,EAAQH,EAARG,SAAUyG,EAAK5G,EAAL4G,MAAOo0B,EAAOh7B,EAAPg7B,QAEnBn/B,EAAS+K,IAETwqC,EAAmB,SAACC,GAA8B,OACtDryD,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACT+E,WAAW,OACXlxB,QAAQ,QAAOL,UAEfC,EAAAA,EAAAA,KAAC2c,GAAY9G,GAAA,GAAKw8C,KACP,EAGTC,EAAqB,SAACpR,GAC1B,IAAMJ,EAAkDI,EAAYp/B,KAAI,SAAC7J,GAAE,MAAM,CAC/EyZ,WAAYzZ,EACb,IAEDk6C,EAAiBt8C,GAAAA,GAAC,CAAC,EAAIirC,GAAS,IAAEyR,oBAAqBzR,KACvD3/B,EAAS,mCAAoC2/B,GAC7C9E,EAAQ,mCACV,EAEMwW,EAA+B,SAACtR,GACpC,IAAMJ,EAAkDI,EAAYp/B,KAAI,SAAC7J,GAAE,MAAM,CAC/EyZ,WAAYzZ,EACb,IAEDk6C,EAAiBt8C,GAAAA,GAAC,CAAC,EAAIirC,GAAS,IAAEyR,oBAAqBzR,KACvD3/B,EAAS,6CAA8C2/B,GACvD9E,EAAQ,6CACV,EAEMyW,EAAiB,SAAC3R,GAA8D,IAAA4R,EACpF,OAAK5R,EAI+B,QAApC4R,EAAO5R,EAAUyR,2BAAmB,IAAAG,OAAA,EAA7BA,EAA+B5wC,KAAI,SAAC+N,GAAC,OAAKA,EAAE6B,UAAU,IAHpD,EAIX,EA6EMihC,EA3E6B,WAA2B,IAAAC,EAAAC,EAAAC,EAAA9B,EAAA+B,EACtD15C,EAAS44C,aAAe,EAAfA,EAAiBhB,aAC1B5wC,EAAiC,QAAtBuyC,EAAGv5C,aAAM,EAANA,EAAQgH,mBAAW,IAAAuyC,GAAAA,EACjCxyC,EAA+B,QAArByyC,EAAGx5C,aAAM,EAANA,EAAQ+G,kBAAU,IAAAyyC,GAAAA,EAE/BG,GACJhzD,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehT,sBACnB6R,eAAgB7a,EAAoBgJ,wBAIxC,IAAKsV,EACH,OAAO,KAGT,IAAMkiC,EAAuC,QAAzBuQ,EAAGz5C,aAAM,EAANA,EAAQkpC,sBAAc,IAAAuQ,EAAAA,EAAI,EAC3CG,EAAsC,QAAtBjC,EAAGn0C,EAAOo0C,oBAAY,IAAAD,EAAAA,EAAIkB,EAEhD,OACElyD,EAAAA,EAAAA,KAACgnD,GAAQ,CACP6D,8BAA4B,EAC5BtI,eAAgBA,EAChBmP,cAAeU,EAAiB,CAC9Bn6C,GAAI8F,GAAejT,wBACnB8R,eAAgB7a,EAAoB+I,0BAEtC6mD,iBAAkBqB,EAClB9R,YAAauR,EAAeQ,GAC5BzE,sBAAuB8D,EACvBj5C,OAAQA,EACRgV,WAAYhV,SAAkB,QAAZ05C,EAAN15C,EAAQkH,kBAAU,IAAAwyC,OAAA,EAAlBA,EAAoBxvC,YAChC6qC,iBAAkBhuC,EAClB9H,KAAK,oCAGX,CAuCe46C,GACTC,EAtCuC,WAA2B,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAChEn6C,EAAS44C,aAAe,EAAfA,EAAiBwB,uBAC1BpzC,EAAiC,QAAtB+yC,EAAG/5C,aAAM,EAANA,EAAQgH,mBAAW,IAAA+yC,GAAAA,EACjChzC,EAA+B,QAArBizC,EAAGh6C,aAAM,EAANA,EAAQ+G,kBAAU,IAAAizC,GAAAA,EAE/BK,GACJ1zD,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAelU,gCACnB+S,eAAgB7a,EAAoB8H,kCAIxC,IAAKwW,EACH,OAAO,KAGT,IAAMkiC,EAAuC,QAAzB+Q,EAAGj6C,aAAM,EAANA,EAAQkpC,sBAAc,IAAA+Q,EAAAA,EAAI,EAC3CL,EAAgD,QAAhCM,EAAG12C,EAAO42C,8BAAsB,IAAAF,EAAAA,EAAIrB,EAE1D,OACElyD,EAAAA,EAAAA,KAACgnD,GAAQ,CACP6D,8BAA4B,EAC5BtI,eAAgBA,EAChBmP,cAAeU,EAAiB,CAC9Bn6C,GAAI8F,GAAenU,kCACnBgT,eAAgB7a,EAAoB6H,oCAEtC+nD,iBAAkB+B,EAClBxS,YAAauR,EAAeQ,GAC5BzE,sBAAuBgE,EACvBpE,iBAAkBhuC,EAClBiO,WAAYhV,SAAkB,QAAZm6C,EAANn6C,EAAQkH,kBAAU,IAAAizC,OAAA,EAAlBA,EAAoBjwC,YAChCjL,KAAK,8CAGX,CAGyBq7C,GAEnBC,GACJ9zD,EAAAA,EAAAA,MAAC8iB,GAAAA,GAAI/M,GAAAA,GAAA,CACHihB,WAAS,GACLxV,EAAe,cAAY,IAAAvhB,SAAA,CAE9B4yD,EACAQ,MAICU,EACJ5B,SAA6B,QAAdF,EAAfE,EAAiBhB,oBAAY,IAAAc,GAA7BA,EAA+B1xC,aAAe4xC,SAAuC,QAAxBD,EAAfC,EAAiBwB,8BAAsB,IAAAzB,GAAvCA,EAAyC3xC,YACnFuzC,EACA,KAEN,OAAO5zD,EAAAA,EAAAA,KAAC6yB,GAAa,CAAA9yB,SAAE8zD,GACzB,E,ykBC5HO,IAAMC,GAA+C,SAACjyD,GAAU,IAAAmvD,EAAA+C,EAAAC,EAAAC,EAAAC,EAC7Dxf,EAAuD7yC,EAAvD6yC,YAAar7B,EAA0CxX,EAA1CwX,OAAQib,EAAkCzyB,EAAlCyyB,gBAAiBC,EAAiB1yB,EAAjB0yB,aAEjCrZ,EACTY,KADFC,QAAWb,YAELE,EAA0CF,EAA1CE,WAAYD,EAA8BD,EAA9BC,cAAeI,EAAeL,EAAfK,WAE3B+F,GAAmBD,EAAAA,GAAAA,KAAnBC,eAEAjN,EAAuBK,IAAvBL,mBAEFqgB,GAAUC,EAAAA,GAAAA,IAAgE,CAC9EigB,cAAeF,EACf9f,eAAgB,WAChBu/B,kBAAkB,EAClBt/B,KAAM,QAGAjN,EAAqB8M,EAArB9M,MAAOkN,EAAcJ,EAAdI,UACPE,EAA0BF,EAA1BE,QAASE,EAAiBJ,EAAjBI,aAEXrY,EAAS+K,IAKPnL,EADJC,KADFX,QAAWO,UAELG,aAEF23C,EAAc3+B,OAAOC,KAAwB,QAApBs7B,EAACn0C,EAAOo0C,oBAAY,IAAAD,EAAAA,EAAI,CAAC,GAAGlvC,KAAI,SAACtgB,GAAK,sBAAAL,OAAqBK,EAAK,IACzF6yD,EAAa5+B,OAAOC,KAAK7Y,GACzBy3C,EAAiBF,EACjBG,EAAY,GAAHpzD,OAAOkzD,GAAUjE,EAAAA,GAAAA,GAAKkE,IAE/Bl/B,EAAoB3Y,aAAY,EAAZA,EAAc4Y,QACtC,SAACC,GAAE,IAAAC,EAAAC,EAAA,OAAM++B,EAAUzyC,KAAI,SAAC6T,GAAG,OAAKA,EAAIhU,aAAa,IAAEwH,SAAoC,QAA5BoM,EAAa,QAAbC,EAACF,EAAGnW,iBAAS,IAAAqW,OAAA,EAAZA,EAAc7T,qBAAa,IAAA4T,EAAAA,EAAI,GAAG,IAG1Fi/B,GACJn7C,aAAM,EAANA,EAAQ29B,YACRvhB,OAAO5Y,OAAOxD,EAAO29B,WAAW3hB,QAC9B,SAAC4rB,GAAoD,OAAKA,EAAS5gC,WAAW,IAK1E1F,EADJI,KADFC,4BAA+BN,yBAEzBC,gBAOF85C,EAAyBlwC,QAAQiwC,GAAsBA,EAAmB1zD,OAAS,GAEnF4zD,GAEJr7C,SAAoB,QAAd06C,EAAN16C,EAAQ43C,oBAAY,IAAA8C,OAAA,EAApBA,EAAsB1zC,eAAehH,SAA8B,QAAxB26C,EAAN36C,EAAQo6C,8BAAsB,IAAAO,OAAA,EAA9BA,EAAgC3zC,aAEvE,OACEvgB,EAAAA,EAAAA,MAAC62B,GAAAA,GAAY9gB,GAAAA,GAAA,GAAK6e,GAAO,IAAA30B,SAAA,EACvBC,EAAAA,EAAAA,KAACovB,GAAqB,CACpBC,sBAAuB+F,EACvB/gB,mBAAoBA,KAEtBvU,EAAAA,EAAAA,MAACgwB,GAAU,CACT8G,YAAU,EACVC,SAAUnC,EAAQ0B,aAAa7B,GAAcx0B,SAAA,CAE5C20D,GACC50D,EAAAA,EAAAA,MAACk7C,GAAmB,CAAAj7C,SAAA,EAClBC,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,KACRwX,MAAM,cACNJ,UAAU,OAAMzX,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAetS,gCACnBmR,eAAgB7a,EAAoB0J,qCAGxCzL,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAerS,8BACnBkR,eAAgB7a,EAAoB2J,qCAIxC,MACJ1L,EAAAA,EAAAA,KAAC4iB,GAAAA,GAAI,CACHkU,WAAS,EACT3f,eAAe,SACfK,UAAU,SAAQzX,UAElBD,EAAAA,EAAAA,MAAC8iB,GAAAA,GAAI,CACHb,MAAI,EACJc,GAAI,GACJC,GAAI,GAAG/iB,SAAA,EAEPC,EAAAA,EAAAA,KAAC8xD,GAAc,CAACG,gBAAiB54C,KACjCvZ,EAAAA,EAAAA,MAACm7C,GAAqB,CAAAl7C,SAAA,EACpBC,EAAAA,EAAAA,KAACm7C,GAAc,CACb/6C,QAAQ,KACRwX,MAAM,cACNJ,UAAU,OAAMzX,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAerT,4BACnBkS,eAAgB7a,EAAoB2I,iCAGxC1K,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRwX,MAAM,cACNJ,UAAU,OAAMzX,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepT,iCACnBiS,eAAgB7a,EAAoB4I,wCAIzC8pD,GACCz0D,EAAAA,EAAAA,KAACm9C,GAAoB,CACnB9jC,OAAQA,EACRomC,eAAgB5iC,IAEhB,MACJ7c,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,gBACL4H,OACEpgB,EAAAA,EAAAA,MAACysB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAYzU,EAAOq6B,cAAgB,OAAS,UAAWn3C,SAAA,EAE7DC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/T,wBACnB4S,eAAgB7a,EAAoBiI,wBACpC6S,OAAQ,CACN8/B,qBACE38C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYu9B,qBAC7B12B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1Y,0BACnBuX,eAAgB7a,EAAoBsD,8BAI1Cu3C,qBACE98C,EAAAA,EAAAA,MAACggB,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYw9B,qBAC7B32B,OAAO,SACPK,IAAI,aAAYvmB,SAAA,EAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAezY,0BACnBsX,eAAgB7a,EAAoBuD,4BACnC,OAGPu3C,qBACE78C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYy9B,qBAC7B52B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAexY,0BACnBqX,eAAgB7a,EAAoBwD,8BAI1Cu3C,qBACE98C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY09B,qBAC7B72B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAevY,0BACnBoX,eAAgB7a,EAAoByD,8BAI1Cu3C,qBACE/8C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY29B,qBAC7B92B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAetY,0BACnBmX,eAAgB7a,EAAoB0D,8BAI1Cu3C,qBACEh9C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY49B,qBAC7B/2B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAerY,0BACnBkX,eAAgB7a,EAAoB2D,8BAI1Cu3C,qBACEj9C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY69B,qBAC7Bh3B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepY,0BACnBiX,eAAgB7a,EAAoB4D,8BAI1Cu3C,qBACEl9C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY89B,qBAC7Bj3B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenY,0BACnBgX,eAAgB7a,EAAoB6D,iCAM7CyT,SAAqB,QAAf46C,EAAN56C,EAAQ69B,qBAAa,IAAA+c,GAAY,QAAZA,EAArBA,EAAuB1zC,kBAAU,IAAA0zC,GAAjCA,EAAmC1wC,YAAc,KAAO,QAG7D/hB,MAAOqb,EAAOq6B,eACV79B,aAAM,EAANA,EAAQ69B,iBAEdl3C,EAAAA,EAAAA,KAAC23C,GAAyB9hC,GAAA,CACxByC,KAAK,gBACL4H,OACEpgB,EAAAA,EAAAA,MAACysB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAEgxB,WAAYzU,EAAOs6B,cAAgB,OAAS,UAAWp3C,SAAA,EAE7DC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe9T,wBACnB2S,eAAgB7a,EAAoBkI,wBACpC4S,OAAQ,CACN8/B,qBACE38C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYu9B,qBAC7B12B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1Y,0BACnBuX,eAAgB7a,EAAoBsD,8BAI1Cu3C,qBACE58C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYw9B,qBAC7B32B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAezY,0BACnBsX,eAAgB7a,EAAoBuD,8BAI1Cu3C,qBACE78C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAYy9B,qBAC7B52B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAexY,0BACnBqX,eAAgB7a,EAAoBwD,8BAI1Cu3C,qBACE98C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY09B,qBAC7B72B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAevY,0BACnBoX,eAAgB7a,EAAoByD,8BAI1Cu3C,qBACE/8C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY29B,qBAC7B92B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAetY,0BACnBmX,eAAgB7a,EAAoB0D,8BAI1Cu3C,qBACEh9C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY49B,qBAC7B/2B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAerY,0BACnBkX,eAAgB7a,EAAoB2D,8BAI1Cu3C,qBACEj9C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY69B,qBAC7Bh3B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepY,0BACnBiX,eAAgB7a,EAAoB4D,8BAI1Cu3C,qBACEl9C,EAAAA,EAAAA,KAAC8f,GAAU,CACTuG,KAAMtO,GAAWqH,GAAY89B,qBAC7Bj3B,OAAO,SACPK,IAAI,aAAYvmB,UAEhBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenY,0BACnBgX,eAAgB7a,EAAoB6D,iCAM7CyT,SAAqB,QAAf66C,EAAN76C,EAAQ89B,qBAAa,IAAA+c,GAAY,QAAZA,EAArBA,EAAuB3zC,kBAAU,IAAA2zC,GAAjCA,EAAmC3wC,YAAc,KAAO,QAG7D/hB,MAAOqb,EAAOs6B,eACV99B,aAAM,EAANA,EAAQ89B,iBAEdn3C,EAAAA,EAAAA,KAACs7C,GAAuB,CAACjiC,OAAQA,KACjCrZ,EAAAA,EAAAA,KAAC+vB,GAAala,GAAAA,GAAA,CACZzV,QAAQ,YACRwX,MAAM,UACNmH,KAAK,SACL0F,UAAWuQ,GAAWE,GAAgBZ,GAClChT,EAAe,yBAAuB,IAAAvhB,UAE1CC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAejU,iBACnB8S,eAAgB7a,EAAoB+H,4BAK5ChK,EAAAA,EAAAA,MAAC+6C,GAAW,CACVz6C,QAAQ,OACRwX,MAAM,UACN8T,QAAS,kBA1Uf/Q,EAAgBY,EAAWH,SAC3BD,EAAcC,EAAa,EAyUM,EAACrb,SAAA,EAE5BC,EAAAA,EAAAA,KAAC86C,GAAe,KAChB96C,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAezR,KACnBsQ,eAAgB7a,EAAoBuK,gBAMhD,E,ykBC3YA,IAAMumB,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CAClD0Y,SAAU,WACVjX,MAAO,OACR,IAEKw0D,IAAiBn2D,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAO,GAAQA,EAALL,MAAK,MAAQ,CACnDC,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZD,cAAe,SAChB,IA0BYg2D,GAAgB,WAAM,IAAAC,EAIzB34C,EADJE,KADFL,QAAWE,iBAELC,oBAEAjF,EAAgBR,IAAhBQ,YAERN,GAA0CG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAAlDwhB,EAAavhB,EAAA,GAAEwhB,EAAgBxhB,EAAA,GAE9B1C,EAAmBQ,IAAnBR,eAEM4gD,EAAgBhf,KAAtBz9B,KAEFunC,EAAsBr7B,QAAQuwC,SAAsB,QAAXD,EAAXC,EAAa9d,iBAAS,IAAA6d,GAAQ,QAARA,EAAtBA,EAAwBhV,cAAM,IAAAgV,OAAA,EAA9BA,EAAgC/U,mBAGtDiV,EAAqBle,GAAa+I,GAAxCvnC,KAGKiE,EACTI,KADFX,QAAWO,UAELC,EAA+BD,EAA/BC,aAAcE,EAAiBH,EAAjBG,aAEhB+B,GAAMH,EAAAA,EAAAA,OAGqB3D,EAC7BK,KADFC,4BAA+BN,yBAEzBC,EAAkCD,EAAlCC,gBAAiBC,EAAiBF,EAAjBE,cA2CzB1D,EAAAA,EAAAA,YAAU,WACRsuB,IACF,GAAG,KAEHtuB,EAAAA,EAAAA,YAAU,WACRklB,GAAyB,uBAAwBxhB,EAAc1G,GAC/DyG,EAAgB,uBAElB,GAAG,IAEH,IAAMq6C,EAA2Bt8C,iBAC/B,IACE,IAAMk9B,QAAuBqf,EAAAA,EAAAA,KAA2Bz2C,EAAKtK,EAAgB,CAC3EiiB,UAAW,QACXjiB,eAAAA,EACA8kB,YAAa,eAIf,GAFe,IAAI9b,GAAqB04B,EAAel4B,QAE5CN,YAAa,CACtBgb,GAAiB,GACjBnhB,GAAY,GACZ,IAAMi+C,QA7Cax8C,iBACvB,IACE,IAAMS,QAAiBg8C,EAAAA,EAAAA,KAAiC32C,EAAKtK,GAE7D,GADe,IAAIgJ,GAAqD/D,EAASuE,QACtEN,YACT,OAAOjE,EAASd,IAEpB,CAAE,MAAO5W,GACPya,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAelR,cACnB+P,eAAgB7a,EAAoB8K,gBAGxCkS,KAAM/B,GAAYvb,OAEtB,CAGF,CAwBkC2zD,QACNv6C,IAAlBq6C,GAvHsB,SAACA,GAA2D,IAAAG,EAAAC,EACpFC,EAAyFL,EAAzFK,iBAAkBC,EAAuEN,EAAvEM,eAAgBC,EAAuDP,EAAvDO,oBAAqBr8B,EAAkC87B,EAAlC97B,cAAes8B,EAAmBR,EAAnBQ,eAGxEC,EAAqC,QAA3BN,EAAGH,EAAcS,kBAAU,IAAAN,EAAAA,EAAI,IAAIn8B,KAC7C08B,EAAoD,IAAjCD,EAAWE,oBAC9BC,EAA0B,IAAI58B,KAAKy8B,EAAWjsB,UAAYksB,GAC1DG,EAA8C,CAClDC,iBAAkBT,EAAiBzjC,WACnC0jC,eAAgBA,EAAe1jC,WAC/B2jC,oBAAqBA,QAAAA,EAAuB,GAC5C1hD,iBAAkB,OAClBqlB,cAAwC,QAA3Bk8B,EAAEl8B,aAAa,EAAbA,EAAetH,kBAAU,IAAAwjC,EAAAA,EAAI,GAC5CK,WAAYG,EAAwBG,cACpCP,eAAgBA,EAAe5jC,WAC/BokC,UAAWC,GAAAA,EAAUC,QAEvBr6B,OAAOa,cACL,IAAIH,YAAsC45B,GAAAA,EAA0B,CAClE15B,OAAQo5B,IAGd,CAkGUO,CAA0BpB,GAExBz4C,GAAgBA,EAAa3b,OAAS,GACxCyb,EAAa,GAEjB,CACF,CAAE,MAAO9a,GAAgB,IAAAw4B,EACjBC,EAAgBz4B,EACtB,IAA0B,QAAtBw4B,EAAAC,EAAc/gB,gBAAQ,IAAA8gB,OAAA,EAAtBA,EAAwBvc,UAAWT,EAAAA,IAAgBkd,oBAAqB,CAC1E,IAAQC,EAAWF,EAAc/gB,SAASd,KAAlC+hB,OACFC,EAAeD,aAAM,EAANA,EAAQtY,KAAI,SAACwT,GAAE,MAAM,CACxCnW,UAAWmW,EAAGgF,aACdpb,UAAWoW,EAAGiF,KACf,IACGF,SAAAA,EAAcv5B,QAAUu5B,EAAav5B,OAAS,EAChDyb,EAAa8d,GAEb9d,EAAa,GAEjB,MACEL,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehR,aACnB6P,eAAgB7a,EAAoBgL,eAGxCgS,KAAM/B,GAAYvb,OAGxB,CACF,EA2CA,OAAKszD,GAKH/0D,EAAAA,EAAAA,KAAC6yB,GAAa,CAAA9yB,UACZD,EAAAA,EAAAA,MAAC60D,GAAc,CAAA50D,SAAA,EACbC,EAAAA,EAAAA,KAACkgC,GAAW,CACV9/B,QAAQ,KACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenT,iBACnBgS,eAAgB7a,EAAoB6I,sBAGxC5K,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,YACRwX,MAAM,cACNJ,UAAU,SAAQzX,UAElBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAelT,qBACnB+R,eAAgB7a,EAAoB8I,0BAIxC7K,EAAAA,EAAAA,KAAC8zD,GAAgB,CACfz6C,OAAQy7C,EACRpgB,YAAaqgB,EACbzgC,gBAAiB6D,EACjB5D,aAxEgF7b,eAAOL,GAC7F,IAAMk+C,EApGqB,SAACl+C,GAAiE,IAAAm+C,EAAAC,EACzF51B,EAAcxoB,EAEZq+C,EAAc,CAClBnE,oBAAqB,IAWvB,OARsB,QAAlBiE,EAACn+C,EAAK44C,oBAAY,IAAAuF,GAAjBA,EAAmBjE,sBACtB1xB,EAAWhrB,GAAAA,GAAA,GAAQwC,GAAI,IAAE44C,aAAYp7C,GAAAA,GAAA,GAAOwC,EAAK44C,cAAiByF,MAGpC,QAA5BD,EAACp+C,EAAKo7C,8BAAsB,IAAAgD,GAA3BA,EAA6BlE,sBAChC1xB,EAAWhrB,GAAAA,GAAA,GAAQgrB,GAAW,IAAE4yB,uBAAwBiD,KAGnD71B,CACT,CAoFqB81B,CAAqBt+C,GAClCu+C,EAAyE/gD,GAAAA,GAAA,GAC1E0gD,GAAU,IACbvf,UAAWuf,EAAWvf,WAAaf,GAAcsgB,EAAWvf,UAAW4I,KAEzE,IACE,IAAMiX,QAA4BC,EAAAA,EAAAA,KAAuCt4C,EAAKtK,EAAgB0iD,GAC/E,IAAI15C,GAAqB25C,EAAoBn5C,QAEjDN,mBACH43C,GAEV,CAAE,MAAOvzD,GAAgB,IAAAs1D,EACjB78B,EAAgBz4B,EACtB,IAA0B,QAAtBs1D,EAAA78B,EAAc/gB,gBAAQ,IAAA49C,OAAA,EAAtBA,EAAwBr5C,UAAWT,EAAAA,IAAgBkd,oBAAqB,CAC1E,IAAQC,EAAWF,EAAc/gB,SAASd,KAAlC+hB,OACFC,EAAeD,aAAM,EAANA,EAAQtY,KAAI,SAACwT,GAAE,MAAM,CACxCnW,UAAWmW,EAAGgF,aACdpb,UAAWoW,EAAGiF,KACf,IACGF,SAAAA,EAAcv5B,QAAUu5B,EAAav5B,OAAS,EAChDyb,EAAa8d,GAEb9d,EAAa,GAEjB,MACEL,EAAoB,CAClB4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehR,aACnB6P,eAAgB7a,EAAoBgL,eAGxCgS,KAAM/B,GAAYvb,OAGxB,CACF,UAGSzB,EAAAA,EAAAA,KAACR,EAAa,GAmCzB,ECzPO,IAAMw3D,GAAqB,WAChC,IAAAniD,EAAqCH,IAA7BZ,EAAMe,EAANf,OAAQC,EAAgBc,EAAhBd,iBACRoK,EAAkBH,KAAlBG,cACFC,GAAYC,EAAAA,EAAAA,OAKVnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAAC1G,EAAQC,EAAkB,oBAC3B2E,iBACE,IAAM6F,QA9BZ7F,eAAoC8F,EAAgB1K,EAAgBC,GAGlE,IACE,IAAMoF,QAAiB89C,EAAAA,EAAAA,KAA8Dz4C,EAAK1K,EAAQC,GAElG,OAAO,IAAImJ,GACT/D,EAASuE,OACTvE,EAASd,KAEb,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAVkF,CAAC,EAWxG,CACF,CAiB2Bw4C,CAAqB94C,EAAWtK,EAAQC,GAC7D,GAAIwK,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,wCAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,GAGN,ECvCO,IAAMm4C,GAAiB,WAC5B,IAAQjjD,EAAmBQ,IAAnBR,eACAiK,EAAkBH,KAAlBG,cACFK,GAAMH,EAAAA,EAAAA,OAIJnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAACtG,EAAgB,gBACjBwE,iBACE,IAAM6F,QA1BZ7F,eAAgC8F,EAAgB0c,GAG9C,IACE,IAAM/hB,QAAiBi+C,EAAAA,EAAAA,KAAsC54C,EAAK0c,GAElE,OAAO,IAAIhe,GAAsE/D,EAASuE,OAAQvE,EAASd,KAC7G,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAP8D,CAAC,EAQpF,CACF,CAgB2B24C,CAAiB74C,EAAKtK,GAC3C,GAAIqK,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,oCAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,GAGN,ECjCO,IAAMs4C,GAAqB,SAACC,GACjC,IAAQrjD,EAAmBQ,IAAnBR,eACAiK,EAAkBH,KAAlBG,cACFK,GAAMH,EAAAA,EAAAA,OAIJnC,EADJE,KADFL,QAAWE,iBAELC,oBAEFoC,EAAeH,EAAcJ,GAAelR,eAElD,OAAO2N,EAAAA,EAAAA,IACL,CAACtG,EAAgBqjD,EAAY,oBAC7B7+C,iBACE,IAAM6F,QA1BZ7F,eAAoC8F,EAAgB0c,GAGlD,IACE,IAAM/hB,QAAiBq+C,EAAAA,EAAAA,KAAiDh5C,EAAK0c,GAE7E,OAAO,IAAIhe,GAAmE/D,EAASuE,OAAQvE,EAASd,KAC1G,CAAE,MAAO5W,GACP,OAAOyb,GAAYwB,SAP+D,CAAC,EAQrF,CACF,CAgB2B+4C,CAAqBj5C,EAAKtK,GAC/C,GAAIqK,EAAOnB,aAAemB,EAAOpF,SAC/B,OAAOoF,EAAOpF,SAEhB,MAAM,IAAIX,MAAM,yCAClB,GACA,CACEjD,QAAO,SAACsJ,GACFA,GACF3C,EAAoB,CAClB4C,QAAQ,EACR1G,QAASkG,EACTS,KAAM/B,GAAYvb,MAClBud,UAAW,iBAGjB,GAGN,ECpDMwS,GAAc9X,KAAAA,SAIb,SAASg+C,GAAgBxjD,EAAwByjD,GACtD,IAHuBhmC,EAGvB9c,EAAiCH,IAAzBf,EAAYkB,EAAZlB,aAAcG,EAAMe,EAANf,OACdmC,GAAmBlB,EAAAA,EAAAA,KAAnBkB,eACF2b,EAAcrN,QAAQozC,SACtB/+C,EAAM,GAAHzX,OAAMwS,EAAY,2BAAAxS,OAA0B+S,EAAc,gCAEnE2d,GAA+BrX,EAAAA,EAAAA,IAAOoX,EAAchZ,EAAIkZ,WAAa,MAAMpZ,eAAOqZ,GAChF,IAAMvY,EAAyC,CAC7C,mBAAoB1F,GAWtB,OATA0F,EAAQwY,cAAgB/b,SACDub,GACpBnU,IAAU0U,EAAY,CACrBvY,QAAAA,EACAyY,aAAc,SAEftY,MAAK,SAACgY,GAAI,OAAKA,CAAI,IACnB/X,OAAM,SAACnY,GAA0B,OAAKA,CAAK,KANtC4W,IASV,IAdc6Z,EAAYL,EAAlBxZ,KAgBR,YAAwBwC,IAAjBqX,OAA6BrX,GAxBb8W,EAwByCO,EAxBlBC,IAAIC,gBAAgBT,GAyBpE,C,8mBChBA,IAAMkB,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CAClDC,QAAS,OACTC,cAAe,SACfC,WAAY,SACb,IAEKi0B,IAAet0B,EAAAA,EAAAA,GAAOu0B,GAAAA,EAAPv0B,EAAe,SAAAO,GAAA,IAAGL,EAAKK,EAALL,MAAK,MAAQ,CAClDyB,MAAO,QACPD,OAAQ,QACRywB,aAAcjyB,EAAMO,QAAQ,GAC5B2Y,MAAOlZ,EAAMkhB,QAAQmR,KAAK7E,QAC1BlM,eAAgB,OACjB,IAEK43C,IAAkBp5D,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAW,GAAQ,MAAQ,CACzDwxB,aADiDxxB,EAALT,MACxBO,QAAQ,GAC7B,IAEKihC,IAAc1hC,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAa,GAAQ,MAAQ,CACrDsxB,aAD6CtxB,EAALX,MACpBO,QAAQ,GAC5BqyB,WAAY,OACb,IAEKumC,IAAar5D,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAe,GAAQ,MAAQ,CAChD0wB,SAAU,QACVrE,UAFwCrsB,EAALb,MAElBO,QAAQ,GAC1B,IAEY64D,GAAmC,SAACj2D,GAC/C,IAAQk2D,EAAgEl2D,EAAhEk2D,kBAAmB5yC,EAA6CtjB,EAA7CsjB,MAAO6yC,EAAsCn2D,EAAtCm2D,oBAAqB9lC,EAAiBrwB,EAAjBqwB,aAC/CqjC,EAA+BwC,EAA/BxC,iBAAkB0C,EAAaF,EAAbE,SAGb/8C,EACTY,KADFC,QAAWb,YAELE,EAA0CF,EAA1CE,WAAYD,EAA8BD,EAA9BC,cAAeI,EAAeL,EAAfK,WAI3BZ,EADJI,KADFC,4BAA+BN,yBAEzBC,gBAEA2G,GAAmBD,EAAAA,GAAAA,KAAnBC,eAOR,OACExhB,EAAAA,EAAAA,MAAC+yB,GAAahd,GAAAA,GAAA,GAAKyL,EAAe,2BAAyB,IAAAvhB,SAAA,EACzDC,EAAAA,EAAAA,KAACkgC,GAAW,CACV9/B,QAAQ,YACRwX,MAAM,cAAa7X,SAElBolB,IAEF8yC,GACCj4D,EAAAA,EAAAA,KAAC8yB,GAAYjd,GAAAA,GAAA,GACPwc,GAAa4lC,IAAS,IAC1BzkC,IAAKtB,KAEL,MACJlyB,EAAAA,EAAAA,KAAC43D,GAAe,CACdx3D,QAAQ,QACRwX,MAAM,cACN6b,MAAM,SACNnzB,GAAI,CAAEgxB,WAAY,QAASvxB,SAE1Bk4D,KAEHj4D,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRwX,MAAM,cACN6b,MAAM,SAAQ1zB,SAEbw1D,IAGFyC,GACCh4D,EAAAA,EAAAA,KAAC63D,GAAUhiD,GAAAA,GAAA,CACTzV,QAAQ,YACRwX,MAAM,UACN8T,QAAS,kBAtCf/Q,EAAgBY,EAAWH,SAC3BD,EAAcC,EAAa,EAqCU,GAC3BkG,EAAe,6BAA2B,IAAAvhB,UAE9CC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenV,kBACnBgU,eAAgB7a,EAAoB6G,uBAGtC,QAGV,E,ykBCzE0C,IAErCsvD,GAAe,SAAfA,GAAe,OAAfA,EAAe,6BAAfA,EAAe,gCAAfA,CAAe,EAAfA,IAAe,IAKdpoC,IAAatxB,EAAAA,EAAAA,GAAO,OAAPA,EAAe,SAAAC,GAAQ,MAAQ,CAChDE,QAAS,OACTwY,eAAgB,SAChBtY,WAAY,SACZD,cAAe,SACfuB,MAAO,OACPyrB,UANwCntB,EAALC,MAMlBO,QAAQ,GAC1B,IAEK8wB,IAAgBvxB,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAO,GAAQ,MAAQ,CACnDkxB,SAAU,QACVrE,UAF2C7sB,EAALL,MAErBO,QAAQ,GAC1B,IAEKk5D,IAAc35D,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAW,GAAQ,MAAQ,CACjDgB,MAAO,QACPgjB,SAAU,OACVjjB,OAAQ,OACRgjB,OAAQ,SACRyN,aALyCxxB,EAALT,MAKhBO,QAAQ,IAC7B,IAEK47C,IAAcr8C,EAAAA,EAAAA,GAAOwxB,GAAAA,EAAPxxB,EAAe,SAAAa,GAAQ,MAAQ,CACjDV,QAAS,OACTwY,eAAgB,gBAChB8Y,SAAU,OACVrE,UAJyCvsB,EAALX,MAInBO,QAAQ,GAC1B,IAEK67C,IAAkBt8C,EAAAA,EAAAA,GAAOu8C,GAAAA,EAAPv8C,EAAsB,SAAAe,GAAQ,MAAQ,CAC5D2nB,YADoD3nB,EAALb,MAC5BO,QAAQ,GAC5B,IAEKo4C,IAAyB74C,EAAAA,EAAAA,GAAO84C,GAAAA,EAAP94C,EAAyB,SAAA8xB,GAAQ,MAAQ,CACtEzxB,WAAY,SACZ8xB,aAF8DL,EAAL5xB,MAErCO,QAAQ,GAC7B,IAEKm5D,IAA6B55D,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAkyB,GAAQ,MAAQ,CAC/DC,aADuDD,EAALhyB,MAC9BO,QAAQ,GAC7B,IAEKo5D,IAAe75D,EAAAA,EAAAA,GAAO85D,GAAAA,GAAP95D,EAAe,SAAAqyB,GAAQA,EAALnyB,MAAK,MAAQ,CAClD6yB,OAAQ,UACT,IAEK2f,IAAwB1yC,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAmB,SAAAsyB,GAAA,IAAGpyB,EAAKoyB,EAALpyB,MAAK,MAAQ,CAC/DC,QAAS,OACTwB,MAAO,OACPwwB,aAAcjyB,EAAMO,QAAQ,GAC5B2sB,UAAWltB,EAAMO,QAAQ,GAC1B,IAYYs5D,GAA6C,SAAC12D,GAAU,IAAA22D,EAAAC,EAAApkB,EAAAqkB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC3DzkB,EACN7yC,EADM6yC,YAAar7B,EACnBxX,EADmBwX,OAAQ+/C,EAC3Bv3D,EAD2Bu3D,YAAaC,EACxCx3D,EADwCw3D,oBAAqBC,EAC7Dz3D,EAD6Dy3D,iBAAkBhlC,EAC/EzyB,EAD+EyyB,gBAAiBC,EAChG1yB,EADgG0yB,aAGrFrZ,EACTY,KADFC,QAAWb,YAELE,EAA0CF,EAA1CE,WAAYD,EAA8BD,EAA9BC,cAAeI,EAAeL,EAAfK,WAE7Bg+C,EAAoE,QAA5Cf,EAAGn/C,aAAM,EAANA,EAAQmgD,yCAAiC,IAAAhB,EAAAA,EAAI,cAGjEl8C,EACTI,KADFX,QAAWO,UAELC,EAA+BD,EAA/BC,aAAcE,EAAiBH,EAAjBG,aAEtB9F,GAAkDG,EAAAA,EAAAA,UAASyiD,GAAyB3iD,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAA7E8iD,EAAiB7iD,EAAA,GAAE8iD,EAAoB9iD,EAAA,GAC9C8E,GAA8B5E,EAAAA,EAAAA,WAA2B,GAAM6E,GAAA3E,EAAAA,GAAAA,GAAA0E,EAAA,GAAxDpO,EAAOqO,EAAA,GAAEg+C,EAAUh+C,EAAA,GAC1BC,GAAgC9E,EAAAA,EAAAA,UAAS,GAAE+E,GAAA7E,EAAAA,GAAAA,GAAA4E,EAAA,GAApCg+C,EAAQ/9C,EAAA,GAAEg+C,EAAWh+C,EAAA,GAEpByF,GAAmBD,EAAAA,GAAAA,KAAnBC,eAEFoT,GAAUC,EAAAA,GAAAA,IAAkE,CAChFigB,cAAeF,EACf9f,eAAgB,WAChBC,KAAM,QAGAC,EAA+BJ,EAA/BI,UAAWlN,EAAoB8M,EAApB9M,MAAOzG,EAAauT,EAAbvT,SAElB6T,EAA0BF,EAA1BE,QAASE,EAAiBJ,EAAjBI,aACX4kC,EAA2D,QAA7CrB,EAAGp/C,SAAe,QAATg7B,EAANh7B,EAAQuyB,eAAO,IAAAyI,GAAS,QAATA,EAAfA,EAAiB/mC,eAAO,IAAA+mC,OAAA,EAAxBA,EAA0BhsB,wBAAgB,IAAAowC,EAAAA,EAAI,GAE/D57C,EAAS+K,IAETwN,EAAoB3Y,aAAY,EAAZA,EAAc4Y,QACtC,SAACC,GAAE,IAAAC,EAAAC,EAAA,OACAC,OAAOC,KAAK7Y,GACViF,KAAI,SAAC6T,GAAG,OAAKA,EAAIhU,aAAa,IAC9BwH,SAAoC,QAA5BoM,EAAa,QAAbC,EAACF,EAAGnW,iBAAS,IAAAqW,OAAA,EAAZA,EAAc7T,qBAAa,IAAA4T,EAAAA,EAAI,GAAG,IAG5CwkC,GAAmB,kBAEX3mB,GAAwB/H,GAAyB,cAAvDhzB,KAKAsC,GADJI,KADFC,4BAA+BN,yBAEzBC,iBA2BRzD,EAAAA,EAAAA,YAAU,WAAM,IAAAs0B,EACI,QAAlBA,EAAI3uB,EAAO+uB,eAAO,IAAAJ,GAAdA,EAAgBp4B,SAClBsmD,EAAqBxB,GAAgB8B,YAEzC,GAAG,CAAe,QAAftB,EAAC77C,EAAO+uB,eAAO,IAAA8sB,OAAA,EAAdA,EAAgBtlD,WAEpB8D,EAAAA,EAAAA,YAAU,WAAM,IAAAs9B,EACVn7B,SAAe,QAATm7B,EAANn7B,EAAQuyB,eAAO,IAAA4I,GAAS,QAATA,EAAfA,EAAiBlnC,eAAO,IAAAknC,GAAxBA,EAA0Bn0B,aAAeo5C,IAAsBvB,GAAgB8B,aACjF74C,EAAS44C,GAAkBD,EAAe,GAG9C,GAAG,CAACL,IAEJ,IAGqCQ,GAgCPC,GACKC,GApC7BC,GAAsBX,IAAsBvB,GAAgBmC,kBAC5DC,GAAwBb,IAAsBvB,GAAgB8B,YAqB9DO,GAAsB,SAACC,GAC3Bb,EAAWa,GAGPr5C,EAAS44C,GAFkB,kBAApBS,EACLA,EACyBV,EAAe,GAEfA,EAAe,GAGjBU,EAE/B,EAiGMxmB,GA9HA36B,SAAe,QAAT4gD,GAAN5gD,EAAQuyB,eAAO,IAAAquB,IAAe,QAAfA,GAAfA,GAAiBxuB,qBAAa,IAAAwuB,IAA9BA,GAAgCt7C,WAEhC3e,EAAAA,EAAAA,KAACsrC,GAAmBz1B,GAAAA,GAAA,GACdwD,EAAOuyB,SAAO,IAClBxrB,YAAYk6C,MAAyBlB,SAAAA,EAAa7D,kBAClDp1C,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe/U,2CACnB4T,eAAgB7a,EAAoBiH,gDAOvC,KAiHHyxD,GAhG0B,IAA1BX,EAAeh5D,QAEfhB,EAAAA,EAAAA,MAACmjB,GAAAA,EAAG,CAACy3C,GAAIrhD,SAAe,QAAT8gD,GAAN9gD,EAAQuyB,eAAO,IAAAuuB,IAAe,QAAfA,GAAfA,GAAiB1uB,qBAAa,IAAA0uB,IAA9BA,GAAgCx7C,UAAY,EAAI,EAAE5e,SAAA,EACzDC,EAAAA,EAAAA,KAACwpB,GAAAA,EAAU,CACTvR,GAAG,6BACHqL,SAAUg3C,GAAsBv6D,UAEhCC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAejV,mBACnB8T,eAAgB7a,EAAoB+G,wBAGxC9I,EAAAA,EAAAA,KAACq4D,GAAY,CACXj0C,WAAS,EACT2zB,QAASxzB,QAAQjX,GACjBqtD,UAAWb,EAAe,GAC1Bc,WAAYd,EAAe,GAC3B71C,SAAU,SAAAiN,GAAA,IAAoB6mB,EAAO7mB,EAAxB2pC,cAAiB9iB,QAAO,OAASwiB,GAAoBxiB,EAAQ,QAMhFj4C,EAAAA,EAAAA,MAACqkB,GAAAA,EAAW,CACVC,WAAS,EACTd,SAAUg3C,GACVh6D,GAAI,CAAEqwB,aAActX,SAAe,QAAT6gD,GAAN7gD,EAAQuyB,eAAO,IAAAsuB,IAAe,QAAfA,GAAfA,GAAiBzuB,qBAAa,IAAAyuB,IAA9BA,GAAgCv7C,UAAY,EAAI,GAAI5e,SAAA,EAExEC,EAAAA,EAAAA,KAACwpB,GAAAA,EAAU,CAACvR,GAAG,6BAA4BlY,UACzCC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAejV,mBACnB8T,eAAgB7a,EAAoB+G,wBAGxC9I,EAAAA,EAAAA,KAACypB,GAAAA,EAAM,CACLjoB,MAAO8L,EAAUmI,OAAOnI,QAAWuN,EACnCuJ,WAAS,EACTuF,QAAQ,6BACRzJ,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAejV,mBACnB8T,eAAgB7a,EAAoB+G,qBAGxCmb,SAAU,SAAC+B,GAAC,OAAKu0C,GAAoBv0C,EAAEC,OAAOzkB,MAAM,EAACzB,SAEpD+5D,EAAelW,OAAO9hC,KAAI,SAACwG,GAAG,OAC7BtoB,EAAAA,EAAAA,KAAC6oB,GAAAA,EAAQ,CAEPrnB,MAAO8mB,EAAIvoB,SAEVuoB,GAHIA,EAII,SA8CfwyC,KAA0C,QAAzBnC,EAAgB,QAAhBC,EAAE/7C,EAAO+uB,eAAO,IAAAgtB,OAAA,EAAdA,EAAgBtrD,eAAO,IAAAqrD,EAAAA,EAAkB,QAAlBE,EAAIh8C,EAAO+uB,eAAO,IAAAitB,OAAA,EAAdA,EAAgBzlD,SAC9D2nD,GAvCAT,IAEAt6D,EAAAA,EAAAA,KAAC+vB,GAAala,GAAAA,GAAA,CACZzV,QAAQ,YACRwX,MAAM,UACNmH,KAAK,SACL0F,WAAW20C,SAAAA,EAAa7D,kBACxB7pC,QAAS,kBAxHf/Q,GAAgBY,EAAWH,SAC3BD,EAAcC,EAAa,EAuHM,GACvBkG,EAAe,2BAAyB,IAAAvhB,UAE5CC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenV,kBACnBgU,eAAgB7a,EAAoB6G,wBAO1C5I,EAAAA,EAAAA,KAAC+vB,GAAala,GAAAA,GAAA,CACZzV,QAAQ,YACRwX,MAAM,UACNmH,KAAK,SACL0F,UAAWuQ,GAAWE,GAAgBZ,GAClChT,EAAe,2BAAyB,IAAAvhB,UAE5CC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAenV,kBACnBgU,eAAgB7a,EAAoB6G,uBAatCoyD,GAA0B5B,SAAAA,EAAa7D,iBAAmB,QAAU,QAEpE3hB,GAAgC,QAAdklB,EAAAj8C,EAAO+uB,eAAO,IAAAktB,GAAdA,EAAgB1lD,QACpCi3B,GAAyB,EAAGxtB,EAAO+uB,QAASwH,SAAAA,GAAuBpI,IACnE,KAEE+I,GACJ16B,SAAe,QAAT0/C,EAAN1/C,EAAQuyB,eAAO,IAAAmtB,GAAe,QAAfA,EAAfA,EAAiBttB,qBAAa,IAAAstB,GAA9BA,EAAgCp6C,WAAai1B,IAC3C9zC,EAAAA,EAAAA,MAAAymB,EAAAA,SAAA,CAAAxmB,SAAA,EACEC,EAAAA,EAAAA,KAACkxC,GAAqB,CAAC9wC,QAAQ,UAASL,UACtCC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe3U,2BACnBwT,eAAgB7a,EAAoBqH,gCAGxCpJ,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CAAE8wC,SAAU,cAAerxC,SAE9B6zC,QAGH,KAEN,OACE9zC,EAAAA,EAAAA,MAAC62B,GAAAA,GAAY9gB,GAAAA,GAAA,GAAK6e,GAAO,IAAA30B,SAAA,EACvBC,EAAAA,EAAAA,KAACovB,GAAqB,CAACC,sBAAuB+F,KAC9Ct1B,EAAAA,EAAAA,MAACgwB,GAAU,CACT8G,YAAU,EACVC,SAAUnC,EAAQ0B,aAAa7B,GAAcx0B,SAAA,CAE5Cq5D,SAAAA,EAAa7D,kBACZv1D,EAAAA,EAAAA,KAAC83D,GAAU,CACTE,qBAAmB,EACnBD,kBAAmBqB,EACnBlnC,aAAcmnC,EACdl0C,OACEnlB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe7U,iCACnB0T,eAAgB7a,EAAoBmH,sCAK1CpJ,EAAAA,EAAAA,MAAC8iB,GAAAA,GAAI,CACHkU,WAAS,EACT3f,eAAe,SACftY,WAAW,SACXD,cAAc,SAAQmB,SAAA,EAEtBC,EAAAA,EAAAA,KAACi7D,GAAAA,EAAU,CACT3iD,KAAK,gBACL9W,MAAOi4D,EACPn5D,GAAI,CAAEH,MAAO,QACb8jB,SArOwB,SAACoG,GACnCqvC,EACErvC,EAAMpE,OACHzkB,OAELq4D,EAAY3gC,KAAK22B,OACjBn7B,EAAQwmC,MAAMxmB,GACdhgB,EAAQ7M,cACR8xC,GAAW,GACPl9C,GAAgBA,EAAa3b,OAAS,GACxCyb,EAAa,IAEfA,EAAa,GACf,EAwNkDxc,UAEtCD,EAAAA,EAAAA,MAACmjB,GAAAA,EAAG,CACF9iB,MAAM,OACNxB,QAAQ,OACRC,cAAc,SAAQmB,SAAA,EAEtBD,EAAAA,EAAAA,MAACmjB,GAAAA,EAAG,CACFwrB,UAAU,OACVtuC,MAAM,OAAMJ,SAAA,EAEZC,EAAAA,EAAAA,KAACq3C,GAAsB,CACrB71C,MAAO02D,GAAgBmC,kBACvBxiB,SAAS73C,EAAAA,EAAAA,KAACm7D,GAAAA,EAAK,CAACvjD,MAAM,YACtB6M,SAAUF,QAAQ60C,aAAW,EAAXA,EAAa7D,kBAC/Br1C,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAS46D,GACT16D,GAAI,CACFgxB,WAAYmoC,IAAsBvB,GAAgBmC,kBAAoB,OAAS,UAC/Et6D,UAEFC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5U,8BACnByT,eAAgB7a,EAAoBoH,oCAK3CixD,IACCp6D,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,CAEpB8K,UAAU,OACVD,aAAa,UACbpI,KAAK,gBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAepV,8BACnBiU,eAAgB7a,EAAoB4G,gCAGxCwX,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe5U,8BACnByT,eAAgB7a,EAAoBoH,iCAGpCkQ,aAAM,EAANA,EAAQ+f,eAAa,IACzBrY,kBAAgB,EAChBX,WAAYg6C,GACZ75C,WAAY,CAAEgD,YAAa62C,MAnBtBR,GAqBL,SAEN95D,EAAAA,EAAAA,MAACmjB,GAAAA,EAAG,CACFwrB,UAAU,OACVtuC,MAAM,OACNxB,QAAQ,OACRC,cAAc,SAAQmB,SAAA,EAEtBC,EAAAA,EAAAA,KAACq3C,GAAsB,CACrB71C,MAAO02D,GAAgB8B,YACvBniB,SAAS73C,EAAAA,EAAAA,KAACm7D,GAAAA,EAAK,CAACvjD,MAAM,YACtBsI,OACElgB,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,QACRE,GAAI,CACFgxB,WAAYmoC,IAAsBvB,GAAgB8B,YAAc,OAAS,UACzEj6D,UAEFC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehV,mCACnB6T,eAAgB7a,EAAoBgH,uCAI1Cga,MAAO,CAAEC,MAAO,MAEjBs3C,IAA0BlB,SAAAA,EAAa7D,iBA+CpC,MA9CFz1D,EAAAA,EAAAA,MAAAymB,EAAAA,SAAA,CAAAxmB,SAAA,CACGsZ,SAAe,QAAT2/C,EAAN3/C,EAAQuyB,eAAO,IAAAotB,GAAS,QAATA,EAAfA,EAAiB1rD,eAAO,IAAA0rD,GAAxBA,EAA0B34C,cAAgBi5C,GACzCt5D,EAAAA,EAAAA,KAAA,MAAA6V,GAAAA,GAAA,GAASyL,EAAe,+BAA6B,IAAAvhB,SAAG06D,MACtD,KACH/lB,SAAoB,QAATukB,EAAXvkB,EAAa9I,eAAO,IAAAqtB,GAApBA,EAAsB7lD,QAAU,MAC/BtT,EAAAA,EAAAA,MAAAymB,EAAAA,SAAA,CAAAxmB,SAAA,EACED,EAAAA,EAAAA,MAACs4D,GAA0B,CAACr1C,MAAO,CAAEC,MAAO3J,SAAe,QAAT6/C,EAAN7/C,EAAQuyB,eAAO,IAAAstB,GAAe,QAAfA,EAAfA,EAAiBztB,qBAAa,IAAAytB,OAAA,EAA9BA,EAAgC54C,cAAevgB,SAAA,CACxFi0C,GACAD,OAGH/zC,EAAAA,EAAAA,KAACigB,GAAqBpK,GAAAA,GAAA,CACpByC,KAAK,kBACL4H,OACElgB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAexU,uBACnBqT,eAAgB7a,EAAoBwH,yBAGxC4W,aACEngB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAevU,+BACnBoT,eAAgB7a,EAAoByH,kCAGpC6P,SAAe,QAAT8/C,EAAN9/C,EAAQuyB,eAAO,IAAAutB,OAAA,EAAfA,EAAiB/lD,SAAO,IAC5BqN,wBAAsB,EACtBF,WAAY,CAAEgD,YAAa+2C,WAKjCt6D,EAAAA,EAAAA,KAACm4D,GACC,CACAp1C,MAAO,CAAEC,MAAO,IAChB5iB,QAAQ,YACRwX,MAAM,UACNmH,KAAK,SACL0F,SAAUq2C,IAAkB5lC,GAAgBZ,EAAgBv0B,UAE5DC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAelV,uBACnB+T,eAAgB7a,EAAoB8G,8BAK3CuwD,SAAAA,EAAa7D,kBACZv1D,EAAAA,EAAAA,KAAA,OAAK+iB,MAAO,CAAEC,MAAO,IAAKjjB,UACxBC,EAAAA,EAAAA,KAAC83D,GAAU,CACTC,kBAAmBqB,EACnBlnC,aAAcmnC,EACdl0C,OACEnlB,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe7U,iCACnB0T,eAAgB7a,EAAoBmH,mCAGxC8uD,qBAAqB,MAGvB,aAIT+C,OAGLj7D,EAAAA,EAAAA,MAAC+6C,GAAW,CACVz6C,QAAQ,OACRwX,MAAM,UACN8T,QAAS,kBA3Wf/Q,GAAgBY,EAAWH,SAC3BD,EAAcC,EAAa,EA0WM,EAACrb,SAAA,EAE5BC,EAAAA,EAAAA,KAAC86C,GAAe,KAChB96C,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAezR,KACnBsQ,eAAgB7a,EAAoBuK,gBAMhD,E,ykBCjgBO,IAAM8uD,GAAkB,WAAM,IAAAC,EAAAC,EAAAC,EACnC5kD,GAAgCG,EAAAA,EAAAA,UAAS,IAAGF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAArC6vC,EAAQ5vC,EAAA,GAAEs4C,EAAWt4C,EAAA,GAC5B8E,GAA0C5E,EAAAA,EAAAA,WAAS,GAAM6E,GAAA3E,EAAAA,GAAAA,GAAA0E,EAAA,GAAlDyc,EAAaxc,EAAA,GAAEyc,EAAgBzc,EAAA,GAE9BzH,EAAmBQ,IAAnBR,eAEFynC,EAAoBv/B,KAAsBL,QAAQE,iBAE3CK,EACTI,KADFX,QAAWO,UAELC,EAA+BD,EAA/BC,aAAcE,EAAiBH,EAAjBG,aAGTvB,EACTY,KADFC,QAAWb,YAELE,EAA8BF,EAA9BE,WAAYD,EAAkBD,EAAlBC,cAEaT,EAC7BK,KADFC,4BAA+BN,yBAEzBC,EAAkCD,EAAlCC,gBAAiBC,EAAiBF,EAAjBE,aAEX4gD,EAAkBxE,KAAxB3+C,KACMojD,EAAuBtE,KAA7B9+C,KACMqjD,EAAoBpE,GAAmB9Q,GAA7CnuC,KACMg9B,EAAwBjQ,KAA9B/sB,KACF6Z,EAAewlC,GAAgBxjD,EAAgBwnD,aAAe,EAAfA,EAAiB/D,wBAEhEn5C,GAAMH,EAAAA,EAAAA,OAENs9C,GACJH,SAAsB,QAATH,EAAbG,EAAe5vB,eAAO,IAAAyvB,GAAS,QAATA,EAAtBA,EAAwB/tD,eAAO,IAAA+tD,OAAA,EAA/BA,EAAiCh7C,cAAyE,IAA1Dm7C,EAAc5vB,QAAQt+B,QAAQ+a,iBAAiBvnB,QAEjGoW,EAAAA,EAAAA,YAAU,WACRsuB,IACF,GAAG,KAEHtuB,EAAAA,EAAAA,YAAU,WACRklB,GAAyB,uBAAwBxhB,EAAc1G,GAC/DyG,EAAgB,uBAElB,GAAG,IAEH,IAAMihD,EAAqBJ,SAAsB,QAATF,EAAbE,EAAe5vB,eAAO,IAAA0vB,GAAa,QAAbA,EAAtBA,EAAwB3lB,mBAAW,IAAA2lB,GAAnCA,EAAqCjzC,iBAC5DmzC,EAAc5vB,QAAQ+J,YAAYttB,iBAAiB,GACnD,QAqFJ,IAAKozC,EACH,OAAOz7D,EAAAA,EAAAA,KAACR,EAAa,IAIvB,IAAMq8D,GAA0BxmB,SAA4B,QAATkmB,EAAnBlmB,EAAqBzJ,eAAO,IAAA2vB,OAAA,EAA5BA,EAA8BjuD,UAAWquD,EAEzE,OACE77D,EAAAA,EAAAA,MAAC+yB,GAAa,CAAA9yB,SAAA,EACZC,EAAAA,EAAAA,KAACkgC,GAAW,CACV9/B,QAAQ,KACRwX,MAAM,cAAa7X,UAEnBC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe9U,kBACnB2T,eAAgB7a,EAAoBkH,uBAGxCjJ,EAAAA,EAAAA,KAACusB,GAAAA,EAAU,CACTnsB,QAAQ,YACRwX,MAAM,cACN6b,MAAM,SAAQ1zB,UAEdC,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAe1U,gBACnBuT,eAAgB7a,EAAoBsH,qBAGxCrJ,EAAAA,EAAAA,KAACu4D,GAAe,CACdl/C,OAAQmiD,EACR9mB,YAAa+mB,EACbrC,YAAasC,EACbrC,oBAAqBnnC,EACrBonC,iBAAkB/0C,QAAQs3C,GAC1BvnC,gBAAiB6D,EACjB5D,aAtHoF7b,eAAOL,GAAS,IAAAyjD,EA0B1CC,EAzB1DC,EAAqB,KACrBC,EAAuB5jD,EAAK+gB,eAE5B/gB,EAAKuzB,UACPowB,EAAqB,CACnBpwB,QAAO/1B,GAAAA,GAAA,GAAOwC,EAAKuzB,SAAO,IAAE+J,YAAaimB,MAIzCvjD,EAAK+gB,gBACP4iC,EAAqB,MAIrBC,EAD2B,OAAzBA,OACqBphD,EAEA+kB,OAAOvnB,EAAK+gB,gBAGhC/gB,EAAK+gB,eAAN,MAAuBic,GAA4B,QAATymB,EAAnBzmB,EAAqBzJ,eAAO,IAAAkwB,GAA5BA,EAA8BxuD,UACvD0uD,EAAqB,CACnBpwB,QAAO/1B,GAAA,GAAOw/B,EAAoBzJ,WAIjCvzB,EAAK+gB,eAAkB/gB,EAAKuzB,UAAW+vB,KAC1CK,EAAqB,CACnBpwB,QAAS,CACP+J,YAAaimB,EACbtuD,QAA8B,QAAvByuD,EAAEP,EAAc5vB,eAAO,IAAAmwB,GAAS,QAATA,EAArBA,EAAuBzuD,eAAO,IAAAyuD,OAAA,EAA9BA,EAAgC1zC,iBAAiB,MAKhE,IAAMwY,EAAqEhrB,GAAAA,GAAA,GACrEmmD,GAAkB,IACtB5iC,cAAe6iC,EACf9iC,cAAe9gB,EAAK8gB,gBAEtB,IACE,IAAMyc,QAAuBsmB,EAAAA,EAAAA,KAAyC19C,EAAKtK,EAAgB2sB,GAC5E,IAAI3jB,GAAqB04B,EAAel4B,QAE5CN,cACTgb,GAAiB,GACbyI,EAAYzH,cACdje,EAAcC,EAAa,GAE3B8zC,EAAYh2B,KAAK22B,MAAM/9B,YAErBrV,GAAgBA,EAAa3b,OAAS,GACxCyb,EAAa,IAGnB,CAAE,MAAO9a,GAAgB,IAAAw4B,EACjBC,EAAgBz4B,EACtB,IAA0B,QAAtBw4B,EAAAC,EAAc/gB,gBAAQ,IAAA8gB,OAAA,EAAtBA,EAAwBvc,UAAWT,EAAAA,IAAgBkd,oBAAqB,CAC1E,IAAQC,EAAWF,EAAc/gB,SAASd,KAAlC+hB,OACFC,EAAeD,aAAM,EAANA,EAAQtY,KAAI,SAACwT,GAAE,MAAM,CACxCnW,UAAWmW,EAAGgF,aACdpb,UAAWoW,EAAGiF,KACf,IACGF,SAAAA,EAAcv5B,QAAUu5B,EAAav5B,OAAS,EAChDyb,EAAa8d,GAEb9d,EAAa,GAEjB,MACEo/B,EAAkBz/B,oBAAoB,CACpC4C,QAAQ,EACR1G,SACEpY,EAAAA,EAAAA,KAAC2c,GAAY,CACX1E,GAAI8F,GAAehR,aACnB6P,eAAgB7a,EAAoBgL,eAGxCgS,KAAM/B,GAAYvb,OAGxB,CACF,MAyCF,EClMMoxB,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAQA,EAALC,MAAK,MAAQ,CAClD0Y,SAAU,WACVzY,QAAS,OACTC,cAAe,SACfuY,eAAgB,SAChBtY,WAAY,SACb,IAEKs9D,IAAmB39D,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAO,GAAQA,EAALL,MAAK,MAAQ,CACrDyB,MAAO,OACPgjB,SAAU,QACX,IAOYi5C,GAA4C,SAACv6D,GACxD,IAAQm3B,EAAuBn3B,EAAvBm3B,YAAayL,EAAU5iC,EAAV4iC,MAERvpB,EACTY,KADFC,QAAWb,YAELE,EAA6CF,EAA7CE,WAAYD,EAAiCD,EAAjCC,cAAeK,EAAkBN,EAAlBM,cACnC3G,EAAuCH,IAA/BX,EAAgBc,EAAhBd,iBAAkBof,EAAQte,EAARse,SAElBkpC,GAAUC,EAAAA,EAAAA,MAAVD,MAEFE,EAAyC,gBAArBxoD,EACpByoD,EAA+C,SAA3BrpC,aAAQ,EAARA,EAAU4C,eAAqD,kBAA3B5C,aAAQ,EAARA,EAAU4C,cAElE0mC,EAAoBF,IAAsBC,GAEhDtlD,EAAAA,EAAAA,YAAU,WACRsE,EAAcipB,EAChB,GAAG,CAACjpB,EAAeipB,KAEnBvtB,EAAAA,EAAAA,YAAU,WACR,GAAI8hB,EAAa,CACf,IAAM0jC,EAAaj4B,EAAMk4B,QAAQ3jC,IAEb,IAAhB0jC,IACFvhD,EAAcuhD,GACdL,EAAM1uD,OAAO,oBAEjB,CAEF,GAAG,CAACqrB,IACJ,IA2BM4jC,EA3BoB,WACxB,IAAIl8B,EACJ,OAAQtlB,GACN,KAAK,EACHslB,GACE1gC,EAAAA,EAAAA,KAACm8D,GAAgB,CAAAp8D,UACfC,EAAAA,EAAAA,KAACk1C,GAAY,MAGjB,MACF,KAAK,EACHxU,GAAU1gC,EAAAA,EAAAA,KAACm8D,GAAgB,CAAAp8D,SAAE08D,GAAoBz8D,EAAAA,EAAAA,KAAC40D,GAAS,KAAM50D,EAAAA,EAAAA,KAACo7D,GAAW,MAC7E,MACF,KAAK,EACH16B,GACE1gC,EAAAA,EAAAA,KAACm8D,GAAgB,CAAAp8D,UACfC,EAAAA,EAAAA,KAAC40D,GAAS,MAGd,MACF,QACEl0B,EAAU,KAGd,OAAOA,CACT,CAEuBm8B,GAEvB,OACE/8D,EAAAA,EAAAA,MAAC+yB,GAAa,CAAA9yB,SAAA,EACZC,EAAAA,EAAAA,KAACwkC,GAAO,CACNG,eAAe,EACfF,MAAOA,EACPC,eAAe,IAEhBk4B,IAGP,EC3FME,IAAkBt+D,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAA,IAAGC,EAAKD,EAALC,MAAK,OAAA0C,EAAAA,EAAAA,GAAA,CAC5CwuB,KAAMlxB,EAAMkhB,QAAQC,KAAK,KACzB3f,OAAQ,OACRC,MAAO,KACNzB,EAAMkB,YAAYC,KAAK,MAAQ,CAC9BM,MAAO,KACR,IAGG48D,IAAgBv+D,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAW,GAAQ,MAAQ,CAClDiY,SAAU,WACVmuC,OAAQ,EACRplD,MAAO,OACPD,OAAQ,MACRivC,WAL0ChwC,EAALT,MAKnBkhB,QAAQC,KAAK,KAChC,IAEKm9C,IAAYx+D,EAAAA,EAAAA,GAAOykB,GAAAA,EAAPzkB,EAAY,SAAAa,GAAA,IAAGX,EAAKW,EAALX,MAAK,MAAQ,CAC5C0Y,SAAU,SACVC,IAAK,EACL1Y,QAAS,OACTwY,eAAgB,SAChBjX,OAAQ,OACRC,MAAO,OACPgjB,SAAU,OACVgsB,WAAYzwC,EAAMkhB,QAAQuvB,WAAWpjB,QACrCb,QAASxsB,EAAMO,QAAQ,GACvB+vC,OAAQ,GACR7f,WAAY,QACb,IAEY8tC,GAAmB,WAC9B,IAAMv9D,EAAW84C,KAEjB,OACE14C,EAAAA,EAAAA,MAACk9D,GAAS,CAAAj9D,SAAA,EACRC,EAAAA,EAAAA,KAACs5C,GAAAA,EAAI,CACHjzB,KAAK,IACL,aAAW,kBACXpO,GAAG,2BACH0M,UAAW,EAAE5kB,UAEbC,EAAAA,EAAAA,KAAC88D,GAAe,CACdptC,MAAM,6BACNC,QAAQ,aAAY5vB,UAEpBC,EAAAA,EAAAA,KAAA,QAAM6vB,EAAE,k2DAGXnwB,GAAWM,EAAAA,EAAAA,KAAC+8D,GAAa,IAAM,OAGtC,EC9CMlqC,IAAgBr0B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,SAAAC,GAAA,IAAGC,EAAKD,EAALC,MAAK,OAAA0C,EAAAA,EAAAA,GAAA,CAC1CgW,SAAU,WACV8lD,SAAU,EACVv+D,QAAS,OACTC,cAAe,SACfuY,eAAgB,gBAChBgmD,cAAez+D,EAAMO,QAAQ,IAC5BP,EAAMkB,YAAYC,KAAK,MAAQ,CAC9Bs9D,cAAez+D,EAAMO,QAAQ,IAC9B,IAGGm+D,GAAa,CAAC,mBAAoB,uBAAwB,wBAC1DC,GAAW,CAAC,mBAAoB,wBAEzBC,GAAkB,WAAM,IAAAC,EAEtBthD,EACTG,KADFL,QAAWE,iBAELC,EAA8BD,EAA9BC,oBAAqB7D,EAAS4D,EAAT5D,KACrBtB,EAAaN,IAAbM,SACRJ,GAAoCG,EAAAA,EAAAA,WAAS,GAAMF,GAAAI,EAAAA,GAAAA,GAAAL,EAAA,GAA5CqrB,EAAUprB,EAAA,GAAEqrB,EAAarrB,EAAA,GAElBshC,EAAqBD,KAA3B5/B,KAEFmlD,GAAenlD,aAAI,EAAJA,EAAM0G,QAAS/B,GAAYvb,OAAQzB,EAAAA,EAAAA,KAACilB,GAAAA,EAAW,KAAMjlB,EAAAA,EAAAA,KAACguD,GAAAA,EAAU,IAErFn5C,EAAuDH,IAA/CX,EAAgBc,EAAhBd,iBAAkBG,EAAcW,EAAdX,eAAgBif,EAAQte,EAARse,SAEpCsqC,GAAcl/B,EAAAA,EAAAA,cAAY,WAC9BriB,EAAoB,CAAE4C,QAAQ,GAEhC,GAAG,CAAC7C,IAEEsgD,EAAyC,gBAArBxoD,EACpByoD,EAA+C,SAA3BrpC,aAAQ,EAARA,EAAU4C,eAAqD,kBAA3B5C,aAAQ,EAARA,EAAU4C,cAGlE2nC,EADoBnB,IAAsBC,EACPa,GAAWD,GAwB9CO,EArBCzpD,EAGiC,yBAAlCgkC,aAAgB,EAAhBA,EAAkBlf,cAA0CgJ,EAG5DjrB,GAA8C,gBAAlCmhC,aAAgB,EAAhBA,EAAkBlf,cACzBh5B,EAAAA,EAAAA,KAACqjC,GAAW,IAEjB6U,SAAAA,EAAkBhkC,gBAElBlU,EAAAA,EAAAA,KAACo8D,GAAkB,CACjBpjC,YAAakf,EAAiBlf,YAC9ByL,MAAOi5B,IAKN,MAdE19D,EAAAA,EAAAA,KAACwhC,GAAgB,CAACG,oBAAqB,kBAAMM,GAAc,EAAK,KAHhEjiC,EAAAA,EAAAA,KAAC43B,GAAO,IAsBnB,OACE93B,EAAAA,EAAAA,MAAC+yB,GAAa,CAAA9yB,SAAA,CACXmU,GAAiBlU,EAAAA,EAAAA,KAACi9D,GAAY,IAAM,KACpCU,GACD39D,EAAAA,EAAAA,KAAC49D,GAAAA,GAAoB,CACnB1zB,KAAM3lB,QAAQlM,aAAI,EAAJA,EAAMyG,QACpBlH,MAAOS,aAAI,EAAJA,EAAM0G,KACbuM,KAAsB,QAAlBiyC,EAAEllD,aAAI,EAAJA,EAAMwlD,kBAAU,IAAAN,EAAAA,EAAIC,EAC1BM,QAASL,EAAY19D,UAErBC,EAAAA,EAAAA,KAAA,QACE,WAAUqY,aAAI,EAAJA,EAAM2G,UAChBlC,UAAU,YAAW/c,SAEpBsY,aAAI,EAAJA,EAAMD,cAKjB,ECzEa2lD,GAAoB,SAAHt/D,GAA0B,IAApBu/D,EAAav/D,EAAbu/D,cAGlC,OAF2BjpD,EAAAA,EAAAA,KAAnBkB,gBAMNjW,EAAAA,EAAAA,KAACQ,EAAa,CAAAT,UACZC,EAAAA,EAAAA,KAACwU,EAAqB,CAAChT,MAAOw8D,EAAcj+D,UAC1CC,EAAAA,EAAAA,KAACi+D,EAAAA,EAAc,CACbC,KAAMC,EAAAA,EAAKC,YACXC,QAASC,EAAAA,GAASv+D,UAElBC,EAAAA,EAAAA,KAACu+D,EAAAA,SAAQ,CAACC,UAAUx+D,EAAAA,EAAAA,KAACR,EAAa,IAAIO,UACpCC,EAAAA,EAAAA,KAACy+D,EAAAA,EAAa,CACZC,qBAAmB,EACnBhgE,MAAOA,EAAAA,GACPigE,SAAUL,EAAAA,GAASv+D,UAEnBC,EAAAA,EAAAA,KAAC4U,EAAa,CAAA7U,UACZC,EAAAA,EAAAA,KAACgW,EAAW,CAAAjW,UACVC,EAAAA,EAAAA,KAAC8a,GAA4B,CAAA/a,UAC3BC,EAAAA,EAAAA,KAAC0W,GAAuB,CAAA3W,UACtBC,EAAAA,EAAAA,KAACyb,GAAe,CAAA1b,UACdC,EAAAA,EAAAA,KAACmc,GAAoB,CAAApc,UACnBC,EAAAA,EAAAA,KAACwc,GAAiB,CAAAzc,UAChBC,EAAAA,EAAAA,KAAC4+D,EAAAA,EAAqB,CACpB9qD,OAAQkqD,EAAclqD,OACtBuC,SAAU2nD,EAAcxqD,gBACxB4F,QAAS,CAAEylD,IAAK,CAAEC,UAAU,IAAS/+D,UAErCC,EAAAA,EAAAA,KAACma,GAAiB,CAAApa,UAChBC,EAAAA,EAAAA,KAACs9D,GAAW,gCA5BjC,IA4CX,ECxDO5kD,eAAekL,GAAOm7C,GAC3B,IAAAC,EAAwBD,EAAYE,QAA5B5lD,OAAAA,OAAM,IAAA2lD,EAAG,GAAEA,EACbE,GAAkBC,EAAAA,EAAAA,GAAsC9lD,EAAQ,CAAC,aAAc,WAC7E5F,EAAeyrD,EAAfzrD,YAER2rD,EAAAA,EAAAA,GAAWL,GAAan7C,QACtB5jB,EAAAA,EAAAA,KAACQ,EAAa,CAAAT,UACZC,EAAAA,EAAAA,KAACq/D,EAAAA,EAAsB,CACrB5rD,WAAYA,EACZ6rD,aAAa,GAAEv/D,UAEfC,EAAAA,EAAAA,KAACy+D,EAAAA,EAAa,CACZC,qBAAmB,EACnBC,SAAUY,EAAAA,GAAkBx/D,UAE5BC,EAAAA,EAAAA,KAAC+9D,GAAG,CAACC,cAAekB,UAK9B,C","sources":["webpack://orisimplifiedregistration/./src/components/BasicSkeleton/BasicSkeleton.tsx","webpack://orisimplifiedregistration/./src/containers/ErrorBoundary.ts","webpack://orisimplifiedregistration/./src/constants/defaultTranslations_simplified-registration-BrandPartner.ts","webpack://orisimplifiedregistration/./src/constants/defaultTranslations_simplified-registration-VIPCustomer.ts","webpack://orisimplifiedregistration/./src/contexts/configurationContext.ts","webpack://orisimplifiedregistration/./src/containers/I18nContainer.tsx","webpack://orisimplifiedregistration/./src/containers/ApiProvider.tsx","webpack://orisimplifiedregistration/./src/contexts/registrationStatusContext.ts","webpack://orisimplifiedregistration/./src/containers/RegisterStatusContainer.tsx","webpack://orisimplifiedregistration/./src/hooks/useRegistrationStatusInitialState.ts","webpack://orisimplifiedregistration/./src/components/Loading/Loading.tsx","webpack://orisimplifiedregistration/./src/contexts/contentsContext.ts","webpack://orisimplifiedregistration/./src/models/ApiError.ts","webpack://orisimplifiedregistration/./src/hooks/useContentsQuery.ts","webpack://orisimplifiedregistration/./src/utils/fetcher.ts","webpack://orisimplifiedregistration/./src/containers/ContentsContainer.tsx","webpack://orisimplifiedregistration/./src/contexts/virtualPageAnalyticsContext.tsx","webpack://orisimplifiedregistration/./src/contexts/stepperContext.tsx","webpack://orisimplifiedregistration/./src/contexts/notificationContext.tsx","webpack://orisimplifiedregistration/./src/contexts/formErrorContext.tsx","webpack://orisimplifiedregistration/./src/Localization/Localization.tsx","webpack://orisimplifiedregistration/./src/interfaces/interfaces.ts","webpack://orisimplifiedregistration/./src/models/FetchResult.ts","webpack://orisimplifiedregistration/./src/models/TranslationKey_simplified-registration-BrandPartner.ts","webpack://orisimplifiedregistration/./src/hooks/useTranslations_simplified-registration-BrandPartner.ts","webpack://orisimplifiedregistration/./src/models/api/registrations/useRegistrationsMetadata.ts","webpack://orisimplifiedregistration/./src/utils/getErrorLocalizationByCode.ts","webpack://orisimplifiedregistration/./src/Localization/ContentKeys.ts","webpack://orisimplifiedregistration/./src/utils/getValidationMessage.tsx","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/TextFormFieldByConfig/TextFormFieldByConfig.tsx","webpack://orisimplifiedregistration/./src/models/api/hooks/usePhoneFormats.ts","webpack://orisimplifiedregistration/./src/models/api/hooks/useTenantsCountry.ts","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/PhoneFieldByConfig/PhoneFieldByConfig.tsx","webpack://orisimplifiedregistration/./src/components/PasswordToggle/PasswordToggle.tsx","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/PasswordFieldByConfig/PasswordRequirements.tsx","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/PasswordFieldByConfig/PasswordFieldByConfig.tsx","webpack://orisimplifiedregistration/./src/components/FormValidationSummary/FormValidationSummary.tsx","webpack://orisimplifiedregistration/./src/components/GoogleIcon/GoogleIcon.tsx","webpack://orisimplifiedregistration/./src/components/Forms/PreStepForm/PreStepFormStyledComponent.ts","webpack://orisimplifiedregistration/./src/models/api/registrations/usePublicSponsorImage.ts","webpack://orisimplifiedregistration/./src/utils/getStringAvatar.ts","webpack://orisimplifiedregistration/./src/components/Forms/PreStepForm/PublicSponsorBox.tsx","webpack://orisimplifiedregistration/./src/components/Forms/PreStepForm/PreStepForm.tsx","webpack://orisimplifiedregistration/./src/components/Steps/PreStep.tsx","webpack://orisimplifiedregistration/./src/models/api/contact/useContactMetadata.ts","webpack://orisimplifiedregistration/./src/models/api/contact/useContactData.ts","webpack://orisimplifiedregistration/./src/utils/virtualPageEventDispatcher.ts","webpack://orisimplifiedregistration/./src/components/Verification/VerificationStyledComponents.ts","webpack://orisimplifiedregistration/./src/components/Verification/ResendLink.tsx","webpack://orisimplifiedregistration/./src/components/Verification/VerificationCodeInput.tsx","webpack://orisimplifiedregistration/./src/components/Verification/Verify.tsx","webpack://orisimplifiedregistration/./src/components/Steps/StepsStyledComponents.ts","webpack://orisimplifiedregistration/./src/components/Steps/VerificationChannelForm.tsx","webpack://orisimplifiedregistration/./src/components/Steps/VerificationLoading.tsx","webpack://orisimplifiedregistration/./src/components/Steps/VerificationStep.tsx","webpack://orisimplifiedregistration/./src/components/Steps/WelcomeStep.tsx","webpack://orisimplifiedregistration/./src/utils/getMobileOperatingSystem.ts","webpack://orisimplifiedregistration/./src/components/Stepper/Stepper.tsx","webpack://orisimplifiedregistration/./src/models/api/personal/usePersonalMetadata.ts","webpack://orisimplifiedregistration/./src/models/api/personal/usePersonalData.ts","webpack://orisimplifiedregistration/./src/utils/scrollTopHelper.ts","webpack://orisimplifiedregistration/./src/Localization/GenderLabelMapper.tsx","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/SelectFormFieldByConfig/SelectFormFieldByConfig.tsx","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/DatePickerField/DatePickerField.tsx","webpack://orisimplifiedregistration/./src/utils/generateDateFormat.ts","webpack://orisimplifiedregistration/./src/utils/addressFormatHelper.ts","webpack://orisimplifiedregistration/./src/models/api/useAddressFormatMetadata.ts","webpack://orisimplifiedregistration/./src/components/AddressAutocomplete/AddressAutocomplete.tsx","webpack://orisimplifiedregistration/./src/components/Forms/PersonalDetailsForm/AddressSection.tsx","webpack://orisimplifiedregistration/./src/components/Forms/PersonalDetailsForm/PersonalDetailsForm.tsx","webpack://orisimplifiedregistration/./src/components/Steps/PersonalStep.tsx","webpack://orisimplifiedregistration/./src/models/api/legal/useLegalMetadata.ts","webpack://orisimplifiedregistration/./src/utils/applyNegativeApprovals.ts","webpack://orisimplifiedregistration/./src/models/api/legal/useLegalData.ts","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/CheckboxFormFieldByConfig/CheckboxFormFieldByConfig.tsx","webpack://orisimplifiedregistration/./src/hooks/useCustomHeaders.ts","webpack://orisimplifiedregistration/./src/models/api/registrations/useRegistrationData.ts","webpack://orisimplifiedregistration/./src/utils/getMediaQuery.ts","webpack://orisimplifiedregistration/./src/components/ExpandableTextBlock/ExpandableTextBlock.tsx","webpack://orisimplifiedregistration/./src/components/Forms/LegalForm/StyledComponentsLegalForm.ts","webpack://orisimplifiedregistration/./src/components/TermsConditionsCheckbox/TermsConditionsCheckbox.tsx","webpack://orisimplifiedregistration/./src/components/Forms/LegalForm/LegalDetailApprovals.tsx","webpack://orisimplifiedregistration/./src/models/api/useDocumentTypes.ts","webpack://orisimplifiedregistration/./src/models/api/useCustomerDocumentsInfos.ts","webpack://orisimplifiedregistration/./src/components/Uploader/FileInputField.tsx","webpack://orisimplifiedregistration/./src/components/Uploader/UploaderForm.tsx","webpack://orisimplifiedregistration/./src/components/Uploader/Uploader.tsx","webpack://orisimplifiedregistration/./src/components/ConfirmDeleteDialog/ConfirmDeleteDialog.tsx","webpack://orisimplifiedregistration/./src/models/api/legal/useDocumentThumb.ts","webpack://orisimplifiedregistration/./src/models/api/legal/useDocumentThumbDetail.ts","webpack://orisimplifiedregistration/./src/components/ThumbWithDetail/ThumbWithDetail.tsx","webpack://orisimplifiedregistration/./src/models/api/legal/useCustomerDocument.ts","webpack://orisimplifiedregistration/./src/components/Document/DocumentState.tsx","webpack://orisimplifiedregistration/./src/components/DocumentItem/DocumentItemStyledComponents.ts","webpack://orisimplifiedregistration/./src/components/DocumentItem/DocumentItemFile.tsx","webpack://orisimplifiedregistration/./src/components/DocumentItem/DocumentItem.tsx","webpack://orisimplifiedregistration/./src/components/Document/DocumentActions.tsx","webpack://orisimplifiedregistration/./src/components/Document/DocumentStyledComponents.ts","webpack://orisimplifiedregistration/./src/components/Document/DocumentHistory.tsx","webpack://orisimplifiedregistration/./src/components/Document/DocumentLoadingProgress.tsx","webpack://orisimplifiedregistration/./src/components/Document/DocumentContent.tsx","webpack://orisimplifiedregistration/./src/components/Document/DocumentHeader.tsx","webpack://orisimplifiedregistration/./src/components/Document/Document.tsx","webpack://orisimplifiedregistration/./src/components/Forms/LegalForm/LegalDocuments.tsx","webpack://orisimplifiedregistration/./src/components/Forms/LegalForm/LegalDetaillsForm.tsx","webpack://orisimplifiedregistration/./src/components/Steps/LegalStep.tsx","webpack://orisimplifiedregistration/./src/models/api/sponsor/useSponsorMetadata.ts","webpack://orisimplifiedregistration/./src/models/api/sponsor/useSponsorData.ts","webpack://orisimplifiedregistration/./src/models/api/sponsor/useSponsorInfoData.ts","webpack://orisimplifiedregistration/./src/models/api/sponsor/useSponsorImage.ts","webpack://orisimplifiedregistration/./src/components/Forms/ConnectToBPForm/SponsorBox.tsx","webpack://orisimplifiedregistration/./src/components/Forms/ConnectToBPForm/ConnectToBPForm.tsx","webpack://orisimplifiedregistration/./src/components/Steps/SponsorStep.tsx","webpack://orisimplifiedregistration/./src/components/StepperWithContent/StepperWithContent.tsx","webpack://orisimplifiedregistration/./src/components/OriflameLogo/OriflameLogo.tsx","webpack://orisimplifiedregistration/./src/pages/LandingPage.tsx","webpack://orisimplifiedregistration/./src/App.tsx","webpack://orisimplifiedregistration/./src/appRender.tsx"],"sourcesContent":["import { Skeleton, styled, useTheme, useMediaQuery } from '@ori-ui/mui';\nimport type { FC } from 'react';\n\nconst Root = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n}));\n\nconst StepLogo = styled('div')(({ theme }) => ({\n paddingBottom: theme.spacing(2),\n}));\n\nconst StepTitle = styled('div')(({ theme }) => ({\n paddingBottom: theme.spacing(4),\n}));\n\nconst StepSubTitle = styled('div')(({ theme }) => ({\n paddingBottom: theme.spacing(3),\n}));\n\nconst StepContent = styled('div')(({ theme }) => ({\n paddingBottom: theme.spacing(6),\n}));\n\nexport const BasicSkeleton: FC = () => {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { type ReactNode, Component } from 'react';\n\ninterface ErrorBoundaryProps {\n children: JSX.Element;\n}\n\ninterface ErrorBoundaryState {\n error?: Error;\n}\n\nexport class ErrorBoundary extends Component {\n override readonly state: ErrorBoundaryState = {};\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n return { error };\n }\n\n override render(): ReactNode {\n const { error }: ErrorBoundaryState = this.state;\n\n if (error) {\n // eslint-disable-next-line no-console -- wanted behavior\n console.error(error);\n\n return null;\n }\n\n const { children }: ErrorBoundaryProps = this.props;\n\n return children;\n }\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_simplified-registration-BrandPartner';\n\nexport type DefaultTranslations = Record;\n\nexport const defaultTranslations: DefaultTranslations = {\n Approval_BlockGuaranteeOrdering: \"Blocks the consultant's guarantee and SPO sponsors from ordering on their behalf.\",\n Approval_Contact: 'Approval for receiving info emails/SMS',\n Approval_MarketingConsultant: 'Approval for receiving emails/SMS from beauty consultant',\n Approval_MarketingExternal: 'Approval for receiving marketing information from external sources',\n Approval_MarketingOriflame: 'Approval for receiving marketing information from Oriflame',\n Approval_Newletters: 'Approval for receiving newsletters',\n Approval_PersonalData: 'Approval for displaying personal data',\n Approval_Publication: 'Approval for publication in Oriflame materials',\n Approval_UplineLeaderBrowse: 'Leader approval for up line Leader to browse leader downline members',\n Approval_UplineLeaderData: \"Leader approval for up line Leader to display leader's data\",\n Custom_text:\n 'Market specific text about privacy policy and personal data processing for marketing products and services, analytical purposes and profiling. User is informed of their right to request access to data, rectification, deletion, transfer or limitation of processing and to raise objections. Link to more information about how Oriflame processes your personal data.',\n EmailPrimaryChannelDescription: 'Successfully connected! Please enter your email address and then verify it.',\n EmailPrimaryChannelLabel: 'Email',\n EmailPrimaryChannelPlaceholder: '@',\n EmailPrimaryChannelTitle: 'Email',\n EmailPrimaryChannelTooltip: 'Write your email in the format my@email.com',\n EmailVerification_Header: 'Verify your email',\n EmailVerification_ProceedingToRegistration: 'Proceeding to registration',\n EmailVerification_SendAgain: 'Send again',\n EmailVerification_Text:\n 'To continue with the registration please verify your email. A code was sent to {contactEmail}, you can enter it below.',\n EmailVerification_Verified: 'Verified',\n EmailVerification_WrongCode: 'Wrong code, try one more time or send again.',\n Error_WrongCode: 'Wrong code, try one more time or send again.',\n FirstStep_Address: 'Billing address',\n FirstStep_Button: 'NEXT',\n FirstStep_Country: 'Choose your country for billing',\n FirstStep_Country_Placeholder: 'Choose',\n FirstStep_Country_Tooltip: 'Please provide your country for shiping and taxation reasons.',\n FirstStep_DateOfBirth: 'Date of birth',\n FirstStep_DateOfBirthText:\n 'Fill in your birthday so we can surprise you on your day. You must be 18 or older to register',\n FirstStep_Email: 'Email',\n FirstStep_Email_Optional: 'Email (optional)',\n FirstStep_FirstName: 'First name',\n FirstStep_FirstName_Tooltip: 'Write your first name',\n FirstStep_Gender: 'Gender',\n FirstStep_Gender_Placeholder: 'Choose',\n FirstStep_Header: 'Personal details',\n FirstStep_LastName: 'Last name',\n FirstStep_LastName_Tooltip: 'Write your last name',\n FirstStep_Phone: 'Phone',\n FirstStep_PhoneWithPrefix: 'Mobile Phone',\n FirstStep_Phone_Optional: 'Phone (optional)',\n FirstStep_PlaceHolder: 'DD/MM/YYYY',\n FirstStep_PlaceholderEmail: '@',\n FirstStep_PlaceholderPhone: '+48XXXXXXXXX',\n FirstStep_PlaceholderPhoneWithPrefix: 'XXXXXXXXX',\n FirstStep_SearchedAddress: 'Searched address',\n FirstStep_Text: 'Start by filling out your account information.',\n FirstStep_TooltipEmail: 'Enter a unique email address that you frequently use.',\n FirstStep_TooltipPhone: 'Write your phone in the format +48XXXXXXXXX',\n FirstStep_TooltipPhoneWithPrefix: 'Write your phone in the format XXXXXXXXX',\n FirstStep_UniqueId: 'Unique ID',\n FirstStep_UniqueId_Tooltip: 'Write your unique ID in the format 123456789',\n LegalDocument1_Link_Label: 'LegalDocument1 Link',\n LegalDocument2_Link_Label: 'LegalDocument2 Link',\n LegalDocument3_Link_Label: 'LegalDocument3 Link',\n LegalDocument4_Link_Label: 'LegalDocument4 Link',\n LegalDocument5_Link_Label: 'LegalDocument5 Link',\n LegalDocument6_Link_Label: 'LegalDocument6 Link',\n LegalDocument7_Link_Label: 'LegalDocument7 Link',\n LegalDocument8_Link_Label: 'LegalDocument8 Link',\n PhonePrimaryChannelDescription: 'Successfully connected! Please enter your mobile phone number and then verify it.',\n PhonePrimaryChannelLabel: 'Phone',\n PhonePrimaryChannelLabelWithPrefix: 'Mobile Phone',\n PhonePrimaryChannelPlaceholder: '+48XXXXXXXXX',\n PhonePrimaryChannelPlaceholderWithPrefix: 'XXXXXXXXX',\n PhonePrimaryChannelTitle: 'Phone',\n PhonePrimaryChannelTooltip: 'Write your phone in the format +48XXXXXXXXX',\n PhonePrimaryChannelTooltipWithPrefix: 'Write your phone in the format XXXXXXXXX',\n PhoneVerification_Header: 'Verify your phone',\n PhoneVerification_ProceedingToRegistration: 'Proceeding to registration',\n PhoneVerification_SendAgain: 'Send again',\n PhoneVerification_Text:\n 'To continue with the registration please verify your phone. A code was sent to {contactTelephone}, you can enter it below.',\n PhoneVerification_Verified: 'Verified',\n PhoneVerification_WrongCode: 'Wrong code, try one more time or send again.',\n Prestep_Apple: 'Sign up with Apple',\n Prestep_Button: \"LET'S GET STARTED\",\n Prestep_Email: 'Email',\n Prestep_ExternalAccountAlreadyConnected: 'External account already connected',\n Prestep_Facebook: 'Sign up with Facebook',\n Prestep_Google: 'Sign up with Google',\n Prestep_Header: 'Join us',\n Prestep_InvitationCode: 'Invitation code',\n Prestep_InvitationCodeNotFound: 'Invalid code',\n Prestep_InvitationCodeTitle: 'Add invitation code',\n Prestep_InvitationCodeTooltip: 'Add invitation code for a 5€ discount on your initial purchase over 45€.',\n Prestep_LegalNotice:\n 'You are starting a registration process as Oriflame Brand Partner. Please find our {PrivacyPolicy_Link} and {TermsAndConditions_Link}. By clicking on the buttons below, you consent to receive messages from Oriflame related to your registration process.',\n Prestep_LegalNotice_PrivacyPolicy_Label: 'Privacy policy',\n Prestep_LegalNotice_TermsAndConditions_Label: 'Terms and conditions',\n Prestep_Or: 'OR',\n Prestep_Password: 'Create a password',\n Prestep_Phone: 'Phone',\n Prestep_PhoneWithPrefix: 'Mobile Phone',\n Prestep_PlaceholderEmail: '@',\n Prestep_PlaceholderPassword: '******',\n Prestep_PlaceholderPhone: '+48XXXXXXXXX',\n Prestep_PlaceholderPhoneWithPrefix: 'XXXXXXXXX',\n Prestep_ReferralTitle: 'You were invited by',\n Prestep_RegistrationFailed: 'Registration failed. Please try again later.',\n Prestep_TooltipEmail: 'Write your email in the format my@email.com',\n Prestep_TooltipPhone: 'Write your phone in the format +48XXXXXXXXX',\n Prestep_TooltipPhoneWithPrefix: 'Write your phone in the format XXXXXXXXX',\n Prestep_UnauthorizedAccess: 'Unauthorized access',\n PrimaryChannelSubmitButton: 'NEXT',\n PrivacyPolicy_Label: 'Privacy policy',\n PrivacyPolicy_Text: 'I have read and accept the {PrivacyPolicy_Link}',\n Reseller: 'Reseller',\n SecondStep_BrandPartnerNumber: 'Brand Partner’s number',\n SecondStep_Button: 'NEXT',\n SecondStep_Button_Find: 'FIND',\n SecondStep_Country: 'Country',\n SecondStep_FindTheBestBrandPartner: 'Find the best Brand Partner near me',\n SecondStep_FindTheBestBrandPartner_Tooltip: 'Find the best Brand Partner near me',\n SecondStep_Header: 'Connect to a Brand Partner',\n SecondStep_HeresYourBrandPartner: 'Here’s your Brand Partner!',\n SecondStep_IKnowaBrandPartner: 'I know a Brand Partner',\n SecondStep_SearchedAddress: 'Searched address',\n SecondStep_Text: 'For the best experience of Oriflame you need to connect to a Brand Partner.',\n SecondStep_YourAreConnected: 'You are connected to:',\n SecondStep_YourZipCode: 'Your zip code',\n SecondStep_YourZipCode_Tooltip: \"Don't know a Brand Partner? We will find the best one based on your location.\",\n TermsAndConditions: 'I agree with {TermsAndConditions_Link}.',\n TermsAndConditions_Label: 'Terms and Conditions',\n ThirdStep_AddYourDocument: 'Add your documents',\n ThirdStep_AdditionalIDCard_Header: 'Additional ID Card',\n ThirdStep_AdditionalIDCard_Text: 'Optional text about Additional ID card',\n ThirdStep_Button: 'FINISH REGISTRATION',\n ThirdStep_ChooseDocumentType: 'Choose document type',\n ThirdStep_Confirmation1: 'ThirdStep_Confirmation1',\n ThirdStep_Confirmation2: 'ThirdStep_Confirmation2',\n ThirdStep_DocumentDetails: 'Document details',\n ThirdStep_DocumentFileSize: 'Max 5 MB, jpg or png',\n ThirdStep_DocumentNumber: 'Document number',\n ThirdStep_DocumentNumber_Tooltip: 'ex. 123456789',\n ThirdStep_DocumentType: 'Document type',\n ThirdStep_Documents_Header: 'Documents',\n ThirdStep_ExpirationDate: 'Expiration date',\n ThirdStep_ExpirationDate_Tooltip: 'DD.MM.YYYY',\n ThirdStep_GeneralConditions: 'General conditions',\n ThirdStep_GeneralConditions_Text:\n 'By Completing this form you agree to Oriflame and/or your Sponsor sending you marketing and other materials related to your role as a Brand Partner. You can unsubscribe from marketing e-mails and texts at any time, free of charge, via ‘My Profile’, CONTACT US, or via a link in the emails you receive from us.',\n ThirdStep_Header: 'Almost there!',\n ThirdStep_HeaderText: 'One last thing before you begin a wonderful new journey.',\n ThirdStep_IDCard_Header: 'ID Card',\n ThirdStep_IDCard_Text: 'Optional text about ID card',\n ThirdStep_ImageGuidelines: 'Image guidelines',\n ThirdStep_KYCDocument_Header: 'KYC document',\n ThirdStep_KYCDocument_Text:\n 'Info about this document. You can upload multiple pages. Make sure they are good quality.',\n ThirdStep_More: 'More',\n ThirdStep_SelectFile: 'Select file',\n ThirdStep_ShowLess: 'Less',\n ThirdStep_ShowMore: 'More',\n ThirdStep_UploadDocument: 'Upload document',\n ThirdStep_UploadDocumentText:\n 'Info about this document. You can upload multiple pages. Make sure they are good quality.',\n ThirdStep_Your_Documents_Header: 'Your Documents',\n ThirdStep_Your_Documents_Text: 'Info about this section',\n Welcome_App: 'DOWNLOAD APP',\n Welcome_Button: 'START EXPLORING',\n Welcome_Header: 'Welcome!',\n Welcome_Text: 'Congratulations, you are on your way to a wonderful new journey!',\n addresResults: '({count} results)',\n addressSearch: 'Address search',\n addressSearchTooltip: 'addressSearch tooltip',\n addressSearchValidation: 'You have to search for address',\n area: 'Area',\n area_Placeholder: 'Area placeholder',\n area_Tooltip: 'Area tooltip',\n back: 'BACK',\n birthDate_DoesntMatchUniqueId: 'Date of birth does not match your Unique ID',\n birthDate_LegalRequirementsFailed: 'You must be {MinAge} or older',\n birthDate_OutOfRange: 'Date of birth is not valid',\n cancel: 'Cancel',\n cannotCreate: 'Cannot create new item',\n cannotDelete: 'Cannot delete',\n cannotGetData: 'Cannot get data from server',\n cannotResend: 'Cannot resend',\n cannotUpdate: 'Cannot update',\n cannotVerify: 'Cannot verify',\n city: 'City',\n city_Placeholder: 'City placeholder',\n city_Tooltip: 'City tooltip',\n confirm: 'Confirm',\n confirmDocumentDelete: 'Do you really want to delete this document?',\n country: 'Country',\n country_Placeholder: 'Country placeholder',\n customerServiceLinkLabel: 'customer service',\n customer_NotEligible: 'You are not eligible for customer upgrade.',\n customer_NotUnique: 'You cannot register at the moment. Please contact {customerServiceLink}.',\n delete: 'Delete',\n delivery: 'Delivery',\n delivery2: 'Delivery 2',\n delivery2_Placeholder: 'Delivery 2 placeholder',\n delivery2_Tooltip: 'Delivery 2 tooltip',\n delivery3: 'Delivery 3',\n delivery3_Placeholder: 'Delivery 3 placeholder',\n delivery3_Tooltip: 'Delivery 3 tooltip',\n delivery_Placeholder: 'Delivery placeholder',\n delivery_Tooltip: 'Delivery tooltip',\n district: 'District',\n district_Placeholder: 'District placeholder',\n district_Tooltip: 'District tooltip',\n document_ExpirationTooSoon: 'Your document will expire too soon.',\n errorOccured: 'An error occured',\n fileTypeIsNotSupported: 'File type is not supported. Try uploading jpg or png',\n genderLabelMan: 'Man',\n genderLabelOther: 'Other',\n genderLabelWoman: 'Woman',\n hide: 'Hide',\n history: 'History',\n locality: 'Locality',\n locality_Placeholder: 'Locality placeholder',\n locality_Tooltip: 'Locality tooltip',\n loginLinkLabel: 'logging in',\n noSuggestions: 'No suggestions',\n optedOutOfSponsorSelect: 'optedOutOfSponsorSelect',\n orderHistory: 'orderHistory',\n passwordRequirementCharactersCount: '{min}+ characters',\n passwordRequirementDigit: 'Numbers',\n passwordRequirementLetter: 'Letter',\n passwordRequirementLowerCaseLetter: 'Lower case letters',\n passwordRequirementSpecialCharacter: 'Special characters',\n passwordRequirementUpperCaseLetter: 'Upper case letters',\n province: 'Province',\n province_Placeholder: 'Province placeholder',\n province_Tooltip: 'Province tooltip',\n readMore: 'Read more',\n region: 'Region',\n region_Placeholder: 'Region placeholder',\n region_Tooltip: 'Region tooltip',\n resendInMinute: 'Resend code in 1 minute',\n searchForAnAddress: 'Search for an address',\n selectFile: 'Select file',\n selectedFileExceedsMaximumSize: 'File is too big, maximum size {maxMBs} MB',\n showImage: 'Show image',\n stateApproved: 'Approved',\n statePending: 'Pending',\n stateRejected: 'Rejected',\n stateUnknown: 'Unknown state',\n streetAddress: 'Street address',\n streetAddressTooltip: 'streetAddressTooltip',\n streetAddress_Placeholder: 'Street address placeholder',\n successResend: 'Code was resent.',\n termsAndConditions_Mandatory: 'Terms and conditions have to be accepted.',\n uploadDone: 'Uploaded',\n uploading: 'Uploading...',\n validationBirthDateRegex: 'Birth date format should be {correctFormat}, e.g. 24.12.2000',\n validationDateRegex: 'Date format should be {correctFormat}, e.g. 24.12.2000',\n validationEmailIsAlreadyUsed: 'Email is already used. Try {loginLink} instead',\n validationEmailTerminatedCustomer: 'Cannot change email for terminated customer',\n validationLength: 'Invalid property length',\n validationMandatoryPropertyIsNull: 'This field is required',\n validationMaxLength: 'Maximum {max} characters',\n validationMaxValue: 'The date should not be later than {max}',\n validationMinLength: 'Minimum {min} characters',\n validationMinValue: 'The date should be later than {min}',\n validationRegex: 'This field is not filled in correctly',\n validationRegexBirthDate: 'Please enter your date of birth in the right format DD.MM.YYYY',\n validationRegexEmail: 'Please enter a valid email in the format my@mail.com',\n validationRegexIdentityCardDateExpiration: 'The date should not be later than {max}',\n validationRegexPhone: 'Please enter a valid phone in the format +46XXXXXXXXX',\n validationRegexUniqueID: 'Please enter a valid Unique ID in the format 123456',\n validationRequired: 'This field is required',\n validationUniqueAlias: 'Alias is already used',\n validationUniqueBankAccount: 'Bank account is already used',\n validationUniqueCustomerAttribute: 'Attribute is already used',\n validationUniqueDisplayName: 'Display name is already used',\n validationUniquePhone: 'Phone is already used. Try {loginLink} instead',\n validationUniqueTaxCode: 'Tax code is already used',\n validationUniqueTaxCode2: 'Tax code 2 is already used',\n validationUniqueUniqueId: 'Unique ID is already used',\n validationValidConfirmationCode: 'Confirmation code is not valid',\n validationValidOldPassword: 'Password does not match to existing password',\n validationValidPhone: 'Phone is not valid',\n validationValidSponsorNumber: 'Sponsor number is not valid',\n validationValidUniqueId: 'Unique ID is not valid',\n validationXmlCharacters: 'Property contains not supported character',\n warning: 'Warning',\n zipcode: 'Zip code',\n zipcode_Placeholder: 'Zip code placeholder',\n zipcode_Tooltip: 'Zip code tooltip',\n};\n\nexport const translationsNamespace = 'simplified-registration-BrandPartner';\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_simplified-registration-VIPCustomer';\n\nexport type DefaultTranslations = Record;\n\nexport const defaultTranslations: DefaultTranslations = {\n Approval_BlockGuaranteeOrdering: \"Blocks the consultant's guarantee and SPO sponsors from ordering on their behalf.\",\n Approval_Contact: 'Approval for receiving info emails/SMS',\n Approval_MarketingConsultant: 'Approval for receiving emails/SMS from beauty consultant',\n Approval_MarketingExternal: 'Approval for receiving marketing information from external sources',\n Approval_MarketingOriflame: 'Approval for receiving marketing information from Oriflame',\n Approval_Newletters: 'Approval for receiving newsletters',\n Approval_PersonalData: 'Approval for displaying personal data',\n Approval_Publication: 'Approval for publication in Oriflame materials',\n Approval_UplineLeaderBrowse: 'Leader approval for up line Leader to browse leader downline members',\n Approval_UplineLeaderData: \"Leader approval for up line Leader to display leader's data\",\n Custom_text:\n 'Market specific text about privacy policy and personal data processing for marketing products and services, analytical purposes and profiling. User is informed of their right to request access to data, rectification, deletion, transfer or limitation of processing and to raise objections. Link to more information about how Oriflame processes your personal data.',\n EmailPrimaryChannelDescription: 'Successfully connected! Please enter your email address and then verify it.',\n EmailPrimaryChannelLabel: 'Email',\n EmailPrimaryChannelPlaceholder: '@',\n EmailPrimaryChannelTitle: 'Email',\n EmailPrimaryChannelTooltip: 'Write your email in the format my@email.com',\n EmailVerification_Header: 'Verify your email',\n EmailVerification_ProceedingToRegistration: 'Proceeding to registration',\n EmailVerification_SendAgain: 'Send again',\n EmailVerification_Text:\n 'To continue with the registration please verify your email. A code was sent to {contactEmail}, you can enter it below.',\n EmailVerification_Verified: 'Verified',\n EmailVerification_WrongCode: 'Wrong code, try one more time or send again.',\n Error_WrongCode: 'Wrong code, try one more time or send again.',\n FirstStep_Address: 'Billing address',\n FirstStep_Button: 'NEXT',\n FirstStep_Country: 'Choose your country for billing',\n FirstStep_Country_Placeholder: 'Choose',\n FirstStep_Country_Tooltip: 'Please provide your country for shiping and taxation reasons.',\n FirstStep_DateOfBirth: 'Date of birth',\n FirstStep_DateOfBirthText:\n 'Fill in your birthday so we can surprise you on your day. You must be 18 or older to register',\n FirstStep_Email: 'Email',\n FirstStep_Email_Optional: 'Email (optional)',\n FirstStep_FirstName: 'First name',\n FirstStep_FirstName_Tooltip: 'Write your first name',\n FirstStep_Gender: 'Gender',\n FirstStep_Gender_Placeholder: 'Choose',\n FirstStep_Header: 'Personal details',\n FirstStep_LastName: 'Last name',\n FirstStep_LastName_Tooltip: 'Write your last name',\n FirstStep_Phone: 'Phone',\n FirstStep_PhoneWithPrefix: 'Mobile Phone',\n FirstStep_Phone_Optional: 'Phone (optional)',\n FirstStep_PlaceHolder: 'DD/MM/YYYY',\n FirstStep_PlaceholderEmail: '@',\n FirstStep_PlaceholderPhone: '+48XXXXXXXXX',\n FirstStep_PlaceholderPhoneWithPrefix: 'XXXXXXXXX',\n FirstStep_SearchedAddress: 'Searched address',\n FirstStep_Text: 'Start by filling out your account information.',\n FirstStep_TooltipEmail: 'Enter a unique email address that you frequently use.',\n FirstStep_TooltipPhone: 'Write your phone in the format +48XXXXXXXXX',\n FirstStep_TooltipPhoneWithPrefix: 'Write your phone in the format XXXXXXXXX',\n FirstStep_UniqueId: 'Unique ID',\n FirstStep_UniqueId_Tooltip: 'Write your unique ID in the format 123456789',\n LegalDocument1_Link_Label: 'LegalDocument1 Link',\n LegalDocument2_Link_Label: 'LegalDocument2 Link',\n LegalDocument3_Link_Label: 'LegalDocument3 Link',\n LegalDocument4_Link_Label: 'LegalDocument4 Link',\n LegalDocument5_Link_Label: 'LegalDocument5 Link',\n LegalDocument6_Link_Label: 'LegalDocument6 Link',\n LegalDocument7_Link_Label: 'LegalDocument7 Link',\n LegalDocument8_Link_Label: 'LegalDocument8 Link',\n PhonePrimaryChannelDescription: 'Successfully connected! Please enter your mobile phone number and then verify it.',\n PhonePrimaryChannelLabel: 'Phone',\n PhonePrimaryChannelLabelWithPrefix: 'Mobile Phone',\n PhonePrimaryChannelPlaceholder: '+48XXXXXXXXX',\n PhonePrimaryChannelPlaceholderWithPrefix: 'XXXXXXXXX',\n PhonePrimaryChannelTitle: 'Phone',\n PhonePrimaryChannelTooltip: 'Write your phone in the format +48XXXXXXXXX',\n PhonePrimaryChannelTooltipWithPrefix: 'Write your phone in the format XXXXXXXXX',\n PhoneVerification_Header: 'Verify your phone',\n PhoneVerification_ProceedingToRegistration: 'Proceeding to registration',\n PhoneVerification_SendAgain: 'Send again',\n PhoneVerification_Text:\n 'To continue with the registration please verify your phone. A code was sent to {contactTelephone}, you can enter it below.',\n PhoneVerification_Verified: 'Verified',\n PhoneVerification_WrongCode: 'Wrong code, try one more time or send again.',\n Prestep_Apple: 'Sign up with Apple',\n Prestep_Button: \"LET'S GET STARTED\",\n Prestep_Email: 'Email',\n Prestep_ExternalAccountAlreadyConnected: 'External account already connected',\n Prestep_Facebook: 'Sign up with Facebook',\n Prestep_Google: 'Sign up with Google',\n Prestep_Header: 'Join us',\n Prestep_InvitationCode: 'Invitation code',\n Prestep_InvitationCodeNotFound: 'Invalid code',\n Prestep_InvitationCodeTitle: 'Add invitation code',\n Prestep_InvitationCodeTooltip: 'Add invitation code for a 5€ discount on your initial purchase over 45€.',\n Prestep_LegalNotice:\n 'You are starting a registration process as Oriflame VIP Customer. Please find our {PrivacyPolicy_Link} and {TermsAndConditions_Link}. By clicking on the buttons below, you consent to receive messages from Oriflame related to your registration process.',\n Prestep_LegalNotice_PrivacyPolicy_Label: 'Privacy policy',\n Prestep_LegalNotice_TermsAndConditions_Label: 'Terms and conditions',\n Prestep_Or: 'OR',\n Prestep_Password: 'Create a password',\n Prestep_Phone: 'Phone',\n Prestep_PhoneWithPrefix: 'Mobile Phone',\n Prestep_PlaceholderEmail: '@',\n Prestep_PlaceholderPassword: '******',\n Prestep_PlaceholderPhone: '+48XXXXXXXXX',\n Prestep_PlaceholderPhoneWithPrefix: 'XXXXXXXXX',\n Prestep_ReferralTitle: 'You were invited by',\n Prestep_RegistrationFailed: 'Registration failed. Please try again later.',\n Prestep_TooltipEmail: 'Write your email in the format my@email.com',\n Prestep_TooltipPhone: 'Write your phone in the format +48XXXXXXXXX',\n Prestep_TooltipPhoneWithPrefix: 'Write your phone in the format XXXXXXXXX',\n Prestep_UnauthorizedAccess: 'Unauthorized access',\n PrimaryChannelSubmitButton: 'NEXT',\n PrivacyPolicy_Label: 'Privacy policy',\n PrivacyPolicy_Text: 'I have read and accept the {PrivacyPolicy_Link}',\n Reseller: 'Reseller',\n SecondStep_BrandPartnerNumber: 'Brand Partner’s number',\n SecondStep_Button: 'NEXT',\n SecondStep_Button_Find: 'FIND',\n SecondStep_Country: 'Country',\n SecondStep_FindTheBestBrandPartner: 'Find the best Brand Partner for me',\n SecondStep_FindTheBestBrandPartner_Tooltip: 'Find the best Brand Partner for me',\n SecondStep_Header: 'Connect to a Brand Partner',\n SecondStep_HeresYourBrandPartner: 'Here’s your Brand Partner!',\n SecondStep_IKnowaBrandPartner: 'I know a Brand Partner',\n SecondStep_SearchedAddress: 'Searched address',\n SecondStep_Text:\n 'Your Brand partner will be your main source of information and guidance for any inquiries you may have regarding our products, benefits and business opportunity.',\n SecondStep_YourAreConnected: 'You are connected to:',\n SecondStep_YourZipCode: 'Your zip code',\n SecondStep_YourZipCode_Tooltip: \"Don't know a Brand Partner? We will find the best one based on your location.\",\n TermsAndConditions: 'I agree with {TermsAndConditions_Link}.',\n TermsAndConditions_Label: 'Terms and Conditions',\n ThirdStep_AddYourDocument: 'Add your documents',\n ThirdStep_AdditionalIDCard_Header: 'Additional ID Card',\n ThirdStep_AdditionalIDCard_Text: 'Optional text about Additional ID card',\n ThirdStep_Button: 'FINISH REGISTRATION',\n ThirdStep_ChooseDocumentType: 'Choose document type',\n ThirdStep_Confirmation1: 'ThirdStep_Confirmation1',\n ThirdStep_Confirmation2: 'ThirdStep_Confirmation2',\n ThirdStep_DocumentDetails: 'Document details',\n ThirdStep_DocumentFileSize: 'Max 5 MB, jpg or png',\n ThirdStep_DocumentNumber: 'Document number',\n ThirdStep_DocumentNumber_Tooltip: 'ex. 123456789',\n ThirdStep_DocumentType: 'Document type',\n ThirdStep_Documents_Header: 'Documents',\n ThirdStep_ExpirationDate: 'Expiration date',\n ThirdStep_ExpirationDate_Tooltip: 'DD.MM.YYYY',\n ThirdStep_GeneralConditions: 'General conditions',\n ThirdStep_GeneralConditions_Text:\n 'By Completing this form you agree to Oriflame and/or your Sponsor sending you marketing and other materials related to your role as a Brand Partner. You can unsubscribe from marketing e-mails and texts at any time, free of charge, via ‘My Profile’, CONTACT US, or via a link in the emails you receive from us.',\n ThirdStep_Header: 'Almost there!',\n ThirdStep_HeaderText: 'One last thing before you begin a wonderful new journey.',\n ThirdStep_IDCard_Header: 'ID Card',\n ThirdStep_IDCard_Text: 'Optional text about ID card',\n ThirdStep_ImageGuidelines: 'Image guidelines',\n ThirdStep_KYCDocument_Header: 'KYC document',\n ThirdStep_KYCDocument_Text:\n 'Info about this document. You can upload multiple pages. Make sure they are good quality.',\n ThirdStep_More: 'More',\n ThirdStep_SelectFile: 'Select file',\n ThirdStep_ShowLess: 'Less',\n ThirdStep_ShowMore: 'More',\n ThirdStep_UploadDocument: 'Upload document',\n ThirdStep_UploadDocumentText:\n 'Info about this document. You can upload multiple pages. Make sure they are good quality.',\n ThirdStep_Your_Documents_Header: 'Your Documents',\n ThirdStep_Your_Documents_Text: 'Info about this section',\n Welcome_App: 'DOWNLOAD APP',\n Welcome_Button: 'START EXPLORING',\n Welcome_Header: 'Welcome!',\n Welcome_Text: 'Congratulations, you are on your way to a wonderful new journey!',\n addresResults: '({count} results)',\n addressSearch: 'Address search',\n addressSearchTooltip: 'addressSearch tooltip',\n addressSearchValidation: 'You have to search for address',\n area: 'Area',\n area_Placeholder: 'Area placeholder',\n area_Tooltip: 'Area tooltip',\n back: 'BACK',\n birthDate_DoesntMatchUniqueId: 'Date of birth does not match your Unique ID',\n birthDate_LegalRequirementsFailed: 'You must be {MinAge} or older',\n birthDate_OutOfRange: 'Date of birth is not valid',\n cancel: 'Cancel',\n cannotCreate: 'Cannot create new item',\n cannotDelete: 'Cannot delete',\n cannotGetData: 'Cannot get data from server',\n cannotResend: 'Cannot resend',\n cannotUpdate: 'Cannot update',\n cannotVerify: 'Cannot verify',\n city: 'City',\n city_Placeholder: 'City placeholder',\n city_Tooltip: 'City tooltip',\n confirm: 'Confirm',\n confirmDocumentDelete: 'Do you really want to delete this document?',\n country: 'Country',\n country_Placeholder: 'Country placeholder',\n customerServiceLinkLabel: 'customer service',\n customer_NotEligible: 'You are not eligible for customer upgrade.',\n customer_NotUnique: 'You cannot register at the moment. Please contact {customerServiceLink}.',\n delete: 'Delete',\n delivery: 'Delivery',\n delivery2: 'Delivery 2',\n delivery2_Placeholder: 'Delivery 2 placeholder',\n delivery2_Tooltip: 'Delivery 2 tooltip',\n delivery3: 'Delivery 3',\n delivery3_Placeholder: 'Delivery 3 placeholder',\n delivery3_Tooltip: 'Delivery 3 tooltip',\n delivery_Placeholder: 'Delivery placeholder',\n delivery_Tooltip: 'Delivery tooltip',\n district: 'District',\n district_Placeholder: 'District placeholder',\n district_Tooltip: 'District tooltip',\n document_ExpirationTooSoon: 'Your document will expire too soon.',\n errorOccured: 'An error occured',\n fileTypeIsNotSupported: 'File type is not supported. Try uploading jpg or png',\n genderLabelMan: 'Man',\n genderLabelOther: 'Other',\n genderLabelWoman: 'Woman',\n hide: 'Hide',\n history: 'History',\n locality: 'Locality',\n locality_Placeholder: 'Locality placeholder',\n locality_Tooltip: 'Locality tooltip',\n loginLinkLabel: 'logging in',\n noSuggestions: 'No suggestions',\n optedOutOfSponsorSelect: 'optedOutOfSponsorSelect',\n orderHistory: 'orderHistory',\n passwordRequirementCharactersCount: '{min}+ characters',\n passwordRequirementDigit: 'Numbers',\n passwordRequirementLetter: 'Letter',\n passwordRequirementLowerCaseLetter: 'Lower case letters',\n passwordRequirementSpecialCharacter: 'Special characters',\n passwordRequirementUpperCaseLetter: 'Upper case letters',\n province: 'Province',\n province_Placeholder: 'Province placeholder',\n province_Tooltip: 'Province tooltip',\n readMore: 'Read more',\n region: 'Region',\n region_Placeholder: 'Region placeholder',\n region_Tooltip: 'Region tooltip',\n resendInMinute: 'Resend code in 1 minute',\n searchForAnAddress: 'Search for an address',\n selectFile: 'Select file',\n selectedFileExceedsMaximumSize: 'File is too big, maximum size {maxMBs} MB',\n showImage: 'Show image',\n stateApproved: 'Approved',\n statePending: 'Pending',\n stateRejected: 'Rejected',\n stateUnknown: 'Unknown state',\n streetAddress: 'Street address',\n streetAddressTooltip: 'streetAddressTooltip',\n streetAddress_Placeholder: 'Street address placeholder',\n successResend: 'Code was resent.',\n termsAndConditions_Mandatory: 'Terms and conditions have to be accepted.',\n uploadDone: 'Uploaded',\n uploading: 'Uploading...',\n validationBirthDateRegex: 'Birth date format should be {correctFormat}, e.g. 24.12.2000',\n validationDateRegex: 'Date format should be {correctFormat}, e.g. 24.12.2000',\n validationEmailIsAlreadyUsed: 'Email is already used. Try {loginLink} instead',\n validationEmailTerminatedCustomer: 'Cannot change email for terminated customer',\n validationLength: 'Invalid property length',\n validationMandatoryPropertyIsNull: 'This field is required',\n validationMaxLength: 'Maximum {max} characters',\n validationMaxValue: 'The date should not be later than {max}',\n validationMinLength: 'Minimum {min} characters',\n validationMinValue: 'The date should be later than {min}',\n validationRegex: 'This field is not filled in correctly',\n validationRegexBirthDate: 'Please enter your date of birth in the right format DD.MM.YYYY',\n validationRegexEmail: 'Please enter a valid email in the format my@mail.com',\n validationRegexIdentityCardDateExpiration: 'The date should not be later than {max}',\n validationRegexPhone: 'Please enter a valid phone in the format +46XXXXXXXXX',\n validationRegexUniqueID: 'Please enter a valid Unique ID in the format 123456',\n validationRequired: 'This field is required',\n validationUniqueAlias: 'Alias is already used',\n validationUniqueBankAccount: 'Bank account is already used',\n validationUniqueCustomerAttribute: 'Attribute is already used',\n validationUniqueDisplayName: 'Display name is already used',\n validationUniquePhone: 'Phone is already used. Try {loginLink} instead',\n validationUniqueTaxCode: 'Tax code is already used',\n validationUniqueTaxCode2: 'Tax code 2 is already used',\n validationUniqueUniqueId: 'Unique ID is already used',\n validationValidConfirmationCode: 'Confirmation code is not valid',\n validationValidOldPassword: 'Password does not match to existing password',\n validationValidPhone: 'Phone is not valid',\n validationValidSponsorNumber: 'Sponsor number is not valid',\n validationValidUniqueId: 'Unique ID is not valid',\n validationXmlCharacters: 'Property contains not supported character',\n warning: 'Warning',\n zipcode: 'Zip code',\n zipcode_Placeholder: 'Zip code placeholder',\n zipcode_Tooltip: 'Zip code tooltip',\n};\n\nexport const translationsNamespace = 'simplified-registration-VIPCustomer';\n","import { NOT_LOGGED_IN_USER_ID } from '@ori/auth';\nimport { useContext, createContext } from 'react';\n\nimport type { ClientAppConfig } from '../types/ClientAppConfig';\n\nexport const configurationContextDefaultValues: ClientAppConfig = {\n currentLanguage: '',\n customerId: NOT_LOGGED_IN_USER_ID,\n globalApiUrl: '',\n identityUrl: '',\n staticApiUrl: '',\n tenant: '',\n registrationType: 'Consultant',\n customerDashboardUrl: '',\n loginRedirectUrl: '',\n registrationId: '',\n validationErrorCode: '',\n customerLoginUrl: '',\n customerServiceUrl: '',\n};\n\nexport const configurationContext = createContext(configurationContextDefaultValues);\n\nexport const ConfigurationProvider = configurationContext.Provider;\n\nexport const useConfiguration = () => useContext(configurationContext);\n","import { isTokenValid, useToken } from '@ori/auth';\nimport type { TranslationsContext } from '@ori/i18n';\nimport { TranslationsNamespaceProvider, TranslationsProvider } from '@ori/i18n';\nimport type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport {\n defaultTranslations as BPDefaultTranslations,\n translationsNamespace as BPTranslationsNamespace,\n} from '../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport {\n defaultTranslations as VIPDefaultTranslations,\n translationsNamespace as VIPTranslationsNamespace,\n} from '../constants/defaultTranslations_simplified-registration-VIPCustomer';\nimport { useConfiguration } from '../contexts';\n\nexport const I18nContainer: FC = ({ children }) => {\n const { currentLanguage, staticApiUrl, tenant, registrationType } = useConfiguration();\n\n const { token } = useToken();\n\n const correctTranslationNameSpace =\n registrationType === 'Consultant' ? BPTranslationsNamespace : VIPTranslationsNamespace;\n const correctDefalutTranslations = registrationType === 'Consultant' ? BPDefaultTranslations : VIPDefaultTranslations;\n\n const translationProps: TranslationsContext = {\n clientFetchConfiguration: {\n baseUrl: staticApiUrl,\n onError: (error) => {\n console.log('Error occured while loading translations.', String(error));\n },\n tenant,\n token,\n },\n currentLanguage,\n defaultTranslationsWithNamespaces: {\n [correctTranslationNameSpace]: correctDefalutTranslations,\n },\n };\n\n if (!isTokenValid(token)) {\n return null;\n }\n\n return (\n \n {children}\n \n );\n};\n","import { useToken } from '@ori/auth';\nimport { ApiClientProvider as GlobalApiClientProvider } from '@ori/global-api-client-react';\nimport { ApiClientProvider as StaticApiClientProvider } from '@ori/static-api-client-react';\nimport React from 'react';\nimport type { FC, PropsWithChildren } from 'react';\nimport { SWRConfig } from 'swr';\n\nimport { swrConfig } from '../constants';\nimport { useConfiguration } from '../contexts';\n\nexport const ApiProvider: FC = ({ children }) => {\n const { currentLanguage, globalApiUrl, staticApiUrl, tenant } = useConfiguration();\n const { formattedToken } = useToken();\n\n // the initial token value is an empty string\n // this occasionally causes 401 response from the API GW\n if (!formattedToken) {\n return null;\n }\n\n return (\n \n \n \n {children}\n \n \n \n );\n};\n","import { useContext, createContext } from 'react';\n\nimport type { useRegistrationStatusInitialState } from '../hooks';\n\nexport const RegistrationContext = createContext({} as ReturnType);\n\nexport const RegistrationStatusProvider = RegistrationContext.Provider;\n\nexport const useRegistrationStatus = () => useContext(RegistrationContext);\n","import type { FC, PropsWithChildren } from 'react';\nimport { useEffect } from 'react';\n\nimport { RegistrationStatusProvider } from '../contexts';\nimport { useRegistrationStatusInitialState } from '../hooks';\n\nexport const RegisterStatusContainer: FC = ({ children }) => {\n const { finished, setFinished } = useRegistrationStatusInitialState();\n\n useEffect(() => {\n setFinished(finished);\n }, [finished, setFinished]);\n\n return (\n \n {children}\n \n );\n};\n","import { useState } from 'react';\n\nexport const useRegistrationStatusInitialState = () => {\n const [finished, setFinished] = useState(false);\n\n return {\n finished,\n setFinished,\n } as const;\n};\n","import { CircularProgress, styled } from '@ori-ui/mui';\nimport { memo } from 'react';\n\nconst Root = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n});\n\nexport const Loading = memo(() => (\n \n \n \n));\n","import { createContext, useContext } from 'react';\n\nimport type { IContentKey } from '../interfaces';\n\nexport const contentsContext = createContext>({});\n\nexport const ContentsProvider = contentsContext.Provider;\n\nexport const GetContent = (key: IContentKey): string => {\n const contents = useContext(contentsContext);\n\n return contents[key.id] ?? '';\n};\n","import type { AxiosError } from '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 useSWR from 'swr';\n\nimport { useConfiguration } from '../contexts';\nimport { fetcher } from '../utils';\n\ninterface Translations {\n [locale: string]: Record;\n}\n\ninterface ContentsResponse {\n DefaultLanguage: string;\n Contents: Translations;\n}\n\nenum RegistrationSufixUrlType {\n VipCustomer = 'vipCustomerContent',\n Consultant = 'brandPartnerContent',\n}\n\nasync function fetchContents(url: string, tenant: string, currentLanguage?: string) {\n const locale = getLocale(currentLanguage);\n\n const response = await fetcher(url, {\n token: '',\n tenant,\n headers: { 'Accept-Language': locale },\n });\n\n const { Contents: contents, DefaultLanguage: defaultLanguage } = response;\n const currentLocale = locale.length > 0 ? locale : defaultLanguage;\n\n return {\n locale: currentLocale || '',\n contents: contents[currentLocale],\n };\n}\n\nfunction getLocale(currentLanguage?: string) {\n if (currentLanguage) {\n return currentLanguage;\n }\n\n if (document.documentElement.lang) {\n return document.documentElement.lang;\n }\n\n return navigator.language;\n}\n\nexport function useContentsQuery() {\n const { tenant, staticApiUrl, currentLanguage, registrationType } = useConfiguration();\n const registrationTypeSufix =\n registrationType === 'VipCustomer' ? RegistrationSufixUrlType.VipCustomer : RegistrationSufixUrlType.Consultant;\n\n const response = useSWR(\n `${staticApiUrl}/tenants/${tenant}/applications/simplifiedRegistration/${registrationTypeSufix}`,\n async (url: string) => fetchContents(url, tenant, currentLanguage),\n );\n\n return response;\n}\n","import type { AxiosError, AxiosRequestConfig, AxiosRequestHeaders } from 'axios';\nimport axios from 'axios';\n\nimport { ApiError } from '../models';\nimport { ClientAppConfig } from '../types/ClientAppConfig';\n\nexport interface FetcherProps extends Pick {\n token: string;\n}\n\nexport async function fetcher(url: string, options: AxiosRequestConfig & FetcherProps): Promise {\n const { tenant, token, ...config } = options;\n const headers: AxiosRequestHeaders = {\n ...config.headers,\n authorization: token,\n 'x-tenant-context': tenant,\n };\n\n return axios\n .get(`${url}`, {\n ...config,\n headers,\n })\n .then(({ data: result }) => result)\n .catch((error: AxiosError) => {\n throw new ApiError(error.message, error);\n });\n}\n","import type { FC, PropsWithChildren } from 'react';\n\nimport { Loading } from '../components';\nimport { ContentsProvider } from '../contexts';\nimport { useContentsQuery } from '../hooks';\n\nexport const ContentsContainer: FC = ({ children }) => {\n const { data: contentsData } = useContentsQuery();\n if (!contentsData) {\n return ;\n }\n\n const { contents } = contentsData;\n\n return {children};\n};\n","import type { FC, PropsWithChildren } from 'react';\nimport { useContext, createContext, useState } from 'react';\n\nexport const VirtualPageAnalyticsContext = createContext<{\n virtualPageAnalyticsData: {\n previousStep?: string;\n setPreviousStep: (activeStep?: string) => void;\n };\n}>({\n virtualPageAnalyticsData: {\n setPreviousStep: () => {},\n previousStep: undefined,\n },\n});\n\nexport const VirtualPageAnalyticsProvider: FC = ({ children }) => {\n const [previousStep, setPreviousStep] = useState(undefined);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useVirtualPageAnalyticsData = () => {\n const ctx = useContext(VirtualPageAnalyticsContext);\n\n return {\n virtualPageAnalyticsContext: ctx,\n };\n};\n","import type { FC, PropsWithChildren } from 'react';\nimport { useContext, createContext, useState } from 'react';\n\nexport const StepperContext = createContext<{\n stepperData: {\n activeStep: number;\n manualChange: boolean;\n stepsOrder: string[];\n setActiveStep: (activeStep: number) => void;\n setManualChange: (manualChange: boolean) => void;\n setStepsOrder: (stepsOrder: string[]) => void;\n };\n}>({\n stepperData: {\n setActiveStep: () => {},\n activeStep: 0,\n setManualChange: () => {},\n manualChange: false,\n stepsOrder: [],\n setStepsOrder: () => {},\n },\n});\n\nexport const StepperProvider: FC = ({ children }) => {\n const [activeStep, setActiveStep] = useState(0);\n const [manualChange, setManualChange] = useState(false);\n const [stepsOrder, setStepsOrder] = useState([]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useStepperData = () => {\n const ctx = useContext(StepperContext);\n\n return {\n context: ctx,\n };\n};\n","import type { ReactElement, PropsWithChildren } from 'react';\nimport React, { useContext, createContext, useState } from 'react';\n\nimport type { MessageType } from '../interfaces';\n\ninterface INotificationData {\n isOpen?: boolean;\n message?: ReactElement | string;\n messageId?: string;\n type?: keyof typeof MessageType;\n customIcon?: ReactElement;\n}\n\nexport const NotificationContext = createContext<{\n notificationData: {\n data?: INotificationData;\n setNotificationData: (data: INotificationData) => void;\n };\n}>({\n notificationData: {\n setNotificationData: () => {},\n },\n});\n\nexport const NotificationProvider: React.FC = ({ children }) => {\n const [data, setNotificationData] = useState({});\n\n return (\n \n {children}\n \n );\n};\n\nexport const useNotificationData = () => {\n const ctx = useContext(NotificationContext);\n\n return {\n context: ctx,\n };\n};\n","import type { FC, PropsWithChildren } from 'react';\nimport React, { useContext, createContext, useState } from 'react';\n\nexport interface IErrorData {\n fieldName?: string;\n errorCode?: string;\n}\n\nexport const FormErrorContext = createContext<{\n errorData: { customErrors?: IErrorData[]; setErrorData: (errorData: IErrorData[]) => void };\n}>({\n errorData: {\n setErrorData: () => {},\n },\n});\n\nexport const FormErrorProvider: FC = ({ children }) => {\n const [customErrors, setErrorData] = useState([]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useFormError = () => {\n const ctx = useContext(FormErrorContext);\n\n return {\n context: ctx,\n };\n};\n","import { FormattedMessage } from '@ori/i18n';\nimport type { FC } from 'react';\n\nimport type { IFormattedMessageProps } from '../interfaces';\n\nexport const Localization: FC = (props) => {\n const { id, defaultMessage, values } = props;\n\n return (\n \n \n \n );\n};\n","import type * as MuiIcons from '@ori-ui/icons';\nimport type { MenuItemTypeMap } from '@ori-ui/mui';\nimport { GlobalCustomersDocumentApprovalDto, GlobalCustomersDocumentInfoDto } from '@ori/global-api-client-react';\nimport type { ReactNode } from 'react';\n\nimport type { TranslationKey } from '../models';\n\ninterface ILocalizationKey {\n id: TranslationKey;\n defaultMessage: string;\n}\n\ntype LocalizationFunction = (...args: string[]) => ILocalizationKey;\n\ninterface IFormattedMessageProps {\n id: TranslationKey;\n description?: string;\n defaultMessage?: string;\n values?: { [key: string]: Date | ReactNode | number | string };\n children?: (...formattedMessage: Array) => ReactNode;\n}\n\ninterface IContentKey {\n id: string;\n value: string;\n}\n\ninterface IAddressNodesFetchParams {\n searchText?: string;\n country?: string;\n top?: number;\n pathKey?: string;\n}\n\ninterface Benefit {\n icon: IContentKey;\n defaultIcon: keyof typeof MuiIcons;\n title: ILocalizationKey;\n description: ILocalizationKey;\n}\n\ninterface IErrorBase {\n AttemptedValue?: string;\n Code?: string;\n Message?: string;\n PropertyName?: string;\n}\n\ninterface IErrors {\n Errors?: IErrorBase[];\n}\n\ntype SponsorOrigin = 'ManualInput' | 'Pbs' | 'ReferralLink' | 'SponsorLocator';\n\ninterface IAddressSuggestionListItem {\n addressSummary?: string;\n description?: string;\n count: number;\n pathKey?: string;\n addressNodeId?: string;\n}\n\ninterface ISuggestionProps {\n itemProps: MenuItemTypeMap<{ button: false }>;\n suggestion: IAddressSuggestionListItem;\n}\n\ninterface IAddressAutocompleteProps {\n minSearchLength?: number;\n isEditable?: boolean;\n tooltipText?: ReactNode;\n searchedFields?: string[];\n}\n\ninterface IConfirmDialogProps {\n handleCancel: () => void;\n handleConfirm: () => void;\n opened: boolean;\n children?: ReactNode;\n}\n\ninterface IDocumentsInfo {\n approval?: GlobalCustomersDocumentApprovalDto;\n documentId: number;\n fileName: string;\n fileSize: number;\n}\n\ninterface IDocumentItemProps {\n document: IDocumentsInfo;\n uploadProgress?: number;\n errorMessage?: ReactNode;\n canDelete?: boolean;\n isShowApprovalState?: boolean;\n onDocumentRemove?: (documentId: number) => void;\n isDeleteConfirmationRequired: boolean;\n}\n\ninterface IThumb {\n [key: number]: string;\n}\n\ninterface IDetailImage {\n [key: number]: string;\n}\n\ninterface IDocumentsInfo2 {\n approval?: GlobalCustomersDocumentApprovalDto;\n documentId: number;\n fileName?: string;\n fileSize: number;\n documentTypeId: number;\n customerId?: number;\n isActive?: boolean;\n isTemporary: boolean;\n createdDate: Date;\n}\n\ninterface IDocumentsInfoStoreData extends GlobalCustomersDocumentInfoDto {\n approval?: GlobalCustomersDocumentApprovalDto;\n}\n\nexport type IRegistrationType = 'Consultant' | 'VipCustomer';\n\nexport enum MessageType {\n error = 'error',\n initial = 'initial',\n success = 'success',\n warning = 'warning',\n}\n\nexport type {\n ILocalizationKey,\n LocalizationFunction,\n IFormattedMessageProps,\n IContentKey,\n Benefit,\n IAddressNodesFetchParams,\n IErrors,\n ISuggestionProps,\n IAddressSuggestionListItem,\n IAddressAutocompleteProps,\n SponsorOrigin,\n IConfirmDialogProps,\n IDocumentsInfo,\n IDocumentItemProps,\n IThumb,\n IDetailImage,\n IDocumentsInfo2,\n IDocumentsInfoStoreData,\n};\n","import type { GlobalSharedValidationErrorsResponse } from '@ori/global-api-client-react';\n\nexport enum HttpStatusCodes {\n OK = 200,\n NotFound = 404,\n Forbidden = 403,\n InternalServerError = 500,\n}\n\nexport class FetchResult {\n httpStatus: HttpStatusCodes;\n\n response?: TResponse;\n\n constructor(httpStatus: HttpStatusCodes, response?: TResponse) {\n this.httpStatus = httpStatus;\n this.response = response;\n }\n\n isSuccess(): boolean {\n return FetchResult.isSuccess(this.httpStatus);\n }\n\n static get error(): FetchResult {\n return new FetchResult(HttpStatusCodes.InternalServerError, { errors: [] });\n }\n\n static get errorFor(): (response: TErrorResponse) => FetchResult {\n return (response) => new FetchResult(HttpStatusCodes.InternalServerError, response);\n }\n\n static isSuccess(...httpStatuses: HttpStatusCodes[]): boolean {\n const minSuccessCode = 200;\n const maxSuccessCode = 299;\n\n return httpStatuses.every((status) => status >= minSuccessCode && status <= maxSuccessCode);\n }\n\n static isAllSuccess(...results: Array): boolean {\n return results.every((r) => r === undefined || r.isSuccess());\n }\n}\n","/* istanbul ignore file */\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 */\n\nexport enum TranslationKey {\n Approval_BlockGuaranteeOrdering = 'Approval_BlockGuaranteeOrdering',\n Approval_Contact = 'Approval_Contact',\n Approval_MarketingConsultant = 'Approval_MarketingConsultant',\n Approval_MarketingExternal = 'Approval_MarketingExternal',\n Approval_MarketingOriflame = 'Approval_MarketingOriflame',\n Approval_Newletters = 'Approval_Newletters',\n Approval_PersonalData = 'Approval_PersonalData',\n Approval_Publication = 'Approval_Publication',\n Approval_UplineLeaderBrowse = 'Approval_UplineLeaderBrowse',\n Approval_UplineLeaderData = 'Approval_UplineLeaderData',\n Custom_text = 'Custom_text',\n EmailPrimaryChannelDescription = 'EmailPrimaryChannelDescription',\n EmailPrimaryChannelLabel = 'EmailPrimaryChannelLabel',\n EmailPrimaryChannelPlaceholder = 'EmailPrimaryChannelPlaceholder',\n EmailPrimaryChannelTitle = 'EmailPrimaryChannelTitle',\n EmailPrimaryChannelTooltip = 'EmailPrimaryChannelTooltip',\n EmailVerification_Header = 'EmailVerification_Header',\n EmailVerification_ProceedingToRegistration = 'EmailVerification_ProceedingToRegistration',\n EmailVerification_SendAgain = 'EmailVerification_SendAgain',\n EmailVerification_Text = 'EmailVerification_Text',\n EmailVerification_Verified = 'EmailVerification_Verified',\n EmailVerification_WrongCode = 'EmailVerification_WrongCode',\n Error_WrongCode = 'Error_WrongCode',\n FirstStep_Address = 'FirstStep_Address',\n FirstStep_Button = 'FirstStep_Button',\n FirstStep_Country = 'FirstStep_Country',\n FirstStep_Country_Placeholder = 'FirstStep_Country_Placeholder',\n FirstStep_Country_Tooltip = 'FirstStep_Country_Tooltip',\n FirstStep_DateOfBirth = 'FirstStep_DateOfBirth',\n FirstStep_DateOfBirthText = 'FirstStep_DateOfBirthText',\n FirstStep_Email = 'FirstStep_Email',\n FirstStep_Email_Optional = 'FirstStep_Email_Optional',\n FirstStep_FirstName = 'FirstStep_FirstName',\n FirstStep_FirstName_Tooltip = 'FirstStep_FirstName_Tooltip',\n FirstStep_Gender = 'FirstStep_Gender',\n FirstStep_Gender_Placeholder = 'FirstStep_Gender_Placeholder',\n FirstStep_Header = 'FirstStep_Header',\n FirstStep_LastName = 'FirstStep_LastName',\n FirstStep_LastName_Tooltip = 'FirstStep_LastName_Tooltip',\n FirstStep_Phone = 'FirstStep_Phone',\n FirstStep_PhoneWithPrefix = 'FirstStep_PhoneWithPrefix',\n FirstStep_Phone_Optional = 'FirstStep_Phone_Optional',\n FirstStep_PlaceHolder = 'FirstStep_PlaceHolder',\n FirstStep_PlaceholderEmail = 'FirstStep_PlaceholderEmail',\n FirstStep_PlaceholderPhone = 'FirstStep_PlaceholderPhone',\n FirstStep_PlaceholderPhoneWithPrefix = 'FirstStep_PlaceholderPhoneWithPrefix',\n FirstStep_SearchedAddress = 'FirstStep_SearchedAddress',\n FirstStep_Text = 'FirstStep_Text',\n FirstStep_TooltipEmail = 'FirstStep_TooltipEmail',\n FirstStep_TooltipPhone = 'FirstStep_TooltipPhone',\n FirstStep_TooltipPhoneWithPrefix = 'FirstStep_TooltipPhoneWithPrefix',\n FirstStep_UniqueId = 'FirstStep_UniqueId',\n FirstStep_UniqueId_Tooltip = 'FirstStep_UniqueId_Tooltip',\n LegalDocument1_Link_Label = 'LegalDocument1_Link_Label',\n LegalDocument2_Link_Label = 'LegalDocument2_Link_Label',\n LegalDocument3_Link_Label = 'LegalDocument3_Link_Label',\n LegalDocument4_Link_Label = 'LegalDocument4_Link_Label',\n LegalDocument5_Link_Label = 'LegalDocument5_Link_Label',\n LegalDocument6_Link_Label = 'LegalDocument6_Link_Label',\n LegalDocument7_Link_Label = 'LegalDocument7_Link_Label',\n LegalDocument8_Link_Label = 'LegalDocument8_Link_Label',\n PhonePrimaryChannelDescription = 'PhonePrimaryChannelDescription',\n PhonePrimaryChannelLabel = 'PhonePrimaryChannelLabel',\n PhonePrimaryChannelLabelWithPrefix = 'PhonePrimaryChannelLabelWithPrefix',\n PhonePrimaryChannelPlaceholder = 'PhonePrimaryChannelPlaceholder',\n PhonePrimaryChannelPlaceholderWithPrefix = 'PhonePrimaryChannelPlaceholderWithPrefix',\n PhonePrimaryChannelTitle = 'PhonePrimaryChannelTitle',\n PhonePrimaryChannelTooltip = 'PhonePrimaryChannelTooltip',\n PhonePrimaryChannelTooltipWithPrefix = 'PhonePrimaryChannelTooltipWithPrefix',\n PhoneVerification_Header = 'PhoneVerification_Header',\n PhoneVerification_ProceedingToRegistration = 'PhoneVerification_ProceedingToRegistration',\n PhoneVerification_SendAgain = 'PhoneVerification_SendAgain',\n PhoneVerification_Text = 'PhoneVerification_Text',\n PhoneVerification_Verified = 'PhoneVerification_Verified',\n PhoneVerification_WrongCode = 'PhoneVerification_WrongCode',\n Prestep_Apple = 'Prestep_Apple',\n Prestep_Button = 'Prestep_Button',\n Prestep_Email = 'Prestep_Email',\n Prestep_ExternalAccountAlreadyConnected = 'Prestep_ExternalAccountAlreadyConnected',\n Prestep_Facebook = 'Prestep_Facebook',\n Prestep_Google = 'Prestep_Google',\n Prestep_Header = 'Prestep_Header',\n Prestep_InvitationCode = 'Prestep_InvitationCode',\n Prestep_InvitationCodeNotFound = 'Prestep_InvitationCodeNotFound',\n Prestep_InvitationCodeTitle = 'Prestep_InvitationCodeTitle',\n Prestep_InvitationCodeTooltip = 'Prestep_InvitationCodeTooltip',\n Prestep_LegalNotice = 'Prestep_LegalNotice',\n Prestep_LegalNotice_PrivacyPolicy_Label = 'Prestep_LegalNotice_PrivacyPolicy_Label',\n Prestep_LegalNotice_TermsAndConditions_Label = 'Prestep_LegalNotice_TermsAndConditions_Label',\n Prestep_Or = 'Prestep_Or',\n Prestep_Password = 'Prestep_Password',\n Prestep_Phone = 'Prestep_Phone',\n Prestep_PhoneWithPrefix = 'Prestep_PhoneWithPrefix',\n Prestep_PlaceholderEmail = 'Prestep_PlaceholderEmail',\n Prestep_PlaceholderPassword = 'Prestep_PlaceholderPassword',\n Prestep_PlaceholderPhone = 'Prestep_PlaceholderPhone',\n Prestep_PlaceholderPhoneWithPrefix = 'Prestep_PlaceholderPhoneWithPrefix',\n Prestep_ReferralTitle = 'Prestep_ReferralTitle',\n Prestep_RegistrationFailed = 'Prestep_RegistrationFailed',\n Prestep_TooltipEmail = 'Prestep_TooltipEmail',\n Prestep_TooltipPhone = 'Prestep_TooltipPhone',\n Prestep_TooltipPhoneWithPrefix = 'Prestep_TooltipPhoneWithPrefix',\n Prestep_UnauthorizedAccess = 'Prestep_UnauthorizedAccess',\n PrimaryChannelSubmitButton = 'PrimaryChannelSubmitButton',\n PrivacyPolicy_Label = 'PrivacyPolicy_Label',\n PrivacyPolicy_Text = 'PrivacyPolicy_Text',\n Reseller = 'Reseller',\n SecondStep_BrandPartnerNumber = 'SecondStep_BrandPartnerNumber',\n SecondStep_Button = 'SecondStep_Button',\n SecondStep_Button_Find = 'SecondStep_Button_Find',\n SecondStep_Country = 'SecondStep_Country',\n SecondStep_FindTheBestBrandPartner = 'SecondStep_FindTheBestBrandPartner',\n SecondStep_FindTheBestBrandPartner_Tooltip = 'SecondStep_FindTheBestBrandPartner_Tooltip',\n SecondStep_Header = 'SecondStep_Header',\n SecondStep_HeresYourBrandPartner = 'SecondStep_HeresYourBrandPartner',\n SecondStep_IKnowaBrandPartner = 'SecondStep_IKnowaBrandPartner',\n SecondStep_SearchedAddress = 'SecondStep_SearchedAddress',\n SecondStep_Text = 'SecondStep_Text',\n SecondStep_YourAreConnected = 'SecondStep_YourAreConnected',\n SecondStep_YourZipCode = 'SecondStep_YourZipCode',\n SecondStep_YourZipCode_Tooltip = 'SecondStep_YourZipCode_Tooltip',\n TermsAndConditions = 'TermsAndConditions',\n TermsAndConditions_Label = 'TermsAndConditions_Label',\n ThirdStep_AddYourDocument = 'ThirdStep_AddYourDocument',\n ThirdStep_AdditionalIDCard_Header = 'ThirdStep_AdditionalIDCard_Header',\n ThirdStep_AdditionalIDCard_Text = 'ThirdStep_AdditionalIDCard_Text',\n ThirdStep_Button = 'ThirdStep_Button',\n ThirdStep_ChooseDocumentType = 'ThirdStep_ChooseDocumentType',\n ThirdStep_Confirmation1 = 'ThirdStep_Confirmation1',\n ThirdStep_Confirmation2 = 'ThirdStep_Confirmation2',\n ThirdStep_DocumentDetails = 'ThirdStep_DocumentDetails',\n ThirdStep_DocumentFileSize = 'ThirdStep_DocumentFileSize',\n ThirdStep_DocumentNumber = 'ThirdStep_DocumentNumber',\n ThirdStep_DocumentNumber_Tooltip = 'ThirdStep_DocumentNumber_Tooltip',\n ThirdStep_DocumentType = 'ThirdStep_DocumentType',\n ThirdStep_Documents_Header = 'ThirdStep_Documents_Header',\n ThirdStep_ExpirationDate = 'ThirdStep_ExpirationDate',\n ThirdStep_ExpirationDate_Tooltip = 'ThirdStep_ExpirationDate_Tooltip',\n ThirdStep_GeneralConditions = 'ThirdStep_GeneralConditions',\n ThirdStep_GeneralConditions_Text = 'ThirdStep_GeneralConditions_Text',\n ThirdStep_Header = 'ThirdStep_Header',\n ThirdStep_HeaderText = 'ThirdStep_HeaderText',\n ThirdStep_IDCard_Header = 'ThirdStep_IDCard_Header',\n ThirdStep_IDCard_Text = 'ThirdStep_IDCard_Text',\n ThirdStep_ImageGuidelines = 'ThirdStep_ImageGuidelines',\n ThirdStep_KYCDocument_Header = 'ThirdStep_KYCDocument_Header',\n ThirdStep_KYCDocument_Text = 'ThirdStep_KYCDocument_Text',\n ThirdStep_More = 'ThirdStep_More',\n ThirdStep_SelectFile = 'ThirdStep_SelectFile',\n ThirdStep_ShowLess = 'ThirdStep_ShowLess',\n ThirdStep_ShowMore = 'ThirdStep_ShowMore',\n ThirdStep_UploadDocument = 'ThirdStep_UploadDocument',\n ThirdStep_UploadDocumentText = 'ThirdStep_UploadDocumentText',\n ThirdStep_Your_Documents_Header = 'ThirdStep_Your_Documents_Header',\n ThirdStep_Your_Documents_Text = 'ThirdStep_Your_Documents_Text',\n Welcome_App = 'Welcome_App',\n Welcome_Button = 'Welcome_Button',\n Welcome_Header = 'Welcome_Header',\n Welcome_Text = 'Welcome_Text',\n addresResults = 'addresResults',\n addressSearch = 'addressSearch',\n addressSearchTooltip = 'addressSearchTooltip',\n addressSearchValidation = 'addressSearchValidation',\n area = 'area',\n area_Placeholder = 'area_Placeholder',\n area_Tooltip = 'area_Tooltip',\n back = 'back',\n birthDate_DoesntMatchUniqueId = 'birthDate_DoesntMatchUniqueId',\n birthDate_LegalRequirementsFailed = 'birthDate_LegalRequirementsFailed',\n birthDate_OutOfRange = 'birthDate_OutOfRange',\n cancel = 'cancel',\n cannotCreate = 'cannotCreate',\n cannotDelete = 'cannotDelete',\n cannotGetData = 'cannotGetData',\n cannotResend = 'cannotResend',\n cannotUpdate = 'cannotUpdate',\n cannotVerify = 'cannotVerify',\n city = 'city',\n city_Placeholder = 'city_Placeholder',\n city_Tooltip = 'city_Tooltip',\n confirm = 'confirm',\n confirmDocumentDelete = 'confirmDocumentDelete',\n country = 'country',\n country_Placeholder = 'country_Placeholder',\n customerServiceLinkLabel = 'customerServiceLinkLabel',\n customer_NotEligible = 'customer_NotEligible',\n customer_NotUnique = 'customer_NotUnique',\n delete = 'delete',\n delivery = 'delivery',\n delivery2 = 'delivery2',\n delivery2_Placeholder = 'delivery2_Placeholder',\n delivery2_Tooltip = 'delivery2_Tooltip',\n delivery3 = 'delivery3',\n delivery3_Placeholder = 'delivery3_Placeholder',\n delivery3_Tooltip = 'delivery3_Tooltip',\n delivery_Placeholder = 'delivery_Placeholder',\n delivery_Tooltip = 'delivery_Tooltip',\n district = 'district',\n district_Placeholder = 'district_Placeholder',\n district_Tooltip = 'district_Tooltip',\n document_ExpirationTooSoon = 'document_ExpirationTooSoon',\n errorOccured = 'errorOccured',\n fileTypeIsNotSupported = 'fileTypeIsNotSupported',\n genderLabelMan = 'genderLabelMan',\n genderLabelOther = 'genderLabelOther',\n genderLabelWoman = 'genderLabelWoman',\n hide = 'hide',\n history = 'history',\n locality = 'locality',\n locality_Placeholder = 'locality_Placeholder',\n locality_Tooltip = 'locality_Tooltip',\n loginLinkLabel = 'loginLinkLabel',\n noSuggestions = 'noSuggestions',\n optedOutOfSponsorSelect = 'optedOutOfSponsorSelect',\n orderHistory = 'orderHistory',\n passwordRequirementCharactersCount = 'passwordRequirementCharactersCount',\n passwordRequirementDigit = 'passwordRequirementDigit',\n passwordRequirementLetter = 'passwordRequirementLetter',\n passwordRequirementLowerCaseLetter = 'passwordRequirementLowerCaseLetter',\n passwordRequirementSpecialCharacter = 'passwordRequirementSpecialCharacter',\n passwordRequirementUpperCaseLetter = 'passwordRequirementUpperCaseLetter',\n province = 'province',\n province_Placeholder = 'province_Placeholder',\n province_Tooltip = 'province_Tooltip',\n readMore = 'readMore',\n region = 'region',\n region_Placeholder = 'region_Placeholder',\n region_Tooltip = 'region_Tooltip',\n resendInMinute = 'resendInMinute',\n searchForAnAddress = 'searchForAnAddress',\n selectFile = 'selectFile',\n selectedFileExceedsMaximumSize = 'selectedFileExceedsMaximumSize',\n showImage = 'showImage',\n stateApproved = 'stateApproved',\n statePending = 'statePending',\n stateRejected = 'stateRejected',\n stateUnknown = 'stateUnknown',\n streetAddress = 'streetAddress',\n streetAddressTooltip = 'streetAddressTooltip',\n streetAddress_Placeholder = 'streetAddress_Placeholder',\n successResend = 'successResend',\n termsAndConditions_Mandatory = 'termsAndConditions_Mandatory',\n uploadDone = 'uploadDone',\n uploading = 'uploading',\n validationBirthDateRegex = 'validationBirthDateRegex',\n validationDateRegex = 'validationDateRegex',\n validationEmailIsAlreadyUsed = 'validationEmailIsAlreadyUsed',\n validationEmailTerminatedCustomer = 'validationEmailTerminatedCustomer',\n validationLength = 'validationLength',\n validationMandatoryPropertyIsNull = 'validationMandatoryPropertyIsNull',\n validationMaxLength = 'validationMaxLength',\n validationMaxValue = 'validationMaxValue',\n validationMinLength = 'validationMinLength',\n validationMinValue = 'validationMinValue',\n validationRegex = 'validationRegex',\n validationRegexBirthDate = 'validationRegexBirthDate',\n validationRegexEmail = 'validationRegexEmail',\n validationRegexIdentityCardDateExpiration = 'validationRegexIdentityCardDateExpiration',\n validationRegexPhone = 'validationRegexPhone',\n validationRegexUniqueID = 'validationRegexUniqueID',\n validationRequired = 'validationRequired',\n validationUniqueAlias = 'validationUniqueAlias',\n validationUniqueBankAccount = 'validationUniqueBankAccount',\n validationUniqueCustomerAttribute = 'validationUniqueCustomerAttribute',\n validationUniqueDisplayName = 'validationUniqueDisplayName',\n validationUniquePhone = 'validationUniquePhone',\n validationUniqueTaxCode = 'validationUniqueTaxCode',\n validationUniqueTaxCode2 = 'validationUniqueTaxCode2',\n validationUniqueUniqueId = 'validationUniqueUniqueId',\n validationValidConfirmationCode = 'validationValidConfirmationCode',\n validationValidOldPassword = 'validationValidOldPassword',\n validationValidPhone = 'validationValidPhone',\n validationValidSponsorNumber = 'validationValidSponsorNumber',\n validationValidUniqueId = 'validationValidUniqueId',\n validationXmlCharacters = 'validationXmlCharacters',\n warning = 'warning',\n zipcode = 'zipcode',\n zipcode_Placeholder = 'zipcode_Placeholder',\n zipcode_Tooltip = 'zipcode_Tooltip',\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 { useTranslationsFromNamespace, type UseTranslationsFromNamespaceResult } from '@ori/i18n';\n\nimport type { DefaultTranslations } from '../constants/defaultTranslations_simplified-registration-BrandPartner';\n\n/**\n * A hook for accessing translations within a specific namespace along with a formatting function.\n *\n * @returns The translations within the specified namespace and a formatting function.\n */\nexport const useTranslations: () => UseTranslationsFromNamespaceResult = () =>\n useTranslationsFromNamespace();\n","import type {\n ApiClient,\n StaticCustomerRegistrationsMetadataRegistrationMetadataDto,\n} from '@ori/static-api-client-react';\nimport {\n getTenantCustomerRegistrationsMetadatumRegistrationsMetadata,\n useApiClient,\n} from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType, type IRegistrationType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchRegistrationsMetadata(api: ApiClient, tenant: string, registrationType: IRegistrationType) {\n const emptyRegistrationsMetadata: StaticCustomerRegistrationsMetadataRegistrationMetadataDto = {\n isEnabled: false,\n };\n\n try {\n const response = await getTenantCustomerRegistrationsMetadatumRegistrationsMetadata(api, tenant, registrationType);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyRegistrationsMetadata);\n }\n}\n\nexport const useRegistrationsMetadata = () => {\n const { tenant, registrationType } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, registrationType, 'registrationsMetadata'],\n async () => {\n const result = await fetchRegistrationsMetadata(staticApi, tenant, registrationType);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch registartion metadata');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import { defaultTranslations } from '../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { IFormattedMessageProps } from '../interfaces';\nimport { TranslationKey } from '../models';\n\nexport const getErrorLocalizationByCode = (errorCode?: string, fieldName?: string): IFormattedMessageProps => {\n switch (errorCode) {\n case '105':\n return { defaultMessage: defaultTranslations.validationRequired, id: TranslationKey.validationRequired };\n case '119':\n return { defaultMessage: defaultTranslations.validationLength, id: TranslationKey.validationLength };\n case '106':\n switch (fieldName) {\n case 'contactEmail':\n return { defaultMessage: defaultTranslations.validationRegexEmail, id: TranslationKey.validationRegexEmail };\n case 'contactTelephone':\n return { defaultMessage: defaultTranslations.validationRegexPhone, id: TranslationKey.validationRegexPhone };\n case 'uniqueId':\n return {\n defaultMessage: defaultTranslations.validationRegexUniqueID,\n id: TranslationKey.validationRegexUniqueID,\n };\n case 'birthDate':\n return {\n defaultMessage: defaultTranslations.validationRegexBirthDate,\n id: TranslationKey.validationRegexBirthDate,\n };\n case 'identityCard.expiration':\n return {\n defaultMessage: defaultTranslations.validationRegexIdentityCardDateExpiration,\n id: TranslationKey.validationRegexIdentityCardDateExpiration,\n };\n default:\n return { defaultMessage: defaultTranslations.validationRegex, id: TranslationKey.validationRegex };\n }\n case '108':\n return {\n defaultMessage: defaultTranslations.validationEmailIsAlreadyUsed,\n id: TranslationKey.validationEmailIsAlreadyUsed,\n };\n case '109':\n return { defaultMessage: defaultTranslations.validationUniquePhone, id: TranslationKey.validationUniquePhone };\n case '110':\n return {\n defaultMessage: defaultTranslations.validationUniqueUniqueId,\n id: TranslationKey.validationUniqueUniqueId,\n };\n case '117':\n return {\n defaultMessage: defaultTranslations.validationValidUniqueId,\n id: TranslationKey.validationValidUniqueId,\n };\n case '121':\n return {\n defaultMessage: defaultTranslations.validationEmailTerminatedCustomer,\n id: TranslationKey.validationEmailTerminatedCustomer,\n };\n case '128':\n return {\n defaultMessage: defaultTranslations.validationUniqueBankAccount,\n id: TranslationKey.validationUniqueBankAccount,\n };\n case '134':\n return {\n defaultMessage: defaultTranslations.validationXmlCharacters,\n id: TranslationKey.validationXmlCharacters,\n };\n case '137':\n return { defaultMessage: defaultTranslations.fileTypeIsNotSupported, id: TranslationKey.fileTypeIsNotSupported };\n case '139':\n return {\n defaultMessage: defaultTranslations.validationValidConfirmationCode,\n id: TranslationKey.validationValidConfirmationCode,\n };\n case '141':\n return {\n defaultMessage: defaultTranslations.validationMandatoryPropertyIsNull,\n id: TranslationKey.validationMandatoryPropertyIsNull,\n };\n case '149':\n return {\n defaultMessage: defaultTranslations.validationUniqueCustomerAttribute,\n id: TranslationKey.validationUniqueCustomerAttribute,\n };\n case '151':\n return {\n defaultMessage: defaultTranslations.validationUniqueTaxCode,\n id: TranslationKey.validationUniqueTaxCode,\n };\n case '152':\n return {\n defaultMessage: defaultTranslations.validationUniqueTaxCode2,\n id: TranslationKey.validationUniqueTaxCode2,\n };\n case '155':\n return { defaultMessage: defaultTranslations.validationUniqueAlias, id: TranslationKey.validationUniqueAlias };\n case '156':\n return {\n defaultMessage: defaultTranslations.validationUniqueDisplayName,\n id: TranslationKey.validationUniqueDisplayName,\n };\n case '153':\n return { defaultMessage: defaultTranslations.validationValidPhone, id: TranslationKey.validationValidPhone };\n case '244':\n return {\n defaultMessage: defaultTranslations.birthDate_LegalRequirementsFailed,\n id: TranslationKey.birthDate_LegalRequirementsFailed,\n };\n case '403':\n return {\n defaultMessage: defaultTranslations.document_ExpirationTooSoon,\n id: TranslationKey.document_ExpirationTooSoon,\n };\n case '111':\n return {\n defaultMessage: defaultTranslations.birthDate_DoesntMatchUniqueId,\n id: TranslationKey.birthDate_DoesntMatchUniqueId,\n };\n case '118':\n return { defaultMessage: defaultTranslations.birthDate_OutOfRange, id: TranslationKey.birthDate_OutOfRange };\n case '148':\n return {\n defaultMessage: defaultTranslations.termsAndConditions_Mandatory,\n id: TranslationKey.termsAndConditions_Mandatory,\n };\n case '104':\n return { defaultMessage: defaultTranslations.customer_NotUnique, id: TranslationKey.customer_NotUnique };\n case '169':\n return { defaultMessage: defaultTranslations.customer_NotEligible, id: TranslationKey.customer_NotEligible };\n case '115':\n return {\n defaultMessage: defaultTranslations.validationValidSponsorNumber,\n id: TranslationKey.validationValidSponsorNumber,\n };\n case '179':\n return {\n defaultMessage: defaultTranslations.Prestep_ExternalAccountAlreadyConnected,\n id: TranslationKey.Prestep_ExternalAccountAlreadyConnected,\n };\n case '299':\n return {\n defaultMessage: defaultTranslations.Prestep_UnauthorizedAccess,\n id: TranslationKey.Prestep_UnauthorizedAccess,\n };\n case '428':\n return {\n defaultMessage: defaultTranslations.Prestep_InvitationCodeNotFound,\n id: TranslationKey.Prestep_InvitationCodeNotFound,\n };\n case '324':\n return {\n defaultMessage: defaultTranslations.Prestep_RegistrationFailed,\n id: TranslationKey.Prestep_RegistrationFailed,\n };\n default:\n return { defaultMessage: defaultTranslations.errorOccured, id: TranslationKey.errorOccured };\n }\n};\n","import { IContentKey } from '../interfaces';\n\nexport class ContentKeys {\n [key: string]: IContentKey;\n\n static TermsAndConditions_Url: IContentKey = {\n id: 'TermsAndConditions_Url',\n value: '',\n };\n\n static LegalDocument1_Link: IContentKey = {\n id: 'LegalDocument1_Link',\n value: '',\n };\n\n static LegalDocument2_Link: IContentKey = {\n id: 'LegalDocument2_Link',\n value: '',\n };\n\n static LegalDocument3_Link: IContentKey = {\n id: 'LegalDocument3_Link',\n value: '',\n };\n\n static LegalDocument4_Link: IContentKey = {\n id: 'LegalDocument4_Link',\n value: '',\n };\n\n static LegalDocument5_Link: IContentKey = {\n id: 'LegalDocument5_Link',\n value: '',\n };\n\n static LegalDocument6_Link: IContentKey = {\n id: 'LegalDocument6_Link',\n value: '',\n };\n\n static LegalDocument7_Link: IContentKey = {\n id: 'LegalDocument7_Link',\n value: '',\n };\n\n static LegalDocument8_Link: IContentKey = {\n id: 'LegalDocument8_Link',\n value: '',\n };\n\n static PrivacyPolicy_Url: IContentKey = {\n id: 'PrivacyPolicy_Url',\n value: '',\n };\n}\n","import type { ReactElement } from 'react';\nimport type { FieldError } from 'react-hook-form';\n\nimport { Localization } from '../Localization';\nimport { defaultTranslations } from '../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../models';\n\nexport const renderValidationMessage = (error: FieldError, max?: number, min?: number) => {\n let customMessage: ReactElement | string | undefined;\n\n switch (error.type) {\n case 'required':\n customMessage = (\n \n );\n break;\n case 'maxLength':\n customMessage = (\n \n );\n break;\n case 'minLength':\n customMessage = (\n \n );\n break;\n case 'pattern':\n customMessage = (\n \n );\n break;\n default:\n customMessage = error.message;\n }\n\n return customMessage;\n};\n","import { ErrorCircle, HelpCircle } from '@ori-ui/icons';\nimport { Box, FormControl, FormHelperText, Grid, styled, TextField, Tooltip } from '@ori-ui/mui';\nimport type { GlobalSharedMetadataValidationStringValidationDto } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport camelCase from 'lodash.camelcase';\nimport split from 'lodash.split';\nimport type { FC, ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport type { ControllerFieldState } from 'react-hook-form';\nimport { Controller, useFormContext } from 'react-hook-form';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useFormError } from '../../../contexts';\nimport { TranslationKey } from '../../../models';\nimport { getErrorLocalizationByCode, renderValidationMessage } from '../../../utils';\n\ntype InputMode = 'decimal' | 'email' | 'none' | 'numeric' | 'search' | 'tel' | 'text' | 'url';\ninterface ITextFormFieldByConfigProps {\n name: string;\n label?: ReactElement | string;\n tooltipText?: ReactElement | string;\n isEditable?: boolean;\n isAvailable?: boolean;\n isAddressMatchRequired?: boolean;\n displayOrder?: number;\n validation?: GlobalSharedMetadataValidationStringValidationDto;\n fieldState?: ControllerFieldState;\n initialValue?: string;\n keyboardType?: InputMode;\n customPlaceholder?: string;\n inputType?: React.InputHTMLAttributes['type'];\n enableLowercaseLetters?: boolean;\n useUpperCase?: boolean;\n allowOnlyNumbers?: boolean;\n}\n\nconst StyledHelpCircle = styled(HelpCircle)(({ theme }) => ({\n fontSize: '30px',\n color: theme.palette.grey[300],\n}));\n\nconst StyledLink = styled('a')(({ theme }) => ({\n color: theme.palette.error.main,\n textDecoration: 'underline',\n '&:hover': {\n color: theme.palette.error.main,\n textDecoration: 'underline',\n },\n}));\n\nconst handleChangeAllowOnlyNumber = (value: string, available?: boolean) =>\n available ? value.replaceAll(/\\D/g, '') : value;\n\nexport const TextFormFieldByConfig: FC = (props) => {\n const {\n name,\n label,\n tooltipText,\n isEditable,\n isAvailable,\n displayOrder,\n validation,\n initialValue,\n isAddressMatchRequired,\n keyboardType,\n inputType,\n customPlaceholder,\n enableLowercaseLetters,\n useUpperCase,\n allowOnlyNumbers,\n } = props;\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const { customerLoginUrl } = useConfiguration();\n const { setFocus, setValue } = useFormContext();\n\n const { getTestIdProps, getTestId } = useTestId();\n\n const submitError = customErrors?.find((error) => error.fieldName?.toLowerCase() === name.toLowerCase());\n\n const formatError = split(submitError?.fieldName, '.').map((item) => camelCase(item));\n const joinFormatError = formatError.join('.');\n\n useEffect(() => {\n if (submitError) {\n setFocus(joinFormatError);\n }\n }, [customErrors, joinFormatError, setFocus, submitError]);\n\n const errorMessage = getErrorLocalizationByCode(submitError?.errorCode, name);\n\n const regexPattern = validation?.regularExpression ? new RegExp(validation.regularExpression) : undefined;\n\n const readOnly = isAddressMatchRequired ?? false;\n const fieldPlaceholder = customPlaceholder;\n\n const capitalize = enableLowercaseLetters ? 'off' : 'on';\n const readOnlyStyleBox = {\n display: 'flex',\n height: '0',\n alignItems: 'center',\n justifyContent: 'center',\n };\n\n const renderHelpTooltip = () => (\n \n \n \n );\n\n const handleTrimValue = (fieldValue?: string) => {\n const correctValue = useUpperCase ? fieldValue?.toLocaleUpperCase() : fieldValue;\n setValue(name, correctValue?.trim(), {\n shouldValidate: true,\n shouldDirty: true,\n shouldTouch: true,\n });\n };\n\n // we need start tabindex from 1 but displayOrder starts from 0\n const correctTabIndex = typeof displayOrder === 'number' ? displayOrder + 1 : displayOrder;\n\n const renderField = () => (\n \n \n (\n \n {readOnly ? null : (\n \n {renderValidationMessage(fieldState.error)}\n \n ) : null\n }\n disabled={!isEditable}\n required={validation?.isMandatory}\n defaultValue={field.value as string}\n inputProps={{\n tabIndex: correctTabIndex,\n maxLength: validation?.maxLength,\n minLength: validation?.minLength ?? undefined,\n inputMode: keyboardType ?? 'text',\n 'data-testid': getTestId(`${name}-text-field`),\n autoCapitalize: capitalize,\n style: { textTransform: useUpperCase ? 'uppercase' : 'initial' },\n sx: {\n '&::placeholder': {\n textTransform: 'initial',\n },\n },\n }}\n // eslint-disable-next-line react/jsx-no-duplicate-props --- we needed is not duplicate props\n InputProps={{\n endAdornment: fieldState.error ? : renderHelpTooltip(),\n autoComplete: 'off',\n }}\n {...field}\n value={(field.value as string) || ''}\n inputRef={ref}\n onBlur={() => handleTrimValue(field.value as string)}\n onChange={(e) => onChange(handleChangeAllowOnlyNumber(e.target.value, allowOnlyNumbers))}\n />\n )}\n {submitError ? (\n \n \n \n \n ),\n }}\n />\n \n ) : null}\n \n )}\n />\n \n \n );\n\n const fieldComponent = isAvailable && renderField();\n\n return (\n // eslint-disable-next-line react/jsx-no-useless-fragment -- we need fragment\n <>{fieldComponent}\n );\n};\n","import type { ApiClient, StaticTelephoneFormatsPhoneFormatsDto } from '@ori/static-api-client-react';\nimport { getTenantPhoneFormats, useApiClient } from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchTenantPhoneFormats(api: ApiClient, tenant: string) {\n const emptyTenantPhoneFormats: StaticTelephoneFormatsPhoneFormatsDto = { allowedFormats: [] };\n\n try {\n const response = await getTenantPhoneFormats(api, tenant);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyTenantPhoneFormats);\n }\n}\n\nexport const usePhoneFormats = () => {\n const { tenant } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, 'phoneFormats'],\n async () => {\n const result = await fetchTenantPhoneFormats(staticApi, tenant);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch phone formats');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import type { ApiClient, StaticCountriesCountriesDto } from '@ori/static-api-client-react';\nimport { getTenantCountries, useApiClient } from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchTenantsCountry(api: ApiClient, tenant: string) {\n const emptyTenantCountry: StaticCountriesCountriesDto = { collection: [] };\n\n try {\n const response = await getTenantCountries(api, tenant);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyTenantCountry);\n }\n}\n\nexport const useTenantsCountry = () => {\n const { tenant } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, 'tenantsCountries'],\n async () => {\n const result = await fetchTenantsCountry(staticApi, tenant);\n if (result.isSuccess() && result.response?.collection) {\n return result.response.collection;\n }\n throw new Error('request failed fetch tenants country');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import { ErrorCircle, HelpCircle } from '@ori-ui/icons';\nimport type { SelectChangeEvent } from '@ori-ui/mui';\nimport {\n Box,\n FormControl,\n FormHelperText,\n Grid,\n InputLabel,\n MenuItem,\n Select,\n styled,\n TextField,\n Tooltip,\n} from '@ori-ui/mui';\nimport type { GlobalSharedMetadataValidationStringValidationDto } from '@ori/global-api-client-react';\nimport type { StaticCountriesCountryDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport camelCase from 'lodash.camelcase';\nimport split from 'lodash.split';\nimport { useState, useEffect } from 'react';\nimport type { FC, ReactElement } from 'react';\nimport ReactCountryFlag from 'react-country-flag';\nimport type { ControllerFieldState } from 'react-hook-form';\nimport { Controller, useFormContext } from 'react-hook-form';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useFormError } from '../../../contexts';\nimport { TranslationKey } from '../../../models';\nimport { usePhoneFormats, useTenantsCountry } from '../../../models/api';\nimport { getErrorLocalizationByCode, renderValidationMessage } from '../../../utils';\n\ninterface ISelectOption {\n label: ReactElement | string;\n value: string;\n countryCode?: string;\n}\n\ninterface IPhoneFieldByConfigProps {\n name: string;\n label?: ReactElement | string;\n tooltipText: ReactElement | string;\n isEditable?: boolean;\n isAvailable?: boolean;\n isAddressMatchRequired?: boolean;\n displayOrder?: number;\n validation?: GlobalSharedMetadataValidationStringValidationDto;\n fieldState?: ControllerFieldState;\n initialValue?: string;\n customPlaceholder?: string;\n customPlaceholderWithPrefix?: string;\n tooltipWithPrefix: ReactElement | string;\n labelWithPrefix?: ReactElement | string;\n inputType?: React.InputHTMLAttributes['type'];\n enableLowercaseLetters?: boolean;\n}\n\nconst StyledHelpCircle = styled(HelpCircle)(({ theme }) => ({\n fontSize: '30px',\n color: theme.palette.grey[300],\n}));\n\nconst FlagWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n marginRight: theme.spacing(3),\n}));\n\nconst StyledLink = styled('a')(({ theme }) => ({\n color: theme.palette.error.main,\n textDecoration: 'underline',\n '&:hover': {\n color: theme.palette.error.main,\n textDecoration: 'underline',\n },\n}));\n\nconst getCountryByCountryCode = (countries?: StaticCountriesCountryDto[], countryCode?: string) =>\n countries?.find((country) => country.countryCode === countryCode)?.name;\n\nexport const PhoneFieldByConfig: FC = (props) => {\n const {\n name,\n label,\n tooltipText,\n isEditable,\n isAvailable,\n displayOrder,\n validation,\n initialValue,\n isAddressMatchRequired,\n inputType,\n customPlaceholder,\n enableLowercaseLetters,\n tooltipWithPrefix,\n customPlaceholderWithPrefix,\n labelWithPrefix,\n } = props;\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const { customerLoginUrl } = useConfiguration();\n\n const { setFocus, setValue, setError, watch, clearErrors } = useFormContext();\n const [phonePrefix, setPhonePrefix] = useState();\n const [isDisabledPrefix, setIsDisabledPrefix] = useState(false);\n\n const [phoneWithoutPrefix, setPhoneWithoutPrefix] = useState();\n\n const { data: phoneFormats } = usePhoneFormats();\n const { data: countries } = useTenantsCountry();\n\n const availableOptions = phoneFormats?.allowedFormats.map((opt) => ({\n countryCode: opt.countryCode === 'UK' ? 'GB' : opt.countryCode,\n label: opt.internationalPrefix,\n value: opt.internationalPrefix,\n })) as ISelectOption[] | undefined;\n\n const isAnyPhoneFormats = Boolean(availableOptions?.length && availableOptions.length > 0);\n const onlyOnePrefix = availableOptions?.length === 1;\n\n const { getTestIdProps, getTestId } = useTestId();\n\n const submitError = customErrors?.find((error) => error.fieldName?.toLowerCase() === name.toLowerCase());\n\n const watchValue = watch(name) as string;\n\n const formatError = split(submitError?.fieldName, '.').map((item) => camelCase(item));\n const joinFormatError = formatError.join('.');\n\n useEffect(() => {\n if (submitError) {\n setFocus(joinFormatError);\n }\n }, [customErrors, joinFormatError, setFocus, submitError]);\n\n const renderSelectOption = (item: ISelectOption, index: number): ReactElement => (\n \n {item.countryCode ? (\n \n ) : null}\n {getCountryByCountryCode(countries, item.countryCode)} ({item.label})\n \n );\n\n const errorMessage = getErrorLocalizationByCode(submitError?.errorCode, name);\n\n const regexPattern = validation?.regularExpression ? new RegExp(validation.regularExpression) : undefined;\n\n const readOnly = isAddressMatchRequired ?? false;\n const fieldPlaceholder = isAnyPhoneFormats ? customPlaceholderWithPrefix : customPlaceholder;\n\n const initialPrefix = availableOptions?.find((aopt) => initialValue?.includes(aopt.value));\n\n useEffect(() => {\n if (!phonePrefix && initialPrefix) {\n setPhonePrefix(initialPrefix.value);\n } else if (availableOptions && !phonePrefix) {\n setPhonePrefix(availableOptions[0]?.value);\n } else {\n setPhonePrefix(phonePrefix);\n }\n }, [initialPrefix, phonePrefix, availableOptions]);\n\n useEffect(() => {\n if (watchValue && phonePrefix) {\n setPhoneWithoutPrefix(watchValue.replace(phonePrefix, ''));\n }\n }, [watchValue, phonePrefix]);\n\n useEffect(() => {\n if (availableOptions && onlyOnePrefix) {\n setIsDisabledPrefix(true);\n }\n if (availableOptions && !initialPrefix && !phonePrefix) {\n setPhonePrefix(availableOptions[0]?.value);\n }\n }, [availableOptions, onlyOnePrefix, initialPrefix, phonePrefix]);\n\n const capitalize = enableLowercaseLetters ? 'off' : 'on';\n const readOnlyStyleBox = {\n display: 'flex',\n height: '0',\n alignItems: 'center',\n justifyContent: 'center',\n };\n\n const renderHelpTooltip = () => (\n \n \n \n );\n\n const renderErrorTooltip = () => (\n \n \n \n );\n\n const handleChangeAllowOnlyNumber = (available: boolean, value: string) => {\n let correctValue = value;\n if (available && correctValue.startsWith('0')) {\n correctValue = correctValue.slice(1).replaceAll(/\\D/g, '');\n }\n\n if (available) {\n correctValue = correctValue.replaceAll(/\\D/g, '');\n }\n\n const currentValue = isAnyPhoneFormats\n ? // eslint-disable-next-line unicorn/prefer-spread -- we need this type concat\n correctValue && phonePrefix && phonePrefix.concat(correctValue)\n : correctValue;\n\n const isValid = currentValue ? regexPattern?.test(currentValue) : false;\n if (isValid) {\n clearErrors(name);\n } else {\n setError(name, { type: 'pattern' });\n }\n\n return currentValue?.trim();\n };\n\n const handlePrefixChange = (event: SelectChangeEvent) => {\n const {\n target: { value },\n } = event;\n setPhonePrefix(value);\n // eslint-disable-next-line unicorn/prefer-spread -- we need this type concat\n const currentValue = phoneWithoutPrefix && value && value.concat(phoneWithoutPrefix);\n if (watchValue) {\n setValue(name, currentValue?.trim(), {\n shouldValidate: true,\n shouldDirty: true,\n shouldTouch: true,\n });\n }\n };\n\n // we need start tabindex from 1 but displayOrder starts from 0\n const correctTabIndex = typeof displayOrder === 'number' ? displayOrder + 1 : displayOrder;\n\n const onlyOneOption = Boolean(availableOptions?.length && availableOptions.length === 1);\n\n const renderField = () => (\n \n \n {isAnyPhoneFormats ? (\n \n \n {labelWithPrefix}\n {\n if (!selected?.length) {\n return undefined;\n }\n\n const foundCode = availableOptions?.find((opt) => opt.value === selected);\n if (foundCode?.countryCode) {\n return (\n \n \n {selected}\n \n );\n }\n\n return selected;\n }}\n sx={{\n '.MuiSelect-icon': {\n display: onlyOneOption ? 'none' : 'block',\n },\n }}\n value={phonePrefix}\n defaultValue={phonePrefix}\n onChange={(e) => handlePrefixChange(e)}\n >\n {availableOptions?.map(renderSelectOption)}\n \n \n \n ) : null}\n \n (\n \n {readOnly ? null : (\n \n {renderValidationMessage(fieldState.error)}\n \n ) : null\n }\n disabled={!isEditable}\n required={validation?.isMandatory}\n inputProps={{\n maxLength: validation?.maxLength,\n minLength: validation?.minLength ?? undefined,\n inputMode: 'tel',\n 'data-testid': getTestId(`${name}-phone-field`),\n autoCapitalize: capitalize,\n tabIndex: correctTabIndex,\n sx: {\n '&::placeholder': {\n textTransform: 'initial',\n },\n },\n }}\n // eslint-disable-next-line react/jsx-no-duplicate-props --- we needed is not duplicate props\n InputProps={{\n endAdornment: fieldState.error ? renderErrorTooltip() : renderHelpTooltip(),\n autoComplete: 'off',\n }}\n {...field}\n value={(field.value as string | undefined)?.replace(phonePrefix as string, '')}\n inputRef={ref}\n onChange={(e) => onChange(handleChangeAllowOnlyNumber(isAnyPhoneFormats, e.target.value))}\n />\n )}\n {submitError ? (\n \n \n \n \n ),\n }}\n />\n \n ) : null}\n \n )}\n />\n \n \n \n );\n\n const fieldComponent = isAvailable && renderField();\n\n return (\n // eslint-disable-next-line react/jsx-no-useless-fragment -- we need fragment\n <>{fieldComponent}\n );\n};\n","import { IconButton } from '@ori-ui/components';\nimport { Visibility, VisibilityOff } from '@ori-ui/icons';\nimport { InputAdornment, styled } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { Dispatch, FC, SetStateAction } from 'react';\n\nconst iconStyle = {\n fontSize: '32px',\n};\n\nconst StyledIconButton = styled(IconButton)(({ theme }) => ({\n padding: theme.spacing(0),\n}));\n\ninterface IPasswordToggleProps {\n isShowPassword: boolean;\n tabIndex?: number;\n setPasswordVisible: Dispatch>;\n}\n\nexport const PasswordToggle: FC = (props) => {\n const { isShowPassword, tabIndex, setPasswordVisible } = props;\n const { getTestIdProps } = useTestId();\n\n const handleClick = () => setPasswordVisible(!isShowPassword);\n\n const icon = isShowPassword ? (\n \n ) : (\n \n );\n\n return (\n \n \n {icon}\n \n \n );\n};\n","import { CheckCircleFilled, ErrorCircleFilled } from '@ori-ui/icons';\nimport { styled, Typography } from '@ori-ui/mui';\nimport type { FC } from 'react';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../../models';\nimport type { IPasswordRequirement } from './PasswordFieldByConfig';\n\nconst IconWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n marginTop: theme.spacing(1),\n}));\n\nconst CheckIcon = styled(CheckCircleFilled)(({ theme }) => ({\n color: theme.palette.default.light,\n marginRight: theme.spacing(1),\n}));\n\nconst CheckIconSuccess = styled(CheckCircleFilled)(({ theme }) => ({\n color: theme.palette.primary.main,\n marginRight: theme.spacing(1),\n}));\n\nconst ErrorIcon = styled(ErrorCircleFilled)(({ theme }) => ({\n color: theme.palette.error.dark,\n marginRight: theme.spacing(1),\n}));\n\nconst StyledLabel = styled(Typography)(({ theme }) => ({\n color: theme.palette.default.main,\n}));\n\ninterface IPasswordRequirementsProps {\n requirements?: IPasswordRequirement[];\n minChar?: number;\n actualValue?: string;\n validating: boolean;\n}\n\nconst getValidationIcon = (requirementProperty: IPasswordRequirement, value?: string) =>\n requirementProperty.validationRegex.test(value ?? '') ? : ;\n\nexport const PasswordRequirements: FC = (props) => {\n const { requirements, minChar, actualValue, validating } = props;\n\n return (\n
\n {requirements?.map((requirement) => (\n \n {validating ? getValidationIcon(requirement, actualValue) : }\n \n \n \n \n ))}\n
\n );\n};\n","import { TextField, Grid, Box, FormHelperText, FormControl } from '@ori-ui/mui';\nimport type { GlobalSharedMetadataValidationStringValidationDto } from '@ori/global-api-client-react';\nimport type { StaticSharedMetadataPasswordRequirementsDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport { useState } from 'react';\nimport type { Dispatch, ReactElement, SetStateAction, FC } from 'react';\nimport type { ControllerFieldState } from 'react-hook-form';\nimport { Controller } from 'react-hook-form';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useFormError } from '../../../contexts';\nimport { getErrorLocalizationByCode, renderValidationMessage } from '../../../utils';\nimport { PasswordToggle } from '../../PasswordToggle';\nimport { PasswordRequirements } from './PasswordRequirements';\n\ninterface ITextFormFieldByConfigProps {\n name: string;\n label?: ReactElement | string;\n isEditable?: boolean;\n isAvailable?: boolean;\n displayOrder?: number;\n validation?: GlobalSharedMetadataValidationStringValidationDto;\n requirements?: StaticSharedMetadataPasswordRequirementsDto;\n fieldState?: ControllerFieldState;\n initialValue?: string;\n customPlaceholder?: string;\n}\n\nexport interface IPasswordRequirement {\n key: keyof typeof defaultTranslations;\n validationRegex: RegExp;\n}\n\nconst getPasswordRequirements = (\n minLength: number,\n maxLength: number,\n configRequirements?: StaticSharedMetadataPasswordRequirementsDto,\n) => {\n const correctRequirements: IPasswordRequirement[] = [];\n\n if (configRequirements?.letter?.isRequired) {\n correctRequirements.push({\n key: 'passwordRequirementLetter',\n validationRegex: new RegExp(configRequirements.letter.regularExpression ?? ''),\n });\n }\n\n if (configRequirements?.lowercaseLetter?.isRequired) {\n correctRequirements.push({\n key: 'passwordRequirementLowerCaseLetter',\n validationRegex: new RegExp(configRequirements.lowercaseLetter.regularExpression ?? ''),\n });\n }\n\n if (configRequirements?.uppercaseLetter?.isRequired) {\n correctRequirements.push({\n key: 'passwordRequirementUpperCaseLetter',\n validationRegex: new RegExp(configRequirements.uppercaseLetter.regularExpression ?? ''),\n });\n }\n\n correctRequirements.push({\n key: 'passwordRequirementCharactersCount',\n validationRegex: new RegExp(`^.{${minLength},${maxLength}}$`),\n });\n\n if (configRequirements?.digit?.isRequired) {\n correctRequirements.push({\n key: 'passwordRequirementDigit',\n validationRegex: new RegExp(configRequirements.digit.regularExpression ?? ''),\n });\n }\n\n if (configRequirements?.specialCharacter?.isRequired) {\n correctRequirements.push({\n key: 'passwordRequirementSpecialCharacter',\n validationRegex: new RegExp(configRequirements.specialCharacter.regularExpression ?? ''),\n });\n }\n\n return correctRequirements;\n};\n\nexport const PasswordFieldByConfig: FC = (props) => {\n const {\n name,\n label,\n isEditable,\n isAvailable,\n displayOrder,\n validation,\n requirements,\n initialValue,\n customPlaceholder,\n } = props;\n\n const [isPasswordVisible, setIsPasswordVisible]: [boolean, Dispatch>] = useState(false);\n\n const [isShowRequirements, setIsShowRequirements] = useState(false);\n const [isValidatingRequirements, setIsValidatingRequirements] = useState(false);\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const { getTestIdProps, getTestId } = useTestId();\n\n const submitError = customErrors?.find((error) => error.fieldName?.toLowerCase() === name.toLowerCase());\n\n const errorMessage = getErrorLocalizationByCode(submitError?.errorCode, name);\n const minLength = validation?.minLength ?? 6;\n const maxLength = validation?.maxLength ?? 255;\n\n const passwordRequirementsArray = getPasswordRequirements(minLength, maxLength, requirements);\n\n const regexPattern = validation?.regularExpression ? new RegExp(validation.regularExpression) : undefined;\n\n // we need start tabindex from 1 but displayOrder starts from 0\n const correctTabIndex = typeof displayOrder === 'number' ? displayOrder + 1 : displayOrder;\n\n const renderField = () => (\n \n \n (\n \n \n {submitError ? (\n \n \n \n ) : null}\n {!isShowRequirements && fieldState.error ? (\n
\n {renderValidationMessage(fieldState.error, validation?.maxLength, validation?.minLength)}\n
\n ) : null}\n {isShowRequirements ? (\n
\n \n
\n ) : null}\n \n }\n disabled={!isEditable}\n required={validation?.isMandatory}\n defaultValue={field.value as string}\n inputProps={{\n maxLength: validation?.maxLength,\n tabIndex: correctTabIndex,\n minLength: validation?.minLength ?? undefined,\n 'data-testid': getTestId(`${name}-password-field`),\n }}\n // eslint-disable-next-line react/jsx-no-duplicate-props --- we needed is not duplicate props\n InputProps={{\n endAdornment: (\n \n ),\n autoComplete: 'new-password',\n }}\n onFocus={(_e) => setIsShowRequirements(true)}\n onKeyUp={(_e) => setIsValidatingRequirements(true)}\n {...field}\n />\n
\n )}\n />\n \n \n );\n\n const fieldComponent = isAvailable && renderField();\n\n return (\n // eslint-disable-next-line react/jsx-no-useless-fragment -- we need fragment\n <>{fieldComponent}\n );\n};\n","import { FormHelperText, styled } from '@ori-ui/mui';\nimport type { FC } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { IErrorData } from '../../contexts';\nimport { TranslationKey } from '../../models';\nimport { getErrorLocalizationByCode } from '../../utils';\n\nexport const FormErrorSummary = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n marginTop: theme.spacing(3),\n}));\n\nexport const StyledSubmitError = styled(FormHelperText)(({ theme }) => ({\n fontSize: '14px',\n textAlign: 'left',\n fontStyle: 'italic',\n marginLeft: theme.spacing(1),\n}));\n\nconst StyledLink = styled('a')(({ theme }) => ({\n color: theme.palette.error.main,\n textDecoration: 'underline',\n '&:hover': {\n color: theme.palette.error.main,\n textDecoration: 'underline',\n },\n}));\n\ninterface FormValidationSummaryProps {\n invalidPropertyErrors?: IErrorData[];\n customerServiceUrl?: string;\n}\n\nexport const FormValidationSummary: FC = (props) => {\n const { invalidPropertyErrors, customerServiceUrl } = props;\n const isInvalidPropertyErrors = Boolean(invalidPropertyErrors?.length && invalidPropertyErrors.length > 0);\n\n if (!isInvalidPropertyErrors) {\n return null;\n }\n\n return (\n \n {invalidPropertyErrors?.map((notPropertyError) => (\n \n \n \n \n ),\n }}\n />\n \n ))}\n \n );\n};\n","import type { FC } from 'react';\n\nexport const GoogleIcon: FC = () => (\n \n \n \n \n \n \n \n \n);\n","import { styled, Button, Typography } from '@ori-ui/mui';\n\nconst StyledForm = styled('form')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n marginTop: theme.spacing(8),\n}));\n\nconst SubmitButtton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(3),\n order: 8,\n}));\n\nconst SocialWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n marginTop: theme.spacing(1),\n}));\n\nconst IconWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n width: '40px',\n}));\n\nconst IconText = styled(Typography)(({ theme }) => ({\n paddingLeft: theme.spacing(10),\n textAlign: 'left',\n}));\n\n// this is custom component by design\nconst SocialButtton = styled(Button)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'start',\n width: '100%',\n minWidth: '330px',\n maxWidth: '500px',\n height: 'auto',\n minHeight: '40px',\n marginTop: theme.spacing(2),\n textTransform: 'none',\n boxShadow: '0px 1px 3px #00000033',\n padding: '5px 10px',\n}));\n\nconst Separator = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n marginTop: theme.spacing(5),\n marginBottom: theme.spacing(2),\n}));\n\nconst HiddenInput = styled('input')(({ theme }) => ({\n display: 'none',\n}));\n\nconst StyledLink = styled('a')(({ theme }) => ({\n color: theme.palette.text.primary,\n textDecoration: 'underline',\n '&:hover': {\n color: theme.palette.text.secondary,\n textDecoration: 'underline',\n },\n}));\n\nconst LegalNotice = styled(Typography)(({ theme }) => ({\n display: 'flex',\n marginInline: 'auto',\n marginBottom: theme.spacing(3),\n maxWidth: '500px',\n}));\n\nconst AddInvitationCode = styled(Typography)(({ theme }) => ({\n textAlign: 'left',\n fontWeight: 'bold',\n marginBottom: theme.spacing(8),\n cursor: 'pointer',\n}));\n\nexport {\n StyledForm,\n Separator,\n SocialButtton,\n SocialWrapper,\n SubmitButtton,\n IconWrapper,\n HiddenInput,\n IconText,\n StyledLink,\n LegalNotice,\n AddInvitationCode,\n};\n","import { useToken } from '@ori/auth';\nimport type { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport axios from 'axios';\nimport useSWR from 'swr';\n\nimport { useConfiguration } from '../../../contexts';\n\nconst axiosClient = axios.create();\n\nconst getEncodedImage = (blob: Blob): string => URL.createObjectURL(blob);\n\nexport function usePublicSponsorImage(customerId?: number, documentId?: number | null) {\n const { globalApiUrl, tenant, currentLanguage } = useConfiguration();\n const { formattedToken } = useToken();\n\n const shouldFetch = Boolean(customerId && documentId !== null && documentId !== undefined);\n const url = `${globalApiUrl}/customers/${customerId}/profileImages/${documentId}`;\n\n const { data: sponsorImage } = useSWR(shouldFetch ? url.toString() : null, async (requestUrl: string) => {\n const headers: AxiosRequestConfig['headers'] = {\n 'x-tenant-context': tenant,\n ...(currentLanguage && { 'accept-language': currentLanguage }),\n };\n headers.Authorization = formattedToken;\n\n const { data } = await axiosClient\n .get(requestUrl, {\n headers,\n responseType: 'blob',\n })\n .then((blob) => blob)\n .catch((error: AxiosResponse) => error);\n\n return data;\n });\n\n return sponsorImage === undefined ? undefined : getEncodedImage(sponsorImage);\n}\n","export const stringAvatar = (name: string) => {\n const [lastName, firstName] = name.split(' ');\n\n return {\n children: `${firstName?.charAt(0) ?? ''}${lastName?.charAt(0) ?? ''}`,\n };\n};\n","import { Typography, styled, Avatar } from '@ori-ui/mui';\nimport { useGetCustomerProfileImage } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration } from '../../../contexts';\nimport { TranslationKey } from '../../../models';\nimport { usePublicSponsorImage } from '../../../models/api';\nimport { stringAvatar } from '../../../utils';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n maxWidth: '500px',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(6),\n}));\n\nconst StyledAvatar = styled(Avatar)(({ theme }) => ({\n width: '70px',\n height: '70px',\n color: theme.palette.text.primary,\n textDecoration: 'none',\n}));\n\nconst StyledInfo = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n marginLeft: theme.spacing(3),\n}));\n\nexport const PublicSponsorBox: FC<{ displayOrder?: number | null }> = ({ displayOrder }) => {\n const { referral } = useConfiguration();\n const { data: sponsorDocument } = useGetCustomerProfileImage(referral?.CustomerId ?? 0);\n const sponsorImage = usePublicSponsorImage(referral?.CustomerId, sponsorDocument?.documentId);\n\n const { getTestIdProps } = useTestId();\n\n return (\n \n {referral?.FullName ? (\n \n ) : null}\n \n \n \n \n\n \n {referral?.FullName}\n \n \n \n );\n};\n","import { Apple, Facebook } from '@ori-ui/icons';\nimport { Grid, Typography, FormHelperText, Collapse, Box } from '@ori-ui/mui';\nimport type {\n GlobalCustomerRegistrationsRegistrationDto,\n GlobalCustomerRegistrationsRegistrationDtoLoginType,\n} from '@ori/global-api-client-react';\nimport type { StaticCustomerRegistrationsMetadataRegistrationMetadataDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useEffect, useState } from 'react';\nimport { useForm, FormProvider } from 'react-hook-form';\n\nimport { ContentKeys, Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { GetContent, useConfiguration, useFormError } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../../models';\nimport { getErrorLocalizationByCode } from '../../../utils';\nimport { PasswordFieldByConfig, PhoneFieldByConfig, TextFormFieldByConfig } from '../../FieldsByConfig';\nimport { FormValidationSummary } from '../../FormValidationSummary';\nimport { GoogleIcon } from '../../GoogleIcon';\nimport {\n StyledForm,\n Separator,\n SocialButtton,\n SocialWrapper,\n SubmitButtton,\n IconWrapper,\n HiddenInput,\n IconText,\n StyledLink,\n LegalNotice,\n AddInvitationCode,\n} from './PreStepFormStyledComponent';\nimport { PublicSponsorBox } from './PublicSponsorBox';\n\ninterface IPreStepFormProps {\n config?: StaticCustomerRegistrationsMetadataRegistrationMetadataDto;\n onSubmitForm: (data: GlobalCustomerRegistrationsRegistrationDto) => void;\n isSuccessSubmit: boolean;\n}\n\nconst getCorrectTabIndex = (tabIndex?: number) => (typeof tabIndex === 'number' ? tabIndex + 1 : 0);\n\nexport const PreStepForm: FC = (props) => {\n const { config, isSuccessSubmit, onSubmitForm } = props;\n\n const [isInvitationFieldVisible, setIsInvitationFieldVisible] = useState(false);\n const { getTestIdProps } = useTestId();\n const { validationErrorCode, referral, registrationType } = useConfiguration();\n const { formatMessage } = useTranslations();\n\n const methods = useForm({\n reValidateMode: 'onChange',\n mode: 'onChange',\n });\n\n const { formState, watch, register, setValue } = methods;\n const { isValid, isSubmitted, isSubmitting } = formState;\n const formValues = watch();\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const invalidCodeErrors = customErrors?.filter(\n (er) =>\n !Object.keys(formValues)\n .map((val) => val.toLowerCase())\n .includes(er.fieldName?.toLowerCase() ?? ''),\n );\n\n const socialValidationMessage = getErrorLocalizationByCode(validationErrorCode);\n\n const isShowCustomValidationMessage = Boolean(!isSubmitted && validationErrorCode);\n\n const BPAndLink = !(registrationType === 'Consultant' && referral?.ReferralType === 'ReferralLink');\n\n const visibleByType = registrationType === 'VipCustomer' ? true : BPAndLink;\n\n const isShowSponsorBox = referral?.CustomerId && visibleByType;\n\n const loginWithSocialNetwork = (loginType: GlobalCustomerRegistrationsRegistrationDtoLoginType) => {\n setValue('loginType', loginType);\n setValue('contactEmail', undefined);\n setValue('contactTelephone', undefined);\n setValue('password', undefined);\n methods.clearErrors();\n methods.handleSubmit(onSubmitForm)();\n };\n\n useEffect(() => {\n if (formValues.contactEmail) {\n setValue('loginType', 'Email');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed other property\n }, [formValues.contactEmail]);\n\n useEffect(() => {\n if (formValues.contactTelephone) {\n setValue('loginType', 'Telephone');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed other property\n }, [formValues.contactTelephone]);\n\n /* eslint-disable @typescript-eslint/prefer-nullish-coalescing -- we need logical operator || */\n const isAnySocialNetworkAvailable = Boolean(\n config?.appleLogin?.isAvailable || config?.facebookLogin?.isAvailable || config?.googleLogin?.isAvailable,\n );\n /* eslint-enable @typescript-eslint/prefer-nullish-coalescing -- we need logical operator || */\n\n return (\n \n {isShowCustomValidationMessage ? (\n \n \n \n ) : null}\n \n \n \n \n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.Prestep_PlaceholderEmail)}\n keyboardType=\"email\"\n {...config?.contactEmail}\n />\n \n }\n labelWithPrefix={\n \n }\n tooltipText={\n \n }\n tooltipWithPrefix={\n \n }\n customPlaceholder={formatMessage(TranslationKey.Prestep_PlaceholderPhone)}\n customPlaceholderWithPrefix={formatMessage(TranslationKey.Prestep_PlaceholderPhoneWithPrefix)}\n {...config?.contactTelephone}\n />\n {isShowSponsorBox ? : null}\n\n {config?.invitationCode?.isAvailable && !referral?.CustomerId ? (\n <>\n {isInvitationFieldVisible ? null : (\n \n \n setIsInvitationFieldVisible(!isInvitationFieldVisible)}>\n \n \n \n \n )}\n\n \n \n }\n tooltipText={\n \n }\n keyboardType=\"text\"\n {...config.invitationCode}\n />\n \n \n ) : null}\n\n \n }\n customPlaceholder={formatMessage(TranslationKey.Prestep_PlaceholderPassword)}\n {...config?.password}\n />\n {config?.legalNoticeText?.isEnabled ? (\n \n \n \n \n \n ),\n PrivacyPolicy_Link: (\n \n \n \n ),\n }}\n />\n \n \n ) : null}\n \n \n \n \n \n {isAnySocialNetworkAvailable ? (\n <>\n \n \n \n \n \n \n {config?.googleLogin?.isAvailable ? (\n loginWithSocialNetwork('Google')}\n >\n \n \n \n \n \n \n \n ) : null}\n {config?.appleLogin?.isAvailable ? (\n loginWithSocialNetwork('Apple')}\n >\n \n \n \n \n \n \n \n ) : null}\n {config?.facebookLogin?.isAvailable ? (\n loginWithSocialNetwork('Facebook')}\n >\n \n \n \n \n \n \n \n ) : null}\n \n \n ) : null}\n \n );\n};\n","import { FormHelperText, styled, Typography } from '@ori-ui/mui';\nimport {\n useApiClient,\n createCustomerRegistration,\n HttpStatusCodes,\n useGetApplicationsSimplifiedRegistrationRequestValidation,\n} from '@ori/global-api-client-react';\nimport type { AxiosError, GlobalCustomerRegistrationsRegistrationDto } from '@ori/global-api-client-react';\nimport type { AxiosRequestConfig } from 'axios';\nimport type { FC } from 'react';\nimport { useRef, useState } from 'react';\nimport ReCAPTCHA from 'react-google-recaptcha';\nimport type { SubmitHandler } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useFormError, useNotificationData } from '../../contexts';\nimport type { IErrors } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { useRegistrationsMetadata } from '../../models/api';\nimport { getErrorLocalizationByCode } from '../../utils';\nimport { PreStepForm } from '../Forms';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n paddingTop: theme.spacing(10),\n}));\n\nconst WrapperCaptcha = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(3),\n}));\n\nexport const PreStep: FC = () => {\n const { data: registrationConfig } = useRegistrationsMetadata();\n const { data: captcha, isValidating } = useGetApplicationsSimplifiedRegistrationRequestValidation();\n\n const [submitSuccess, setSubmitSuccess] = useState(false);\n\n const recaptchaRef = useRef(null);\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const {\n context: { errorData },\n } = useFormError();\n const { setErrorData, customErrors } = errorData;\n\n const submitErrorLoginType = customErrors?.find((er) => er.fieldName === 'LoginType');\n\n const errorMessage = getErrorLocalizationByCode(submitErrorLoginType?.errorCode);\n\n const { registrationType, loginRedirectUrl, referral } = useConfiguration();\n\n const api = useApiClient();\n\n const showCaptcha = !isValidating && captcha?.siteKey && captcha.isMandatory;\n\n const onSubmit: SubmitHandler = async (data) => {\n const captchaToken = await recaptchaRef.current?.executeAsync();\n\n const headers: AxiosRequestConfig['headers'] = {\n 'x-response-key': captchaToken ?? '',\n };\n\n const isNotSocialNetwork = data.loginType === 'Email' || data.loginType === 'Telephone';\n\n try {\n const currentData: GlobalCustomerRegistrationsRegistrationDto = {\n ...data,\n contactEmail: isNotSocialNetwork ? data.contactEmail : undefined,\n contactTelephone: isNotSocialNetwork ? data.contactTelephone : undefined,\n password: isNotSocialNetwork ? data.password : undefined,\n customerId: referral?.CustomerId,\n currentStep: 'Prestep',\n startDate: new Date(),\n sponsorOrigin: referral?.ReferralType,\n sponsorNumber: referral?.ConsultantNumber,\n registrationType,\n };\n const createResponse = await createCustomerRegistration(api, currentData, headers);\n\n const registrationId = createResponse.data;\n const result = new FetchResult(createResponse.status);\n\n if (result.isSuccess()) {\n setSubmitSuccess(true);\n if (customErrors && customErrors.length > 0) {\n setErrorData([]);\n }\n const redirectUrl = `${loginRedirectUrl}?registrationId=${registrationId}`;\n\n const form = document.createElement('form');\n const password = document.createElement('input');\n form.method = 'POST';\n form.action = redirectUrl;\n form.style.display = 'none';\n password.name = 'Password';\n password.value = data.password ?? '';\n form.append(password);\n document.body.append(form);\n form.submit();\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n return (\n \n \n \n \n {submitErrorLoginType ? (\n \n \n \n ) : null}\n \n {showCaptcha ? (\n \n \n \n ) : null}\n \n );\n};\n","import type {\n ApiClient,\n StaticCustomerRegistrationsMetadataRegistrationContactDetailsMetadataDto,\n} from '@ori/static-api-client-react';\nimport {\n getTenantCustomerRegistrationsMetadatumContactDetailsMetadata,\n useApiClient,\n} from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType, type IRegistrationType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchContactMetadata(api: ApiClient, tenant: string, registrationType: IRegistrationType) {\n const emptyContactMetadata: StaticCustomerRegistrationsMetadataRegistrationContactDetailsMetadataDto = {\n isVerificationEnabled: false,\n };\n\n try {\n const response = await getTenantCustomerRegistrationsMetadatumContactDetailsMetadata(api, tenant, registrationType);\n\n return new FetchResult(\n response.status,\n response.data,\n );\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyContactMetadata);\n }\n}\n\nexport const useContactMetadata = () => {\n const { tenant, registrationType } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, registrationType, 'contactMetadata'],\n async () => {\n const result = await fetchContactMetadata(staticApi, tenant, registrationType);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch contact metadata');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import {\n getCustomerRegistrationContactDetails,\n type ApiClient,\n type GlobalCustomerRegistrationsRegistrationContactDetailsDto,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchContactData(api: ApiClient, registrationIdParam: string) {\n const emptyContactData: GlobalCustomerRegistrationsRegistrationContactDetailsDto = {\n isContactVerified: false,\n };\n\n try {\n const response = await getCustomerRegistrationContactDetails(api, registrationIdParam);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyContactData);\n }\n}\n\nexport const useContactData = (reFetchkey?: boolean | string) => {\n const { registrationId } = useConfiguration();\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [registrationId, reFetchkey, 'contactData'],\n async () => {\n const result = await fetchContactData(api, registrationId);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch contact data');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import * as VirtualPageEvent from '@ori-events/virtual-page';\n\nconst pageTitle = 'simplified-registration';\n\nconst virtualPagePahNameMap = new Map([\n ['ContactVerification', 'contact-verification'],\n ['PersonalInfoStep', 'personal-info'],\n ['SponsorSelectionStep', 'sponsor-selection'],\n ['LegalInformationStep', 'legal'],\n ['SubmitStep', 'registration-submited'],\n]);\n\nconst getVirtualPagePathName = (virtualStep: string): string => {\n if (virtualPagePahNameMap.has(virtualStep)) {\n return virtualPagePahNameMap.get(virtualStep) as string;\n }\n\n return 'unknown-step';\n};\n\nconst getVirtualPageURL = (urlBase: string, virtualStep: string, registrationId: string): string =>\n `${urlBase}/${getVirtualPagePathName(virtualStep)}?virtualStep=${virtualStep}®istrationId=${registrationId}`;\n\nconst getPageURL = (registrationId: string, step?: string): string => {\n const urlBase = window.location.origin + window.location.pathname;\n if (!step) {\n return urlBase + window.location.search;\n }\n\n return getVirtualPageURL(urlBase.replace(/\\/+$/, ''), step, registrationId);\n};\n\nexport const virtualPageEventDispatch = (\n currentStep: string | undefined,\n previousStep: string | undefined,\n registrationId: string,\n): void => {\n const virtualPageEventData: VirtualPageEvent.Data = {\n virtualPageTitle: pageTitle,\n previousPageURL: getPageURL(registrationId, previousStep),\n virtualPageURL: getPageURL(registrationId, currentStep),\n };\n\n const event = new CustomEvent(VirtualPageEvent.Name, {\n detail: virtualPageEventData,\n });\n\n window.dispatchEvent(event);\n};\n","import { styled, TextField, Typography } from '@ori-ui/mui';\n\nconst AnchorResend = styled('a')(({ theme }) => ({\n textDecoration: 'underline',\n cursor: 'pointer',\n '&:hover': {\n color: theme.palette.primary.dark,\n },\n}));\n\nconst StyledTextField = styled(TextField)({\n '& input': {\n textAlign: 'center',\n },\n margin: '0 5px',\n width: '50px',\n maxWidth: '100%',\n textAlign: 'center',\n});\n\nconst RootContainer = styled('div')(({ theme }) => ({\n maxWidth: '360px',\n marginTop: theme.spacing(10),\n}));\n\nconst ResendText = styled(Typography)(({ theme }) => ({\n marginTop: theme.spacing(8),\n}));\n\nconst CodeDiv = styled('div')({\n display: 'flex',\n justifyContent: 'space-between',\n});\n\nexport { AnchorResend, StyledTextField, RootContainer, CodeDiv, ResendText };\n","import type { FC, MouseEvent } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../models';\nimport { AnchorResend } from './VerificationStyledComponents';\n\ninterface IResendLinkComponent {\n handleResendCode: (event: MouseEvent) => void;\n isResendDisabled: boolean;\n}\n\nexport const ResendLink: FC = (props) => {\n const { handleResendCode, isResendDisabled } = props;\n\n if (isResendDisabled) {\n return (\n \n );\n }\n\n return (\n \n \n \n );\n};\n","import type { FC, ClipboardEvent } from 'react';\nimport { useRef } from 'react';\n\nimport { StyledTextField } from './VerificationStyledComponents';\n\nexport interface IVerificationCodeInputProps {\n index: number;\n inputRef: (instance: HTMLInputElement, index: number) => void;\n handleInput: (index: number) => void;\n handleDelete: (index: number) => void;\n handlePaste: (event: ClipboardEvent) => void;\n isError: boolean;\n isSubmitting: boolean;\n}\n\nexport const VerificationCodeInput: FC = (props) => {\n const { index, inputRef, handleInput, handleDelete, handlePaste, isError, isSubmitting } = props;\n\n const verificationInputRef = useRef(null);\n\n const onSetInputRef = (instance: HTMLInputElement) => {\n verificationInputRef.current = instance;\n inputRef(instance, index);\n };\n\n const handleVerificationInput = (e: React.ChangeEvent) => {\n // eslint-disable-next-line no-param-reassign -- needs to reassign e.target\n e.target.value = e.target.value.replaceAll(/\\D/g, '');\n if (e.target.value) {\n handleInput(index);\n }\n };\n\n const handleFocus = () => {\n if (verificationInputRef.current) {\n verificationInputRef.current.select();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (!verificationInputRef.current) {\n return;\n }\n\n if (event.key === 'Backspace' || event.key === 'Delete') {\n if (verificationInputRef.current.value) {\n verificationInputRef.current.value = '';\n } else {\n event.preventDefault();\n\n handleDelete(index);\n }\n }\n };\n\n return (\n \n );\n};\n","import useTestId from '@ori/testid-generator';\nimport type { ReactNode, FC, ClipboardEvent } from 'react';\nimport React, { useEffect, useRef, useCallback } from 'react';\n\nimport { Localization } from '../../Localization';\nimport type { IErrorData } from '../../contexts';\nimport { getErrorLocalizationByCode } from '../../utils';\nimport { FormErrorSummary, StyledSubmitError } from '../FormValidationSummary';\nimport { ResendLink } from './ResendLink';\nimport { VerificationCodeInput } from './VerificationCodeInput';\nimport { CodeDiv, ResendText, RootContainer } from './VerificationStyledComponents';\n\ninterface IVerifyProps {\n handleSubmitVerification: (code: string) => void;\n handleResendCode: (event: React.MouseEvent) => void;\n invalidCodeError?: IErrorData;\n isSubmitting: boolean;\n isResendDisabled: boolean;\n}\n\nexport const Verify: FC = (props) => {\n const { handleSubmitVerification, handleResendCode, invalidCodeError, isResendDisabled, isSubmitting } = props;\n\n const codeInputRefs = useRef([]);\n\n const { getTestIdProps } = useTestId();\n\n const submitErrorMessage = getErrorLocalizationByCode(invalidCodeError?.errorCode);\n\n const mountOrUpdate = useCallback(() => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy\n if (codeInputRefs.current && codeInputRefs.current.length > 0) {\n codeInputRefs.current[0]?.focus();\n }\n }, []);\n\n useEffect(() => {\n mountOrUpdate();\n }, [mountOrUpdate]);\n\n const onNumberDelete = (index: number) => {\n const newInputIndex = index - 1;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy\n if (newInputIndex >= 0 && codeInputRefs.current) {\n codeInputRefs.current[newInputIndex]?.focus();\n }\n };\n\n const setInputRef = (instance: HTMLInputElement, index: number) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy\n if (codeInputRefs.current) {\n codeInputRefs.current[index] = instance;\n }\n };\n\n const submitVerification = () => {\n let codeNumbers;\n\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain, @typescript-eslint/no-unnecessary-condition -- needed this condition\n if (codeInputRefs && codeInputRefs.current) {\n codeNumbers = codeInputRefs.current.map((input) => input.value);\n }\n if (codeNumbers?.every((value) => Boolean(value))) {\n const code = codeNumbers.join('');\n handleSubmitVerification(code);\n }\n };\n\n const onNumberInput = (index: number) => {\n const newInputIndex = index + 1;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy\n if (codeInputRefs.current && newInputIndex < codeInputRefs.current.length) {\n codeInputRefs.current[newInputIndex]?.focus();\n } else {\n submitVerification();\n }\n };\n const onPaste = (event: ClipboardEvent) => {\n const pastedCode = event.clipboardData.getData('text/plain');\n const codeLength = codeInputRefs.current.length;\n // eslint-disable-next-line unicorn/prefer-spread -- we need split for this\n const codeArray = pastedCode.split('').slice(0, codeLength);\n codeInputRefs.current.forEach((codeInputRef, index) => {\n if (codeArray[index] && !Number.isNaN(Number(codeArray[index]))) {\n // eslint-disable-next-line no-param-reassign -- we need\n codeInputRef.value = codeArray[index] as string;\n }\n });\n\n if (codeInputRefs.current.length) {\n submitVerification();\n }\n };\n\n const renderVerificationCodeInput = (index: number): ReactNode => (\n \n );\n\n const renderVerificationCodeInputs = (): ReactNode => {\n const codeLength = 6;\n\n return (\n {Array.from({ length: codeLength }).map((_x, index) => renderVerificationCodeInput(index))}\n );\n };\n\n return (\n \n
\n {renderVerificationCodeInputs()}\n {invalidCodeError ? (\n \n \n \n \n \n ) : null}\n \n \n \n \n
\n );\n};\n","import { styled, Typography } from '@ori-ui/mui';\n\nexport const RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n width: '100%',\n}));\n\nexport const StyledTitle = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(3),\n fontWeight: 'bold',\n textAlign: 'center',\n}));\n","import { Typography, Grid, Button, styled } from '@ori-ui/mui';\nimport { useApiClient, updateCustomerRegistrationContactDetails, HttpStatusCodes } from '@ori/global-api-client-react';\nimport type {\n AxiosError,\n GlobalCustomerRegistrationsRegistrationContactDetailsDto,\n} from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC, ReactNode } from 'react';\nimport { useForm, FormProvider } from 'react-hook-form';\nimport type { SubmitHandler } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useFormError, useNotificationData } from '../../contexts';\nimport { useTranslations } from '../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport type { IErrors } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { useContactMetadata, useContactData } from '../../models/api';\nimport { PhoneFieldByConfig, TextFormFieldByConfig } from '../FieldsByConfig';\nimport { StyledTitle } from './StepsStyledComponents';\n\nconst StyledSubTitle = styled(Typography)(({ theme }) => ({\n height: '80px',\n marginBottom: theme.spacing(10),\n textAlign: 'center',\n}));\n\nconst SubmitButtton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(10),\n}));\n\nconst StyledForm = styled('form')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n width: '100%',\n maxWidth: '500px',\n marginTop: theme.spacing(8),\n}));\n\nconst StyledGridContainer = styled(Grid)(({ theme }) => ({\n marginBottom: theme.spacing(10),\n}));\ninterface IVerificationChannelFormProps {\n children?: ReactNode;\n handlePrimaryChannel: () => void;\n}\n\nexport const VerificationChannelForm: FC = (props) => {\n const { handlePrimaryChannel } = props;\n const { data: contactMetadata } = useContactMetadata();\n const { data: contactData } = useContactData();\n\n const { getTestIdProps } = useTestId();\n\n const methods = useForm({\n reValidateMode: 'onSubmit',\n mode: 'onBlur',\n });\n\n const { formState } = methods;\n const { isSubmitting } = formState;\n\n const { formatMessage } = useTranslations();\n\n const api = useApiClient();\n\n const { registrationId } = useConfiguration();\n\n const {\n context: { errorData },\n } = useFormError();\n const { setErrorData } = errorData;\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const isEmailVerification = contactMetadata?.email?.isAvailable;\n\n const handleSubmitChannel: SubmitHandler = async (data) => {\n const correctData: GlobalCustomerRegistrationsRegistrationContactDetailsDto = {\n ...data,\n isContactVerified: Boolean(contactData?.isContactVerified),\n };\n try {\n const updateContactResponse = await updateCustomerRegistrationContactDetails(api, registrationId, correctData);\n\n const result = new FetchResult(updateContactResponse.status);\n\n if (result.isSuccess()) {\n handlePrimaryChannel();\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n const content = isEmailVerification ? (\n \n \n \n \n \n \n \n \n \n \n \n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.EmailPrimaryChannelPlaceholder)}\n keyboardType=\"email\"\n {...contactMetadata.email}\n />\n \n ) : (\n \n \n \n \n \n \n\n \n \n \n \n \n \n }\n labelWithPrefix={\n \n }\n tooltipText={\n \n }\n tooltipWithPrefix={\n \n }\n customPlaceholder={formatMessage(TranslationKey.PhonePrimaryChannelPlaceholder)}\n customPlaceholderWithPrefix={formatMessage(TranslationKey.PhonePrimaryChannelPlaceholderWithPrefix)}\n {...contactMetadata?.telephone}\n />\n \n );\n\n return (\n \n \n {content}\n \n \n \n \n \n );\n};\n","import { styled, CircularProgress } from '@ori-ui/mui';\nimport { memo } from 'react';\n\nconst RootLoader = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n});\n\nexport const VerificationLoading = memo(() => (\n \n \n \n));\n","import { CheckCircle, CheckCircleFilled } from '@ori-ui/icons';\nimport { Typography, styled } from '@ori-ui/mui';\nimport type { AxiosError } from '@ori/global-api-client-react';\nimport {\n HttpStatusCodes,\n createCustomerRegistrationContactDetailsConfirmation,\n updateCustomerRegistrationContactDetails,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport type { FC } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useFormError, useNotificationData, useVirtualPageAnalyticsData } from '../../contexts';\nimport type { IErrors } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { useContactData, useContactMetadata } from '../../models/api';\nimport { virtualPageEventDispatch } from '../../utils';\nimport { BasicSkeleton } from '../BasicSkeleton';\nimport { Verify } from '../Verification';\nimport { StyledTitle } from './StepsStyledComponents';\nimport { VerificationChannelForm } from './VerificationChannelForm';\nimport { VerificationLoading } from './VerificationLoading';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n width: '100%',\n maxWidth: '500px',\n margin: '0 auto',\n marginTop: theme.spacing(4),\n}));\n\nconst VerifyWrapper = styled('div')(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n}));\n\nconst WrapperContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n textAlign: 'center',\n marginTop: theme.spacing(7),\n}));\n\nconst StyledSubTitle = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(8),\n}));\n\nconst VerificationIcon = styled(CheckCircle)(({ theme }) => ({\n fontSize: '60px',\n color: theme.palette.grey.A200,\n}));\n\nconst VerificationIconSuccess = styled(CheckCircleFilled)(({ theme }) => ({\n fontSize: '60px',\n color: theme.palette.primary.main,\n}));\n\ninterface IVerificationStepProps {\n handleVerifySuccess: () => void;\n}\n\nexport const VerificationStep: FC = (props) => {\n const { handleVerifySuccess } = props;\n\n const [isVerification, setIsVerification] = useState(false);\n const [isPrimaryChannel, setIsPrimaryChannel] = useState(false);\n const [isVerified, setIsVerified] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const [resendDisabled, setResendDisabled] = useState(false);\n\n const { data: contactMetadata } = useContactMetadata();\n const { data: contactData } = useContactData(isPrimaryChannel);\n\n const api = useApiClient();\n\n const { registrationId } = useConfiguration();\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors, setErrorData } = errorData;\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep } = virtualPageAnalyticsData;\n\n const isEmailVerification = contactMetadata?.email?.isAvailable;\n const contactTelephone = contactData?.contactTelephone ?? '';\n const contactEmail = contactData?.contactEmail ?? '';\n\n const isLoginWithoutSocialNetwork = contactTelephone || contactEmail;\n\n const invalidCodeError = customErrors?.find((er) => er.fieldName === 'ConfirmationCode');\n\n useEffect(() => {\n virtualPageEventDispatch('ContactVerification', undefined, registrationId);\n setPreviousStep('ContactVerification');\n // eslint-disable-next-line react-hooks/exhaustive-deps -- virtual page event should be fired exacly once, no need to reevaluate\n }, []);\n\n const handleSubmitVerification = async (code: string) => {\n setIsSubmitting(true);\n try {\n const createConfirmResponse = await createCustomerRegistrationContactDetailsConfirmation(api, registrationId, {\n confirmationCode: code,\n });\n const result = new FetchResult(createConfirmResponse.status);\n\n if (result.isSuccess()) {\n setIsVerification(true);\n\n setTimeout(() => {\n setIsVerification(false);\n setIsVerified(true);\n setTimeout(() => {\n handleVerifySuccess();\n setErrorData([]);\n }, 300);\n }, 700);\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n setIsSubmitting(false);\n };\n\n const handleResendCode = async (event: React.MouseEvent) => {\n event.preventDefault();\n\n setResendDisabled(true);\n setTimeout(() => {\n setResendDisabled(false);\n }, 60000);\n if (contactData) {\n try {\n const resendCodeResponse = await updateCustomerRegistrationContactDetails(api, registrationId, contactData);\n const result = new FetchResult(resendCodeResponse.status);\n\n if (result.isSuccess()) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: undefined,\n });\n }\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n const content = isEmailVerification ? (\n \n \n \n \n \n \n \n \n ) : (\n \n \n \n \n \n \n \n \n );\n\n if (!contactData) {\n return ;\n }\n\n return (\n \n {isVerification ? : null}\n {isVerified ? : }\n {!isLoginWithoutSocialNetwork && !isPrimaryChannel ? (\n setIsPrimaryChannel(true)} />\n ) : (\n \n {content}\n \n \n )}\n \n );\n};\n","import { CheckCircleFilled } from '@ori-ui/icons';\nimport { Typography, styled, Button } from '@ori-ui/mui';\nimport { useGetTenantDigitalCatalogueDynamiclink } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useState, useEffect } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useVirtualPageAnalyticsData } from '../../contexts';\nimport { TranslationKey } from '../../models';\nimport { virtualPageEventDispatch, useMobileOperatingSystem } from '../../utils';\n\nconst StyledWelcomeTitle = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(4),\n marginTop: theme.spacing(6),\n fontWeight: 'bold',\n}));\n\nconst WelcomeWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n height: '100%',\n marginTop: theme.spacing(4),\n}));\n\nconst WelcomeActionButton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(8),\n}));\n\nconst WelcomeAppButton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(6),\n backgroundColor: '#F0F9F6',\n color: theme.palette.primary.dark,\n}));\n\nconst VerificationIconSuccess = styled(CheckCircleFilled)(({ theme }) => ({\n fontSize: '60px',\n color: theme.palette.primary.main,\n}));\n\nexport const WelcomeStep: FC = () => {\n const { customerDashboardUrl, registrationId, tenant } = useConfiguration();\n const [isRedirectDisabled, setIsRedirectDisabled] = useState(false);\n const { getTestIdProps } = useTestId();\n const { isMobileOperatingSystem } = useMobileOperatingSystem();\n const {\n virtualPageAnalyticsContext: {\n virtualPageAnalyticsData: { previousStep },\n },\n } = useVirtualPageAnalyticsData();\n const { data: dynamicLink } = useGetTenantDigitalCatalogueDynamiclink(tenant, {\n fallbackToWeb: false,\n clientApplication: 'mv7',\n });\n\n const handleRedirectToDashboard = () => {\n if (customerDashboardUrl) {\n setIsRedirectDisabled(true);\n window.location.href = customerDashboardUrl;\n }\n };\n\n const handleRedirectToApp = () => {\n if (dynamicLink?.link) {\n setIsRedirectDisabled(true);\n window.location.href = dynamicLink.link;\n }\n };\n\n useEffect(() => {\n virtualPageEventDispatch('SubmitStep', previousStep, registrationId);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- virtual page event should be fired exacly once, no need to reevaluate\n }, []);\n\n useEffect(() => {\n // Reset disabled buttons on back navigation for mobile devices\n const handleLocationChange = () => {\n setIsRedirectDisabled(false);\n };\n window.addEventListener('visibilitychange', handleLocationChange);\n\n return () => window.removeEventListener('visibilitychange', handleLocationChange);\n }, []);\n\n return (\n \n \n \n \n \n \n \n \n handleRedirectToDashboard()}\n {...getTestIdProps('welcome-step-btn-welcome')}\n >\n \n \n {isMobileOperatingSystem ? (\n handleRedirectToApp()}\n {...getTestIdProps('welcome-step-btn-welcome')}\n >\n \n \n ) : null}\n \n );\n};\n","declare global {\n interface Window {\n MSStream: string;\n }\n}\nexport const useMobileOperatingSystem = () => {\n const isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n const isAndroid = /(android)/i.test(navigator.userAgent);\n\n return {\n isMobileOperatingSystem: isIOS || isAndroid,\n };\n};\n","import { styled, Stepper as MuiStepper, Step, StepLabel } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\n\nimport { useStepperData } from '../../contexts';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n flexWrap: 'wrap',\n marginTop: theme.spacing(6),\n marginBottom: theme.spacing(9),\n}));\n\nconst StyledStep = styled(Step)(({ theme }) => ({\n textAlign: 'center',\n}));\ninterface IStepperProps {\n steps: string[];\n visibleLables: boolean;\n canChangeStep: boolean;\n}\n\nexport const Stepper: FC = (props) => {\n const { steps, visibleLables, canChangeStep } = props;\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep, setManualChange } = stepperData;\n const { getTestIdProps } = useTestId();\n\n const handleChangeStep = (stepNumber: number) => {\n if (canChangeStep) {\n setManualChange(true);\n setActiveStep(stepNumber);\n }\n };\n\n const stepperWidth = steps.length > 1 ? `${steps.length * 130 - 75}px` : 'auto';\n\n return (\n \n {steps.length > 1 && (\n \n {steps.map((label, index) => (\n handleChangeStep(index)}\n >\n \n {visibleLables ?
label
: null}\n
\n \n ))}\n \n )}\n
\n );\n};\n","import type {\n ApiClient,\n StaticCustomerRegistrationsMetadataRegistrationPersonalDetailsMetadataDto,\n} from '@ori/static-api-client-react';\nimport {\n getTenantCustomerRegistrationsMetadatumPersonalDetailsMetadata,\n useApiClient,\n} from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType, type IRegistrationType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchPersonalMetadata(api: ApiClient, tenant: string, registrationType: IRegistrationType) {\n const emptyPersonalMetadata: StaticCustomerRegistrationsMetadataRegistrationPersonalDetailsMetadataDto = {};\n\n try {\n const response = await getTenantCustomerRegistrationsMetadatumPersonalDetailsMetadata(\n api,\n tenant,\n registrationType,\n );\n\n return new FetchResult(\n response.status,\n response.data,\n );\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyPersonalMetadata);\n }\n}\n\nexport const usePersonalMetadata = () => {\n const { tenant, registrationType } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, registrationType, 'personalMetadata'],\n async () => {\n const result = await fetchPersonalMetadata(staticApi, tenant, registrationType);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch personal metadata');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import {\n getCustomerRegistrationPersonalDetails,\n type ApiClient,\n type GlobalCustomerRegistrationsRegistrationPersonalDetailsDto,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchPersonalData(api: ApiClient, registrationIdParam: string) {\n const emptyPersonalData: GlobalCustomerRegistrationsRegistrationPersonalDetailsDto = {};\n\n try {\n const response = await getCustomerRegistrationPersonalDetails(api, registrationIdParam);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyPersonalData);\n }\n}\n\nexport const usePersonalData = () => {\n const { registrationId } = useConfiguration();\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [registrationId, 'personalData'],\n async () => {\n const result = await fetchPersonalData(api, registrationId);\n\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch personal data');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n revalidateOnFocus: false,\n },\n );\n};\n","// Scroll up on each new step for mobile devices\nexport const scrollTopFunctionHelper = () => {\n document.body.scrollTop = 0; // For Safari\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\n};\n","import { TranslationKey } from '../models';\nimport type { ILabelMapper } from './ILabelMapper';\nimport { Localization } from './Localization';\n\ninterface ILabelMapperTransforms {\n [key: string]: string;\n _default: string;\n}\n\nexport class GenderLabelMapperInternal implements ILabelMapper {\n getLocalizationKey(label: string): JSX.Element | string {\n const transforms: ILabelMapperTransforms = {\n Man: TranslationKey.genderLabelMan,\n Other: TranslationKey.genderLabelOther,\n Woman: TranslationKey.genderLabelWoman,\n _default: label,\n };\n\n const key = (label in transforms ? transforms[label] : transforms._default) as TranslationKey;\n\n return (\n \n );\n }\n}\n\nexport const GenderLabelMapper = new GenderLabelMapperInternal();\n","import { Box, FormControl, FormHelperText, Grid, InputLabel, MenuItem, Select, styled, Typography } from '@ori-ui/mui';\nimport type { GlobalSharedMetadataValidationStringValidationDto } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { ChangeEventHandler, FC, FocusEventHandler, ReactElement } from 'react';\nimport { Controller } from 'react-hook-form';\n\nimport type { ILabelMapper } from '../../../Localization';\nimport { Localization } from '../../../Localization';\nimport { useFormError } from '../../../contexts';\nimport { getErrorLocalizationByCode, renderValidationMessage } from '../../../utils';\n\ninterface ISelectOption {\n label: ReactElement | string;\n value: number | string;\n}\n\ninterface ISelectFormFieldByConfigProps {\n labelMapper?: ILabelMapper;\n options?: ISelectOption[];\n name: string;\n label?: ReactElement | string;\n tooltipText?: ReactElement | string;\n title?: ReactElement | string;\n placeholder?: ReactElement | string;\n isEditable?: boolean;\n isAvailable?: boolean;\n displayOrder?: number;\n onChange?: ChangeEventHandler;\n onBlur?: FocusEventHandler;\n availableOptions?: string[];\n validation?: GlobalSharedMetadataValidationStringValidationDto;\n isAddressMatchRequired?: boolean;\n initialValue?: number | string;\n}\n\nconst SelectWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n marginTop: theme.spacing(0),\n}));\n\nexport const SelectFormFieldByConfig: FC = (props) => {\n const {\n name,\n label,\n title,\n isEditable,\n isAvailable,\n displayOrder,\n options,\n validation,\n initialValue,\n isAddressMatchRequired,\n placeholder,\n labelMapper,\n ...selectField\n } = props;\n\n const { getTestIdProps, getTestId } = useTestId();\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const submitError = customErrors?.find((error) => error.fieldName?.toLowerCase() === name.toLowerCase());\n\n const errorMessage = getErrorLocalizationByCode(submitError?.errorCode);\n\n const regexPattern = validation?.regularExpression ? new RegExp(validation.regularExpression) : undefined;\n\n const renderSelectOption = (item: ISelectOption, index: number): ReactElement => (\n \n {item.label}\n \n );\n\n const availableOptions = selectField.availableOptions?.map((opt) => ({\n label: labelMapper ? labelMapper.getLocalizationKey(opt) : opt,\n value: opt,\n }));\n const currentOptions = availableOptions?.length ? availableOptions : options;\n\n // we need start tabindex from 1 but displayOrder starts from 0\n const correctTabIndex = typeof displayOrder === 'number' ? displayOrder + 1 : displayOrder;\n\n const renderField = () => (\n \n \n {title ? (\n \n {title}\n \n ) : null}\n (\n \n {label}\n \n \n \n {placeholder}\n \n {currentOptions?.map(renderSelectOption)}\n \n \n {fieldState.error ? (\n {renderValidationMessage(fieldState.error)}\n ) : null}\n {submitError ? (\n \n \n \n ) : null}\n \n )}\n />\n \n \n );\n\n const fieldComponent = isAvailable && renderField();\n\n return (\n // eslint-disable-next-line react/jsx-no-useless-fragment -- we need fragment\n <>{fieldComponent}\n );\n};\n","import { DesktopDatePicker, LocalizationProvider } from '@ori-ui/date-pickers';\nimport { InfoCircle } from '@ori-ui/icons';\nimport type { TextFieldProps } from '@ori-ui/mui';\nimport { Box, FormControl, FormHelperText, Grid, styled } from '@ori-ui/mui';\nimport DateAdapter from '@ori-ui/mui/DateAdapter';\nimport { useCulture } from '@ori/culture';\nimport type { GlobalSharedMetadataValidationDateTimeValidationDto } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport { format } from 'date-fns';\nimport type { FC, ReactElement } from 'react';\nimport type { ControllerFieldState } from 'react-hook-form';\nimport { Controller } from 'react-hook-form';\n\nimport { Localization } from '../../../Localization';\nimport { useFormError } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../../models';\nimport { generateDateFormat, getErrorLocalizationByCode, renderValidationMessage } from '../../../utils';\n\ninterface IDatePickerFieldProps {\n name: string;\n label?: ReactElement | string;\n infoText?: ReactElement | string;\n placeholderText?: string;\n isEditable?: boolean;\n isAvailable?: boolean;\n displayOrder?: number;\n validation?: GlobalSharedMetadataValidationDateTimeValidationDto;\n fieldState?: ControllerFieldState;\n defaultDate?: Date;\n invalidMsg: TranslationKey;\n}\n\nconst StyledInfoBox = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n width: '100%',\n fontSize: '12px',\n marginTop: theme.spacing(2),\n color: theme.palette.grey.A400,\n}));\n\nconst StyledInfoCircle = styled(InfoCircle)(({ theme }) => ({\n fontSize: '30px',\n marginRight: theme.spacing(2),\n}));\n\nconst isValidDate = (d?: Date) =>\n // eslint-disable-next-line unicorn/prefer-number-properties, no-restricted-globals --- we needed this solution\n d instanceof Date && !isNaN(d as unknown as number);\n\nconst isValidMax = (d?: Date, max?: Date) => d && max && d.getTime() < max.getTime();\n\nconst isValidMin = (d?: Date, min?: Date) => d && min && d.getTime() > min.getTime();\n\nexport const DatePickerField: FC = (props) => {\n const { name, label, infoText, isEditable, isAvailable, displayOrder, validation, defaultDate, invalidMsg } = props;\n\n const { getTestIdProps, getTestId } = useTestId();\n\n const { culture } = useCulture();\n const { formatMessage } = useTranslations();\n const culturePattern = culture?.calendarFormat?.patterns?.shortDatePattern ?? '';\n\n const dateFormat = generateDateFormat(culturePattern);\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const submitError = customErrors?.find((error) => error.fieldName?.toLowerCase() === name.toLowerCase());\n\n const errorMessage = getErrorLocalizationByCode(submitError?.errorCode, name);\n\n const invalidDateMessage = formatMessage(invalidMsg, {\n correctFormat: dateFormat.toUpperCase(),\n });\n\n const actualDate = new Date();\n actualDate.setFullYear(actualDate.getFullYear() - 18);\n\n const minDate = validation?.minValue ? new Date(validation.minValue) : undefined;\n const maxDate = validation?.maxValue ? new Date(validation.maxValue) : undefined;\n\n const formattedMax = maxDate ? format(maxDate, culturePattern).replaceAll(' ', '') : null;\n const formattedMin = minDate ? format(minDate, culturePattern).replaceAll(' ', '') : null;\n\n const invalidMaxDateMessage = formatMessage(TranslationKey.validationMaxValue, {\n max: formattedMax,\n });\n\n const invalidMinDateMessage = formatMessage(TranslationKey.validationMinValue, {\n min: formattedMin,\n });\n\n const initialDate = defaultDate ? new Date(defaultDate) : actualDate;\n\n // we need start tabindex from 1 but displayOrder starts from 0\n const correctTabIndex = typeof displayOrder === 'number' ? displayOrder + 1 : displayOrder;\n\n const renderInputProps = (fieldState: ControllerFieldState): TextFieldProps => ({\n fullWidth: true,\n variant: 'outlined',\n disabled: !isEditable,\n required: validation?.isMandatory,\n error: !!fieldState.error,\n inputProps: {\n tabIndex: correctTabIndex,\n 'data-testid': getTestId(`${name}-date-field`),\n maxLength: 10, // hardcoded for HR where we hawe this strange form dd.mm.yyyy. and for picker is possible this value 09.09.2000.0\n },\n helperText: fieldState.error ? renderValidationMessage(fieldState.error) : null,\n });\n\n const renderField = () => (\n \n \n {\n if (currentDate && !isValidDate(currentDate)) {\n return invalidDateMessage;\n }\n if (currentDate && maxDate && !isValidMax(currentDate, maxDate)) {\n return invalidMaxDateMessage;\n }\n if (currentDate && minDate && !isValidMin(currentDate, minDate)) {\n return invalidMinDateMessage;\n }\n\n return true;\n },\n }}\n defaultValue={initialDate}\n render={({ field, fieldState }) => (\n \n \n \n {submitError ? (\n \n \n \n ) : null}\n \n \n )}\n />\n {infoText ? (\n \n \n {infoText}\n \n ) : null}\n \n \n );\n\n const fieldComponent = isAvailable && renderField();\n\n return (\n // eslint-disable-next-line react/jsx-no-useless-fragment -- we need fragment\n <>{fieldComponent}\n );\n};\n","export const generateDateFormat = (dateString: string): string => {\n const input = dateString.toLowerCase();\n let result = '';\n let usedDay = false;\n let usedMonth = false;\n let usedYear = false;\n let usedSeparator = false;\n\n for (const char of input) {\n if (char === 'd' && !usedDay) {\n result += 'dd';\n usedDay = true;\n usedSeparator = false;\n }\n if (char === 'm' && !usedMonth) {\n result += 'MM';\n usedMonth = true;\n usedSeparator = false;\n }\n if (char === 'y' && !usedYear) {\n result += 'yyyy';\n usedYear = true;\n usedSeparator = false;\n }\n if ((char === ' ' || char === '/' || char === '-' || char === '.') && !usedSeparator) {\n result += char;\n usedSeparator = true;\n }\n }\n\n return result.trim();\n};\n","import type {\n GlobalCustomersAddressFormatDto,\n GlobalCustomersAddressFormatLineDto,\n GlobalCustomersAddressFormatLineDtoFieldsItem,\n GlobalSharedAddressDto,\n} from '@ori/global-api-client-react';\nimport type {\n StaticCustomersMetadataAddressPropertyDto,\n StaticCustomersMetadataRegistrationAddressMetadataDto,\n} from '@ori/static-api-client-react';\n\nexport const getCorrectFieldsForValidate = (\n fieldsConfig?: StaticCustomersMetadataRegistrationAddressMetadataDto,\n): string[] => {\n const resultFields: string[] = [];\n\n if (fieldsConfig) {\n Object.entries(fieldsConfig).forEach((field: [string, StaticCustomersMetadataAddressPropertyDto]) => {\n if (field[1].isAvailable && field[1].validation?.isAddressMatchRequired) {\n resultFields.push(field[0]);\n }\n });\n }\n\n return resultFields;\n};\n\nexport const getOptionLabelSingleLine = (\n lineNumber: number,\n item: GlobalSharedAddressDto,\n addressFormat: GlobalCustomersAddressFormatDto,\n): string => {\n if (addressFormat.lines[lineNumber]) {\n const { fields, separators } = addressFormat.lines[lineNumber] as GlobalCustomersAddressFormatLineDto;\n let result = '';\n\n fields.forEach((field: string, idx: number) => {\n const correctField = field.charAt(0).toLowerCase() + field.slice(1);\n\n if (correctField === 'zipCode') {\n result += `${item.zipcode}${separators[idx + 1]}`;\n } else {\n const newField = item[correctField as keyof GlobalSharedAddressDto];\n if (newField && newField !== '') {\n result += `${newField}${separators[idx + 1]}`;\n }\n }\n });\n\n return `${separators[0]}${result}${separators.at(-1)}`;\n }\n\n return item.streetAddress ?? '';\n};\n\ntype LowerCaseStreetAddressGlobalCustomersAddressFormatLineDtoFieldsItem = 'streetAddress';\n\nexport const defaultAddressFormat: GlobalCustomersAddressFormatDto = {\n type: 'SingleLine',\n lines: [\n {\n fields: ['streetAddress'] as GlobalCustomersAddressFormatLineDtoFieldsItem &\n LowerCaseStreetAddressGlobalCustomersAddressFormatLineDtoFieldsItem,\n separators: ['', ''],\n },\n ],\n};\n","import { useApiClient, getAddressFormat } from '@ori/global-api-client-react';\nimport type { ApiClient, GlobalCustomersAddressFormatDto } from '@ori/global-api-client-react';\nimport useSWR from 'swr';\n\nimport { useNotificationData } from '../../contexts';\nimport { useTranslations } from '../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../interfaces';\nimport { defaultAddressFormat } from '../../utils';\nimport { FetchResult } from '../FetchResult';\nimport { TranslationKey } from '../TranslationKey_simplified-registration-BrandPartner';\n\nexport type FormatType = 'CustomerMultiLine' | 'MultiLine' | 'SingleLine';\n\nasync function fetchAddressFormatMetadata(api: ApiClient, typeParam: FormatType) {\n const emptyAddressFormatMetadata: GlobalCustomersAddressFormatDto = {\n ...defaultAddressFormat,\n };\n\n try {\n const response = await getAddressFormat(api, typeParam);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyAddressFormatMetadata);\n }\n}\n\nexport const useAddressFormatMetadata = (type: FormatType) => {\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [type, 'addressFormatMetadata'],\n async () => {\n const result = await fetchAddressFormatMetadata(api, type);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch address fromat metadata');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import { HelpCircle, Search } from '@ori-ui/icons';\nimport type { MenuItemTypeMap, TextFieldProps } from '@ori-ui/mui';\nimport { Tooltip, Paper, MenuItem, TextField, InputAdornment, styled } from '@ori-ui/mui';\nimport type {\n GetAddressSuggestionsParams,\n GlobalAddressesLookupAddressNodeDto,\n GlobalAddressesLookupAddressSearchResultDto,\n GlobalAddressesLookupAddressSuggestionsDto,\n GlobalCustomerRegistrationsRegistrationPersonalDetailsDto,\n GlobalCustomerRegistrationsRegistrationSponsorDetailsDto,\n GlobalCustomersAddressDto,\n GlobalCustomersMetadataAddressMetadataDto,\n} from '@ori/global-api-client-react';\nimport { getAddressSearchResult, getAddressSuggestions, useApiClient } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { ControllerStateAndHelpers, GetInputPropsOptions } from 'downshift';\nimport Downshift from 'downshift';\nimport type { KeyboardEvent, FC, ReactNode } from 'react';\nimport React, { useState } from 'react';\nimport type { PathValue, Path } from 'react-hook-form';\nimport { useFormContext } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useNotificationData } from '../../contexts';\nimport { useTranslations } from '../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport type { IAddressNodesFetchParams } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\n\nconst Elevation = 8;\n\ntype AddressWithNodeId = GlobalCustomersAddressDto & {\n nodeId?: string;\n addressSearchResultId?: string;\n};\n\ntype RenderInputProps = TextFieldProps & { ref?: React.Ref };\n\ntype FormDataAddressType = GlobalCustomerRegistrationsRegistrationSponsorDetailsDto['address'];\n\nexport interface IAddressSuggestionListItem {\n addressSummary?: string;\n description?: string;\n count: number;\n pathKey?: string;\n addressNodeId?: string;\n}\n\nexport interface ISuggestionProps {\n itemProps: MenuItemTypeMap<{ button: false }>;\n suggestion: IAddressSuggestionListItem;\n}\n\nexport interface IAddressAutocompleteProps {\n minSearchLength?: number;\n isEditable?: boolean;\n tooltipText?: ReactNode;\n searchedFields?: string[];\n}\n\nconst StyledHelpCircle = styled(HelpCircle)(({ theme }) => ({\n fontSize: '30px',\n color: theme.palette.grey[300],\n}));\n\nexport const AddressAutocomplete: FC = (\n props,\n) => {\n const { searchOptions, isEditable, tooltipText, searchedFields } = props;\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const form = useFormContext<\n GlobalCustomerRegistrationsRegistrationPersonalDetailsDto | GlobalCustomerRegistrationsRegistrationSponsorDetailsDto\n >();\n const { getTestId } = useTestId();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n const values = form.watch();\n const errorKeys = Object.keys(form.formState.errors.address ?? {});\n\n const isErrors = searchedFields?.some((sf) => errorKeys.includes(sf));\n\n const [value, setValue] = useState('');\n const [suggestions, setSuggestions] = useState([]);\n const [isOpenSelect, setOpen] = useState(false);\n const [isItemClicked, setItemClicked] = useState(false);\n const [lastSearchedText, setLastSearchedText] = useState('');\n\n const countryValue = values.address?.country;\n\n let minSearchLength = 3;\n const defaultMaxResults = 10;\n\n if (props.minSearchLength) {\n minSearchLength = props.minSearchLength;\n }\n\n const handleSearchTextChange = (event: React.ChangeEvent): void => {\n setValue(event.target.value);\n };\n\n const search = async (\n options: IAddressNodesFetchParams,\n ): Promise> => {\n const { searchText, top, country, pathKey }: IAddressNodesFetchParams = options;\n const emptySuggestionsResponse: GlobalAddressesLookupAddressSuggestionsDto = {\n addressSuggestionsCollection: [],\n };\n\n if (!searchText) {\n return FetchResult.errorFor(emptySuggestionsResponse);\n }\n const apiParams: GetAddressSuggestionsParams = {\n SearchText: searchText,\n Top: top,\n Country: country,\n PathKey: pathKey,\n };\n\n try {\n const nodes = await getAddressSuggestions(api, apiParams);\n\n return new FetchResult(nodes.status, nodes.data);\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n\n return FetchResult.errorFor(emptySuggestionsResponse);\n };\n\n const getAddress = async (\n nodeId: string,\n country?: string,\n ): Promise> => {\n const emptyAddressResponse: GlobalAddressesLookupAddressSearchResultDto = {\n type: 'Area',\n };\n\n try {\n const addressNode = await getAddressSearchResult(api, nodeId, { country });\n\n return new FetchResult(addressNode.status, addressNode.data);\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n\n return FetchResult.errorFor(emptyAddressResponse);\n };\n\n const getStateAddressSuggestions = async (\n searchText: string,\n pathKey?: string,\n ): Promise => {\n if (searchText.length >= minSearchLength) {\n const addressNodesResult = await search({\n searchText,\n top: searchOptions?.maxResults ?? defaultMaxResults,\n country: countryValue,\n pathKey,\n });\n const { response } = addressNodesResult;\n\n if (response?.addressSuggestionsCollection) {\n const addressSuggestions: IAddressSuggestionListItem[] = response.addressSuggestionsCollection.map((node) => ({\n addressSummary: node.addressSummary,\n description: node.description,\n count: node.count,\n pathKey: node.pathKey,\n addressNodeId: node.addressNodeId,\n }));\n\n return addressSuggestions;\n }\n\n return null;\n }\n\n return [];\n };\n\n const handleOnClick = async (): Promise => {\n if (value !== '' && !isOpenSelect) {\n const suggestedAddresses = await getStateAddressSuggestions(value);\n if (suggestedAddresses != null) {\n setSuggestions(suggestedAddresses);\n setOpen(true);\n }\n }\n };\n\n const renderInput = (inputProps: RenderInputProps) => {\n const { InputProps, ref, ...other }: RenderInputProps = inputProps;\n const componentProps = {\n inputRef: ref,\n ...InputProps,\n autoComplete: 'off',\n };\n\n return (\n \n );\n };\n\n const renderAddressSuggestionItem = (suggestion: IAddressSuggestionListItem): JSX.Element => {\n const addressSummary = `${suggestion.addressSummary} `;\n\n return (\n
\n {suggestion.description}\n
\n {addressSummary}\n {suggestion.count !== 1 && (\n \n )}\n
\n );\n };\n\n const renderSuggestion = (suggestionProps: ISuggestionProps) => {\n const { suggestion, itemProps }: ISuggestionProps = suggestionProps;\n\n return (\n \n {renderAddressSuggestionItem(suggestion)}\n \n );\n };\n\n const renderSuggestions = (options: ControllerStateAndHelpers) => {\n const { getItemProps }: ControllerStateAndHelpers = options;\n let items = [\n \n \n ,\n ];\n\n if (suggestions.length > 0) {\n items = suggestions.map((suggestion, index) => {\n const suggestionProps = {\n index,\n suggestion,\n itemProps: getItemProps({ item: suggestion }) as MenuItemTypeMap<{ button: false }>,\n };\n\n return renderSuggestion(suggestionProps);\n });\n }\n\n return (\n \n {items}\n \n );\n };\n\n const mapNodeToAddress = (node: GlobalAddressesLookupAddressNodeDto): AddressWithNodeId => {\n const result: AddressWithNodeId = values.address as GlobalCustomersAddressDto;\n\n Object.keys(node)\n .filter((nodeKey) => node[nodeKey as keyof GlobalAddressesLookupAddressNodeDto])\n .forEach((nodeKey) => {\n const addressNodeKey = nodeKey as keyof GlobalAddressesLookupAddressNodeDto;\n const addressValue = node[addressNodeKey] as string;\n if (addressNodeKey === 'street') {\n result.streetAddress = addressValue;\n } else if (addressNodeKey === 'zipCode') {\n result.zipcode = addressValue;\n } else if (addressNodeKey !== 'type' && addressNodeKey !== 'buildingDetails') {\n result[addressNodeKey] = addressValue;\n }\n });\n\n return result;\n };\n\n const handleAutocompleteKeyUp = async (event: KeyboardEvent): Promise => {\n const searchInput = event.target as HTMLInputElement;\n if (searchInput.value === '') {\n setSuggestions([]);\n setValue('');\n setOpen(false);\n }\n\n const searchText = searchInput.value.trimStart();\n setValue(searchText);\n setLastSearchedText(searchText);\n const suggestedAddresses = await getStateAddressSuggestions(searchText);\n if (suggestedAddresses != null && searchText !== lastSearchedText) {\n setSuggestions(suggestedAddresses);\n setOpen(true);\n }\n };\n\n const getAutocompleteContent = (options: ControllerStateAndHelpers) => {\n const { getInputProps, isOpen }: ControllerStateAndHelpers = options;\n\n const { onBlur, onFocus, ...inputProps }: GetInputPropsOptions = getInputProps({\n onKeyUp: handleAutocompleteKeyUp,\n placeholder: formatMessage(TranslationKey.searchForAnAddress),\n });\n const mergedInputProps: RenderInputProps = {\n InputProps: {\n onBlur,\n onFocus,\n startAdornment: (\n \n \n \n ),\n endAdornment: tooltipText ? (\n \n \n \n ) : undefined,\n },\n fullWidth: true,\n inputProps: { ...inputProps, autoComplete: 'off', value },\n error: isErrors,\n required: true,\n label: (\n \n ),\n helperText: isErrors ? (\n \n ) : null,\n };\n\n return (\n
\n {renderInput(mergedInputProps)}\n {isOpen ? renderSuggestions(options) : null}\n
\n );\n };\n\n const handleAddressSuggestionItemSelect = async (item: IAddressSuggestionListItem | null): Promise => {\n if (isItemClicked) {\n return;\n }\n try {\n setItemClicked(true);\n if (item && item.pathKey == null) {\n if (item.addressNodeId) {\n const address = await getAddress(item.addressNodeId, countryValue);\n\n setValue('');\n setSuggestions([]);\n setOpen(false);\n if (address.response) {\n const correctAddress = Object.entries(mapNodeToAddress(address.response)) as Array<\n [Path, PathValue>]\n >;\n correctAddress.forEach((entry) => {\n const [name, inputValue] = entry;\n\n form.setValue(`address.${name}`, inputValue, {\n shouldDirty: true,\n shouldTouch: true,\n shouldValidate: searchedFields?.includes(name),\n });\n });\n }\n }\n } else {\n const suggestedAddresses = await getStateAddressSuggestions(value, item?.pathKey);\n if (suggestedAddresses != null) {\n setSuggestions(suggestedAddresses);\n setOpen(true);\n }\n }\n } finally {\n setItemClicked(false);\n }\n };\n\n const handleDownshiftOuterClick = () => {\n setOpen(false);\n };\n\n return (\n \n {(options) => getAutocompleteContent(options)}\n \n );\n};\n","import { styled, Grid, Typography, Box } from '@ori-ui/mui';\nimport type { GlobalCustomerRegistrationsRegistrationPersonalDetailsDto } from '@ori/global-api-client-react';\nimport type { StaticCustomersMetadataRegistrationAddressMetadataDto } from '@ori/static-api-client-react';\nimport type { FC } from 'react';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../../models';\nimport { useAddressFormatMetadata } from '../../../models/api';\nimport { defaultAddressFormat, getCorrectFieldsForValidate, getOptionLabelSingleLine } from '../../../utils';\nimport { AddressAutocomplete } from '../../AddressAutocomplete';\nimport { SelectFormFieldByConfig, TextFormFieldByConfig } from '../../FieldsByConfig';\n\nconst StyledGridItem = styled(Grid)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n order: 10,\n}));\n\nconst StyledTitle = styled(Typography)(({ theme }) => ({\n fontWeight: 'bold',\n marginBottom: theme.spacing(5),\n}));\n\nconst StyledSingleLineLabel = styled(Typography)(({ theme }) => ({\n display: 'flex',\n width: '100%',\n marginBottom: theme.spacing(2),\n marginTop: theme.spacing(3),\n}));\n\nconst StyledSingleLineAddress = styled(Typography)(({ theme }) => ({\n wordWrap: 'break-word',\n}));\n\ninterface IPersonalDetailsFormProps {\n configAddress?: StaticCustomersMetadataRegistrationAddressMetadataDto;\n actualValues?: GlobalCustomerRegistrationsRegistrationPersonalDetailsDto;\n useUpperCaseAddress?: boolean;\n}\n\nexport const AddressSection: FC = (props) => {\n const { configAddress, actualValues, useUpperCaseAddress } = props;\n\n const { data: formatAddressFields } = useAddressFormatMetadata('SingleLine');\n\n const { formatMessage } = useTranslations();\n\n const canCreate = configAddress?.operations?.create?.isEnabled;\n const canUpdate = configAddress?.operations?.update?.isEnabled;\n const canDelete = configAddress?.operations?.delete?.isEnabled;\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- we need logical operator ||\n const canEdit = Boolean(canCreate || canUpdate || canDelete);\n\n const formatedAddress = actualValues?.address?.zipcode\n ? getOptionLabelSingleLine(0, actualValues.address, formatAddressFields ?? defaultAddressFormat)\n : null;\n\n const fieldsForValidateInSearch = getCorrectFieldsForValidate(configAddress);\n\n const singleLineAddress = formatedAddress ? (\n <>\n \n \n \n {formatedAddress}\n \n ) : null;\n\n const getAddressAutocomplete = () => {\n if (configAddress?.searchOptions?.isEnabled) {\n return (\n \n \n }\n isEditable={canEdit}\n />\n {singleLineAddress}\n \n );\n }\n\n return null;\n };\n\n const addressAutocomplete = getAddressAutocomplete();\n\n return (\n \n {configAddress?.searchOptions?.isEnabled ? (\n \n \n \n ) : null}\n {addressAutocomplete}\n \n }\n placeholder={\n \n }\n tooltipText={\n \n }\n {...configAddress?.country}\n />\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.zipcode_Placeholder)}\n isAddressMatchRequired={configAddress?.zipcode?.validation?.isAddressMatchRequired}\n />\n \n }\n customPlaceholder={formatMessage(TranslationKey.streetAddress_Placeholder)}\n tooltipText={\n \n }\n isAddressMatchRequired={configAddress?.streetAddress?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.streetAddress?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.city_Placeholder)}\n isAddressMatchRequired={configAddress?.city?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.city?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.province_Placeholder)}\n isAddressMatchRequired={configAddress?.province?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.province?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.delivery_Placeholder)}\n isEditable={!!(canEdit && configAddress?.delivery?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.delivery2_Placeholder)}\n isEditable={!!(canEdit && configAddress?.delivery2?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.delivery3_Placeholder)}\n isEditable={!!(canEdit && configAddress?.delivery3?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.area_Placeholder)}\n isAddressMatchRequired={configAddress?.area?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.area?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.locality_Placeholder)}\n isAddressMatchRequired={configAddress?.locality?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.locality?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.district_Placeholder)}\n isAddressMatchRequired={configAddress?.district?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.district?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.region_Placeholder)}\n isAddressMatchRequired={configAddress?.region?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.region?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n \n );\n};\n","import { styled, Grid, Button } from '@ori-ui/mui';\nimport type { GlobalCustomerRegistrationsRegistrationPersonalDetailsDto } from '@ori/global-api-client-react';\nimport type { StaticCustomerRegistrationsMetadataRegistrationPersonalDetailsMetadataDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useForm, FormProvider } from 'react-hook-form';\n\nimport { Localization, GenderLabelMapper } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useFormError } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../../models';\nimport {\n DatePickerField,\n PhoneFieldByConfig,\n SelectFormFieldByConfig,\n TextFormFieldByConfig,\n} from '../../FieldsByConfig';\nimport { FormValidationSummary } from '../../FormValidationSummary';\nimport { AddressSection } from './AddressSection';\n\nconst StyledForm = styled('form')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n marginTop: theme.spacing(8),\n}));\n\nconst SubmitButtton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(3),\n order: 20,\n}));\n\ninterface IPersonalDetailsFormProps {\n initialData?: GlobalCustomerRegistrationsRegistrationPersonalDetailsDto;\n config?: StaticCustomerRegistrationsMetadataRegistrationPersonalDetailsMetadataDto;\n isSuccessSubmit: boolean;\n onSubmitForm: (data: GlobalCustomerRegistrationsRegistrationPersonalDetailsDto) => void;\n}\n\nexport const PersonalDetailsForm: FC = (props) => {\n const { initialData, config, isSuccessSubmit, onSubmitForm } = props;\n\n const { formatMessage } = useTranslations();\n\n const { customerServiceUrl } = useConfiguration();\n\n const { getTestIdProps } = useTestId();\n\n const datePickerPlaceholder = formatMessage(TranslationKey.FirstStep_PlaceHolder);\n\n const methods = useForm({\n defaultValues: initialData,\n reValidateMode: 'onChange',\n mode: 'onBlur',\n });\n\n const { formState, watch } = methods;\n const { isSubmitting } = formState;\n\n const formValues = watch();\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const invalidCodeErrors = customErrors?.filter(\n (er) =>\n !Object.keys(formValues)\n .map((val) => val.toLowerCase())\n .includes(er.fieldName?.toLowerCase() ?? ''),\n );\n\n return (\n \n \n \n \n \n }\n tooltipText={\n \n }\n {...config?.firstName}\n useUpperCase={config?.useUpperCase?.isEnabled}\n />\n \n ) : (\n \n )\n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.FirstStep_PlaceholderEmail)}\n keyboardType=\"email\"\n {...config?.contactEmail}\n />\n \n ) : (\n \n )\n }\n labelWithPrefix={\n \n }\n tooltipText={\n \n }\n tooltipWithPrefix={\n \n }\n customPlaceholder={formatMessage(TranslationKey.FirstStep_PlaceholderPhone)}\n customPlaceholderWithPrefix={formatMessage(TranslationKey.FirstStep_PlaceholderPhoneWithPrefix)}\n initialValue={formValues.contactTelephone}\n {...config?.contactTelephone}\n />\n {config?.address?.operations?.read?.isEnabled ? (\n \n ) : (\n \n }\n placeholder={\n \n }\n tooltipText={\n \n }\n {...config?.address?.country}\n />\n )}\n\n \n }\n tooltipText={\n \n }\n {...config?.lastName}\n useUpperCase={config?.useUpperCase?.isEnabled}\n />\n \n }\n tooltipText={\n \n }\n {...config?.uniqueId}\n />\n \n }\n labelMapper={GenderLabelMapper}\n placeholder={\n \n }\n {...config?.gender}\n />\n \n }\n infoText={\n \n }\n placeholderText={datePickerPlaceholder}\n invalidMsg={TranslationKey.validationBirthDateRegex}\n {...config?.birthDate}\n />\n \n \n \n \n \n \n );\n};\n","import { Typography } from '@ori-ui/mui';\nimport { useApiClient, updateCustomerRegistrationPersonalDetails, HttpStatusCodes } from '@ori/global-api-client-react';\nimport type {\n GlobalSharedAddressDtoAddressType,\n AxiosError,\n GlobalCustomerRegistrationsRegistrationPersonalDetailsDto,\n} from '@ori/global-api-client-react';\nimport type { FC } from 'react';\nimport { useState, useEffect } from 'react';\nimport type { SubmitHandler } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport {\n useConfiguration,\n useNotificationData,\n useStepperData,\n useFormError,\n useVirtualPageAnalyticsData,\n} from '../../contexts';\nimport type { IErrors } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { usePersonalData, usePersonalMetadata } from '../../models/api';\nimport { scrollTopFunctionHelper, virtualPageEventDispatch } from '../../utils';\nimport { BasicSkeleton } from '../BasicSkeleton';\nimport { PersonalDetailsForm } from '../Forms';\nimport { RootContainer, StyledTitle } from './StepsStyledComponents';\n\nexport const PersonalStep: FC = () => {\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep } = stepperData;\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const [submitSuccess, setSubmitSuccess] = useState(false);\n\n const { registrationId } = useConfiguration();\n\n const { data: personalConfig } = usePersonalMetadata();\n const { data: personalInitialData, isValidating } = usePersonalData();\n\n const {\n context: { errorData },\n } = useFormError();\n const { setErrorData, customErrors } = errorData;\n\n const api = useApiClient();\n\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep, previousStep } = virtualPageAnalyticsData;\n\n useEffect(() => {\n scrollTopFunctionHelper();\n }, []);\n\n useEffect(() => {\n virtualPageEventDispatch('PersonalInfoStep', previousStep, registrationId);\n setPreviousStep('PersonalInfoStep');\n // eslint-disable-next-line react-hooks/exhaustive-deps -- virtual page event should be fired exacly once, no need to reevaluate\n }, []);\n\n const onSubmit: SubmitHandler = async (data) => {\n const actualHours = new Date().getHours();\n const currentBirthDate = data.birthDate;\n // fix for bad time shift to previous day when fill text field in datepicker\n currentBirthDate?.setHours(actualHours, 0, 0);\n let currentAddress = null;\n if (data.address) {\n currentAddress = {\n address: {\n ...data.address,\n country: data.address.country,\n addressType: 'Delivery' as GlobalSharedAddressDtoAddressType,\n },\n };\n }\n\n try {\n const updateResponse = await updateCustomerRegistrationPersonalDetails(api, registrationId, {\n ...data,\n ...currentAddress,\n birthDate: currentBirthDate,\n });\n const result = new FetchResult(updateResponse.status);\n\n if (result.isSuccess()) {\n setSubmitSuccess(true);\n setActiveStep(activeStep + 1);\n if (customErrors && customErrors.length > 0) {\n setErrorData([]);\n }\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n if (isValidating) {\n return ;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n","import type {\n ApiClient,\n StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto,\n} from '@ori/static-api-client-react';\nimport {\n getTenantCustomerRegistrationsMetadatumLegalDetailsMetadata,\n useApiClient,\n} from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType, type IRegistrationType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchLegalMetadata(api: ApiClient, tenant: string, registrationType: IRegistrationType) {\n const emptyLegalMetadata: StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto = {};\n\n try {\n const response = await getTenantCustomerRegistrationsMetadatumLegalDetailsMetadata(api, tenant, registrationType);\n\n return new FetchResult(\n response.status,\n response.data,\n );\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyLegalMetadata);\n }\n}\n\nexport const useLegalMetadata = () => {\n const { tenant, registrationType } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, registrationType, 'legalMetadata'],\n async () => {\n const result = await fetchLegalMetadata(staticApi, tenant, registrationType);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch legal metadata');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import type { GlobalSharedApprovalDto } from '@ori/global-api-client-react';\n\nexport const applyNegative = (data: GlobalSharedApprovalDto, isNegative: boolean): GlobalSharedApprovalDto => {\n if (isNegative) {\n const negative: GlobalSharedApprovalDto = {\n personalData: !data.personalData,\n contact: !data.contact,\n marketingOriflame: !data.marketingOriflame,\n marketingExternal: !data.marketingExternal,\n publication: !data.publication,\n newsletters: !data.newsletters,\n uplineLeaderData: !data.uplineLeaderData,\n uplineLeaderBrowse: !data.uplineLeaderBrowse,\n orderHistory: !data.orderHistory,\n marketingConsultant: !data.marketingConsultant,\n blockGuaranteeOrdering: !data.blockGuaranteeOrdering,\n optedOutOfSponsorSelect: !data.optedOutOfSponsorSelect,\n };\n\n return negative;\n }\n\n return data;\n};\n","import {\n getCustomerRegistrationLegalDetails,\n type ApiClient,\n type GlobalCustomerRegistrationsRegistrationLegalDetailsDto,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { applyNegative } from '../../../utils';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchLegalData(api: ApiClient, registrationIdParam: string, isNegativeParam: boolean) {\n const emptyLegalData: GlobalCustomerRegistrationsRegistrationLegalDetailsDto = {\n isReseller: false,\n confirmation1: false,\n confirmation2: false,\n };\n\n try {\n const response = await getCustomerRegistrationLegalDetails(api, registrationIdParam);\n const { approvals } = response.data;\n\n const currentData: GlobalCustomerRegistrationsRegistrationLegalDetailsDto = {\n ...response.data,\n approvals: approvals && applyNegative(approvals, isNegativeParam),\n };\n\n return new FetchResult(response.status, { ...currentData });\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyLegalData);\n }\n}\n\nexport const useLegalData = (isNegative: boolean) => {\n const { registrationId } = useConfiguration();\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [registrationId, isNegative, 'legalData'],\n async () => {\n const result = await fetchLegalData(api, registrationId, isNegative);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch legal data');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import { Grid, Box, FormControlLabel, Checkbox, FormHelperText, FormControl, styled } from '@ori-ui/mui';\nimport type { GlobalSharedMetadataValidationStringValidationDto } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FocusEventHandler, FC, ChangeEvent, ReactElement } from 'react';\nimport { Controller } from 'react-hook-form';\n\nimport { renderValidationMessage } from '../../../utils';\n\nconst StyledFormControlLabel = styled(FormControlLabel)(({ theme }) => ({\n alignItems: 'start',\n}));\n\nconst StyledCheckbox = styled(Checkbox)(({ theme }) => ({\n paddingTop: theme.spacing(0),\n}));\n\nexport interface ICheckboxFormFieldByConfigProps {\n name: string;\n label?: ReactElement | string;\n isAvailable?: boolean;\n displayOrder?: number;\n validation?: GlobalSharedMetadataValidationStringValidationDto;\n defaultValue?: boolean;\n value?: boolean;\n onChange?: (event: ChangeEvent, checked: boolean) => void;\n onBlur?: FocusEventHandler;\n}\n\nconst customRequiredFields = new Set(['confirmation1', 'confirmation2', 'termsAndConditions']);\n\nexport const CheckboxFormFieldByConfig: FC = (props) => {\n const { name, label, isAvailable, displayOrder, defaultValue, validation, value, onChange } = props;\n\n const { getTestIdProps } = useTestId();\n\n const customRequired = customRequiredFields.has(name);\n\n const renderField = () => (\n \n \n (\n \n \n }\n label={label ?? ''}\n id={name}\n />\n {fieldState.error ? {renderValidationMessage(fieldState.error)} : null}\n \n )}\n />\n \n \n );\n\n const fieldComponent = isAvailable && renderField();\n\n return (\n // eslint-disable-next-line react/jsx-no-useless-fragment -- we need fragment\n <>{fieldComponent}\n );\n};\n","import type { AxiosRequestConfig } from 'axios';\n\nimport { useConfiguration } from '../contexts';\n\nexport const useCustomHeaders = (): AxiosRequestConfig['headers'] => {\n const { tenant, registrationId } = useConfiguration();\n\n const headers: AxiosRequestConfig['headers'] = {\n 'x-tenant-context': tenant,\n 'x-registration-id': registrationId,\n };\n\n return headers;\n};\n","import type { AxiosError, GlobalCustomerRegistrationsRegistrationDto } from '@ori/global-api-client-react';\nimport { getCustomerRegistration, HttpStatusCodes, useApiClient } from '@ori/global-api-client-react';\nimport { useEffect, useState } from 'react';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\n// this api not calling with swr, because we have some problem with cache\nexport const useRegistrationData = (reFetchkey?: string) => {\n const [registrationData, setRegistrationData] = useState();\n\n const { tenant, registrationId, registrationType } = useConfiguration();\n const api = useApiClient();\n const { formatMessage } = useTranslations();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const navigateConsultantUrl = `/join-us/self-registration`;\n const navigateVipUrl = `/join-us/self-vip-registration`;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n useEffect(() => {\n const getData = async () => {\n if (registrationId) {\n try {\n const getResponse = await getCustomerRegistration(api, registrationId);\n const result = new FetchResult(getResponse.status);\n\n if (result.isSuccess()) {\n setRegistrationData(getResponse.data);\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n const statusNotFound = errorResponse.response?.status === HttpStatusCodes.status404NotFound;\n\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n\n if (statusNotFound) {\n window.location.href = registrationType === 'VipCustomer' ? navigateVipUrl : navigateConsultantUrl;\n }\n }\n }\n };\n getData();\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed updated on other property\n }, [tenant, registrationId, reFetchkey]);\n\n return { data: registrationData };\n};\n","import { useMediaQuery, useTheme } from '@ori-ui/mui';\n\nexport const useIsMobile = () => {\n const theme = useTheme();\n\n return useMediaQuery(theme.breakpoints.down('sm'));\n};\n","import { Typography, Link, styled } from '@ori-ui/mui';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../models';\nimport { useIsMobile } from '../../utils';\n\nconst RootDiv = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n}));\n\nconst StyledTypography = styled(Typography)<{\n ownerState: { expanded: boolean; visibleMoreButton: boolean; height: number };\n}>(({ theme, ownerState: { expanded = false, visibleMoreButton = true, height = 0 } }) => ({\n position: 'relative',\n display: 'block',\n height: expanded ? `${height}px` : visibleMoreButton ? 'calc(3 * 1em * 1.4)' : 'auto',\n lineHeight: 1.4,\n marginTop: theme.spacing(6),\n transition: 'all .2s',\n overflow: visibleMoreButton ? 'hidden' : 'visible',\n marginBottom: visibleMoreButton ? theme.spacing(0) : theme.spacing(6),\n}));\n\nconst OverlayWrapper = styled('div')<{ ownerState: { expanded: boolean } }>(({ ownerState: { expanded = false } }) => ({\n position: 'absolute',\n top: 0,\n height: expanded ? 0 : 'calc(3em * 1.4)',\n width: '100%',\n background: 'linear-gradient(to bottom, transparent, white)',\n}));\n\nconst StyledLink = styled(Link)<{ ownerState: { expanded: boolean } }>(\n ({ theme, ownerState: { expanded = false } }) => ({\n paddingBottom: 0,\n color: theme.palette.text.primary,\n fontSize: '12px',\n fontWeight: 'bold',\n textTransform: 'uppercase',\n marginTop: expanded ? theme.spacing(2) : theme.spacing(3),\n marginBottom: theme.spacing(6),\n cursor: 'pointer',\n '& > span': {\n paddingBottom: theme.spacing(1),\n borderBottom: `2px solid ${theme.palette.grey[900]}`,\n lineHeight: 1,\n },\n }),\n);\n\ninterface IExpandableTextBlock {\n children: JSX.Element | string;\n dataTestId?: string;\n}\n\nexport const ExpandableTextBlock = (props: IExpandableTextBlock) => {\n const [isExpanded, setIsExpanded] = useState(false);\n const [customTextHeight, setCustomTextHeight] = useState(0);\n\n const { dataTestId, children } = props;\n const isMobile = useIsMobile();\n\n const customTextRef = useRef(null);\n const customTextVisibilityLength = isMobile ? 300 : 440;\n const customTextLength = customTextRef.current?.innerText.length ?? 0;\n const customTextClientHeight = customTextRef.current?.clientHeight ?? 0;\n const isMoreTextVisible = customTextLength >= customTextVisibilityLength;\n\n const onResize = useCallback(() => {\n window.addEventListener('resize', () => setCustomTextHeight(customTextClientHeight));\n }, [customTextClientHeight]);\n\n useEffect(() => {\n setCustomTextHeight(customTextClientHeight);\n onResize();\n }, [customTextClientHeight, customTextRef, onResize]);\n\n const expandButton = (\n setIsExpanded(!isExpanded)}\n >\n {isExpanded ? (\n \n ) : (\n \n )}\n \n );\n\n return (\n \n \n
{children}
\n {isMoreTextVisible ? : null}\n \n {isMoreTextVisible ? expandButton : null}\n
\n );\n};\n","import { ArrowLeftThin } from '@ori-ui/icons';\nimport { styled, Typography, Button } from '@ori-ui/mui';\n\nexport const StyledForm = styled('form')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n width: '100%',\n marginTop: theme.spacing(8),\n}));\n\nexport const SubmitButtton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(3),\n order: 50,\n}));\n\nexport const BackButtton = styled(Button)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'space-between',\n minWidth: '60px',\n marginTop: theme.spacing(2),\n}));\n\nexport const StyledArrowIcon = styled(ArrowLeftThin)(({ theme }) => ({\n marginRight: theme.spacing(1),\n}));\n\nexport const DocumentInfoWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n width: '100%',\n justifyContent: 'flex-start',\n flexDirection: 'column',\n alignItems: 'flex-start',\n}));\n\nexport const ConditionsInfoWrapper = styled('div')(({ theme }) => ({\n margin: theme.spacing(2, 0),\n\n [theme.breakpoints.up('sm')]: {\n marginTop: theme.spacing(6),\n },\n}));\n\nexport const ConditionTitle = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(4),\n}));\n\nexport const PolicyText = styled(Typography)(({ theme }) => ({\n marginTop: theme.spacing(1),\n textAlign: 'left',\n}));\n\nexport const CollapseBox = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n fontSize: '12px',\n fontWeight: 'bold',\n cursor: 'pointer',\n}));\n\nexport const StyledLink = styled('a')(({ theme }) => ({\n color: theme.palette.text.primary,\n textDecoration: 'underline',\n '&:hover': {\n color: theme.palette.primary.light,\n textDecoration: 'underline',\n },\n}));\n","import { Typography } from '@ori-ui/mui';\nimport type {\n GlobalCustomerRegistrationsRegistrationLegalDetailsDto,\n GlobalCustomersRequiredTermDto,\n} from '@ori/global-api-client-react';\nimport { getCustomerRequiredTerms, useApiClient } from '@ori/global-api-client-react';\nimport type { StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useCallback, useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { Localization, ContentKeys } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { GetContent, useConfiguration, useNotificationData } from '../../contexts';\nimport { useCustomHeaders } from '../../hooks';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { useRegistrationData } from '../../models/api';\nimport { ExpandableTextBlock } from '../ExpandableTextBlock';\nimport { CheckboxFormFieldByConfig } from '../FieldsByConfig';\nimport { StyledLink, PolicyText } from '../Forms/LegalForm/StyledComponentsLegalForm';\nimport { Loading } from '../Loading';\n\ninterface TermsConditionsCheckboxProps {\n config?: StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto;\n}\n\nexport const TermsConditionsCheckbox: FC = (props) => {\n const { config } = props;\n\n const notificationStore = useNotificationData().context.notificationData;\n\n const { tenant } = useConfiguration();\n const headers = useCustomHeaders();\n\n const api = useApiClient();\n\n const { getTestId } = useTestId();\n\n const [terms, setTerms] = useState();\n const [showPrivacyPolicy, setShowPrivacyPolicy] = useState(false);\n\n const { data: registrationData } = useRegistrationData();\n\n const form = useFormContext();\n\n const { watch, setValue, trigger } = form;\n\n const isCustomTextAvailable = config?.customText?.isEnabled;\n\n const getTerms = useCallback(async () => {\n try {\n if (registrationData?.customerId) {\n const termsResponse = await getCustomerRequiredTerms(api, registrationData.customerId, {}, headers);\n const result = new FetchResult(termsResponse.status);\n if (result.isSuccess() && termsResponse.data.collection.length > 0) {\n const isShowPrivacyPolicy = termsResponse.data.collection.some(\n (requiredTerm) => requiredTerm.type === 'PrivacyPolicy',\n );\n setShowPrivacyPolicy(isShowPrivacyPolicy);\n setTerms(termsResponse.data.collection[0]);\n }\n }\n } catch (error: unknown) {\n notificationStore.setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed updated on other property\n }, [tenant, registrationData]);\n\n useEffect(() => {\n if (config?.termsAndConditions?.isAvailable) {\n getTerms();\n }\n }, [config, registrationData, getTerms]);\n\n const values = watch();\n\n const termId = values.termsAndConditions?.termId;\n\n if (config?.termsAndConditions?.isAvailable && !terms) {\n return ;\n }\n\n return (\n
\n \n \n \n \n ),\n LegalDocument1_Link: (\n \n \n \n ),\n LegalDocument2_Link: (\n \n \n \n ),\n LegalDocument3_Link: (\n \n \n \n ),\n LegalDocument4_Link: (\n \n \n \n ),\n LegalDocument5_Link: (\n \n \n \n ),\n LegalDocument6_Link: (\n \n \n \n ),\n LegalDocument7_Link: (\n \n \n \n ),\n LegalDocument8_Link: (\n \n \n \n ),\n }}\n />\n *\n \n }\n value={!!termId}\n onChange={(_e, value) => {\n if (value) {\n setValue(\n 'termsAndConditions',\n { termId: terms?.termId },\n { shouldDirty: true, shouldTouch: true, shouldValidate: true },\n );\n trigger('termsAndConditions');\n } else {\n setValue('termsAndConditions', undefined, {\n shouldDirty: true,\n shouldTouch: true,\n shouldValidate: true,\n });\n trigger('termsAndConditions');\n }\n }}\n {...config?.termsAndConditions}\n />\n {showPrivacyPolicy ? (\n \n \n \n \n ),\n }}\n />\n \n ) : null}\n {isCustomTextAvailable ? (\n \n \n \n ) : null}\n
\n );\n};\n","import { ArrowDownThin } from '@ori-ui/icons';\nimport { Typography, Collapse } from '@ori-ui/mui';\nimport type { GlobalCustomerRegistrationsRegistrationLegalDetailsDto } from '@ori/global-api-client-react';\nimport type { StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto } from '@ori/static-api-client-react';\nimport type { FC } from 'react';\nimport { useState } from 'react';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../../models';\nimport { CheckboxFormFieldByConfig } from '../../FieldsByConfig';\nimport { CollapseBox } from './StyledComponentsLegalForm';\n\ninterface ILegalDetailApprovalsProps {\n config?: StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto;\n approvalValues: GlobalCustomerRegistrationsRegistrationLegalDetailsDto;\n}\n\nexport const LegalDetailApprovals: FC = (props) => {\n const { approvalValues, config } = props;\n const [showApprovals, setShowApprovals] = useState(false);\n\n const isNegativeApprovals = config?.approvals?.shared?.displayAsNegative;\n\n return (\n <>\n {isNegativeApprovals ? (\n setShowApprovals(!showApprovals)}>\n {showApprovals ? (\n \n ) : (\n \n )}\n\n \n \n ) : null}\n\n \n \n \n \n }\n value={approvalValues.isReseller}\n {...config?.isReseller}\n />\n \n \n \n }\n value={approvalValues.approvals?.contact}\n {...config?.approvals?.contact}\n />\n \n \n \n }\n value={approvalValues.approvals?.blockGuaranteeOrdering}\n {...config?.approvals?.blockGuaranteeOrdering}\n />\n \n \n \n }\n value={approvalValues.approvals?.marketingConsultant}\n {...config?.approvals?.marketingConsultant}\n />\n \n \n \n }\n value={approvalValues.approvals?.marketingExternal}\n {...config?.approvals?.marketingExternal}\n />\n \n \n \n }\n value={approvalValues.approvals?.marketingOriflame}\n {...config?.approvals?.marketingOriflame}\n />\n \n \n \n }\n value={approvalValues.approvals?.newsletters}\n {...config?.approvals?.newsletters}\n />\n \n \n \n }\n value={approvalValues.approvals?.optedOutOfSponsorSelect}\n {...config?.approvals?.optedOutOfSponsorSelect}\n />\n \n \n \n }\n value={approvalValues.approvals?.orderHistory}\n {...config?.approvals?.orderHistory}\n />\n \n \n \n }\n value={approvalValues.approvals?.personalData}\n {...config?.approvals?.personalData}\n />\n \n \n \n }\n value={approvalValues.approvals?.publication}\n {...config?.approvals?.publication}\n />\n \n \n \n }\n value={approvalValues.approvals?.uplineLeaderBrowse}\n {...config?.approvals?.uplineLeaderBrowse}\n />\n \n \n \n }\n value={approvalValues.approvals?.uplineLeaderData}\n {...config?.approvals?.uplineLeaderData}\n />\n \n \n );\n};\n","import type { GlobalCustomersDocumentTypeDto } from '@ori/global-api-client-react';\nimport type { ApiClient } from '@ori/static-api-client-react';\nimport { getTenantDocumentTypes, useApiClient } from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../contexts';\nimport { useTranslations } from '../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult } from '../FetchResult';\nimport { TranslationKey } from '../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchCustomerDocumentType(api: ApiClient, tenant: string) {\n const emptyCustomerDocumentType: GlobalCustomersDocumentTypeDto[] = [];\n\n try {\n const response = await getTenantDocumentTypes(api, tenant);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyCustomerDocumentType);\n }\n}\n\nexport const useDocumentTypes = () => {\n const { tenant } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMsg = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, 'documentType'],\n async () => {\n const result = await fetchCustomerDocumentType(staticApi, tenant);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch document type');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMsg,\n type: MessageType.error,\n });\n }\n },\n },\n );\n};\n","import { NOT_LOGGED_IN_USER_ID } from '@ori/auth';\nimport {\n useApiClient,\n type ApiClient,\n type GlobalCustomersDocumentApprovalDto,\n getCustomerDocumentsInfos,\n getCustomerDocumentApprovals,\n} from '@ori/global-api-client-react';\nimport type { AxiosRequestHeaders } from 'axios';\nimport useSWR from 'swr';\n\nimport { useNotificationData } from '../../contexts';\nimport { useCustomHeaders } from '../../hooks';\nimport { useTranslations } from '../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport type { IDocumentsInfo2 } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult } from '../FetchResult';\nimport { TranslationKey } from '../TranslationKey_simplified-registration-BrandPartner';\nimport { useRegistrationData } from './registrations';\n\nasync function fetchCustomerDocumentInfo(api: ApiClient, customerId: number, customHeaders?: AxiosRequestHeaders) {\n const emptyCustomerDocumentApprovals: GlobalCustomersDocumentApprovalDto[] = [];\n try {\n const [documents, approvals] = await Promise.all([\n getCustomerDocumentsInfos(api, customerId, {}, customHeaders),\n getCustomerDocumentApprovals(api, customerId, {}, customHeaders),\n ]);\n\n const isSuccess = FetchResult.isSuccess(documents.status, approvals.status);\n\n if (isSuccess) {\n const data = documents.data.map((info) => {\n const collection = approvals.data.collection.length > 0 ? approvals.data.collection : [];\n const allApprovals = collection;\n const documentApproval = allApprovals.find((approval) => approval.documentIds.includes(info.documentId));\n\n return {\n ...info,\n approval: documentApproval,\n };\n });\n\n return data;\n }\n\n return undefined;\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyCustomerDocumentApprovals);\n }\n}\n\nexport const useCustomerDocumentsInfos = (reFetchkey?: string) => {\n const { data: registrationData } = useRegistrationData();\n const registrationCustomerId = registrationData?.customerId ?? NOT_LOGGED_IN_USER_ID;\n const headers = useCustomHeaders();\n\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n const errorMsg = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n registrationCustomerId && registrationCustomerId !== -1\n ? [registrationCustomerId, reFetchkey, 'documentInfo']\n : null,\n async () => {\n const result = await fetchCustomerDocumentInfo(api, registrationCustomerId, headers);\n if (result) {\n return result as IDocumentsInfo2[];\n }\n throw new Error('request failed fetch document approvals');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMsg,\n type: MessageType.error,\n });\n }\n },\n },\n );\n};\n","import { FormControl, InputLabel } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { ChangeEventHandler, ReactElement } from 'react';\n\ninterface IFileInputFieldProps {\n name: string;\n label?: ReactElement | string;\n isRequired?: boolean;\n onChange?: ChangeEventHandler;\n accept?: string;\n inputRef?: (element: HTMLInputElement | null) => void;\n isMultiple?: boolean;\n}\n\nexport const FileInputField = (props: IFileInputFieldProps) => {\n const { name, label, isRequired, onChange, accept, inputRef, isMultiple }: IFileInputFieldProps = props;\n\n const { getTestIdProps } = useTestId();\n\n let inputLabel = null;\n\n if (label) {\n inputLabel = (\n \n {label}\n \n );\n }\n\n return (\n \n {inputLabel}\n \n \n );\n};\n","import { Button, FormControl, Typography, styled } from '@ori-ui/mui';\nimport { useApiClient, createCustomerDocument, deleteCustomerDocument } from '@ori/global-api-client-react';\nimport type {\n CreateCustomerDocumentBody,\n CreateCustomerDocumentParams,\n GlobalSharedValidationErrorsResponse,\n} from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { ControllerRenderProps, FieldValues } from 'react-hook-form';\nimport { Controller } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useNotificationData } from '../../contexts';\nimport { useCustomHeaders } from '../../hooks';\nimport type { IDocumentsInfoStoreData } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { useCustomerDocumentsInfos, useRegistrationData } from '../../models/api';\nimport { getErrorLocalizationByCode } from '../../utils';\nimport { Loading } from '../Loading';\nimport { FileInputField } from './FileInputField';\nimport type { IFileUploadResult } from './IFileUploadResult';\nimport type { IUploadResult, IUploaderProps } from './IUploadResult';\n\nconst bytesInKb = 1024;\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n width: '100%',\n}));\n\nconst UploadButtonWrapper = styled('div')(({ theme }) => ({\n textAlign: 'center',\n}));\n\nconst UploadButton = styled(Button)(({ theme }) => ({\n maxWidth: '330px',\n width: '100%',\n}));\n\nconst triggerFileUploadFinished = (\n result: IFileUploadResult,\n onFileUploadedProp?: (fileUploadResult: IFileUploadResult) => void,\n) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy\n if (onFileUploadedProp && result) {\n onFileUploadedProp(result);\n }\n};\n\nconst mapToFileUploadResult = (\n response: Partial | number,\n file: File,\n fileKey: number,\n) => {\n let fileUploadResult: IFileUploadResult = {\n file,\n fileKey,\n isSuccess: false,\n };\n\n if (typeof response === 'number') {\n fileUploadResult = {\n ...fileUploadResult,\n documentId: response,\n isSuccess: true,\n };\n } else if (response.errors?.length) {\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain, @typescript-eslint/no-unnecessary-condition -- needed this condition\n const code = response && response.errors && response.errors[0] && response.errors[0].code;\n const message = getErrorLocalizationByCode(code);\n\n fileUploadResult = {\n ...fileUploadResult,\n message: (\n \n ),\n };\n } else {\n fileUploadResult = {\n ...fileUploadResult,\n message: response.message,\n };\n }\n\n return fileUploadResult;\n};\n\nconst maxFileSizeError = (maxFileSizeProp?: number, file?: File) => {\n if (maxFileSizeProp && file && file.size > maxFileSizeProp) {\n return true;\n }\n\n return false;\n};\n\nexport const UploaderForm: FC = (props) => {\n const {\n accept,\n isMultiple,\n children,\n handleFileChanged,\n handleUploadStart: onUploadStart,\n handleFileUploaded: onFileUploaded,\n handleUploadFinished: onUploadFinished,\n maxFileSize,\n documentTypeId,\n isTemporary,\n isRequired,\n inputName,\n } = props;\n\n const inputRef = useRef();\n\n const { getTestIdProps } = useTestId();\n const { data: registrationData } = useRegistrationData();\n\n const { data: documentsInfoData } = useCustomerDocumentsInfos();\n\n const customerId = registrationData?.customerId ?? null;\n\n const headers = useCustomHeaders();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const api = useApiClient();\n\n const handleClick = () => {\n if (inputRef.current) {\n inputRef.current.value = '';\n inputRef.current.click();\n }\n };\n\n const getInputRef = (element: HTMLInputElement | null): void => {\n inputRef.current = element;\n if (props.inputRef) {\n props.inputRef(element);\n }\n };\n\n const createDocument = async (\n customerIdProperty: number,\n requestBody: CreateCustomerDocumentBody,\n requestOptions: CreateCustomerDocumentParams,\n ): Promise> => {\n try {\n const response = await createCustomerDocument(api, customerIdProperty, requestBody, requestOptions, headers);\n\n return new FetchResult(\n response.status,\n\n response.data,\n );\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n\n return FetchResult.error;\n };\n\n const deleteDocument = async (customerIdProperty: number, documentId: number): Promise => {\n try {\n const response = await deleteCustomerDocument(api, customerIdProperty, documentId, headers);\n const result = new FetchResult(response.status);\n\n return result;\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n\n return FetchResult.error;\n };\n\n const replaceDocument = async (\n customerIdProperty: number,\n oldDocumentId: number,\n requestBody: CreateCustomerDocumentBody,\n newDocumentRequestOptions: CreateCustomerDocumentParams,\n ): Promise> => {\n let deleteResult: FetchResult;\n\n try {\n deleteResult = await deleteDocument(customerIdProperty, oldDocumentId);\n\n if (deleteResult.isSuccess()) {\n return await createDocument(customerIdProperty, requestBody, newDocumentRequestOptions);\n }\n\n return FetchResult.error;\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n\n return FetchResult.error;\n };\n\n const button = (\n \n \n \n );\n\n const requestOptions: CreateCustomerDocumentParams = useMemo(\n () => ({\n documentTypeId,\n isTemporary: isTemporary === undefined ? true : isTemporary,\n }),\n [documentTypeId, isTemporary],\n );\n\n const [lastOfType] = useMemo(\n () =>\n documentsInfoData\n ?.filter((info) => {\n const isTemporaryDocument = false;\n\n return info.documentTypeId === documentTypeId && (!info.isTemporary || isTemporaryDocument);\n })\n .sort((a, b) => {\n if (a.createdDate.getTime() && b.createdDate.getTime()) {\n return a.createdDate.getTime() - b.createdDate.getTime();\n }\n\n return 0;\n }) ?? ([] as IDocumentsInfoStoreData[]),\n [documentTypeId, documentsInfoData],\n );\n\n const fileMapper = async (file: File, key: number, customerIdProperty: number, result: IUploadResult) => {\n const negativeOne = -1;\n const fileKey = (key + 1) * negativeOne;\n\n requestOptions.documentTypeId = documentTypeId;\n\n if (maxFileSize && maxFileSizeError(maxFileSize, file)) {\n const maxMBs = Math.ceil(maxFileSize / bytesInKb / bytesInKb);\n const errorMessage = (\n \n );\n\n const fileResult: IFileUploadResult = {\n file,\n fileKey,\n isSuccess: false,\n message: errorMessage,\n };\n\n triggerFileUploadFinished(fileResult, onFileUploaded);\n\n return;\n }\n\n let fetchResult: FetchResult;\n if (isTemporary === false && lastOfType?.documentId && !isMultiple) {\n fetchResult = await replaceDocument(customerIdProperty, lastOfType.documentId, { file }, requestOptions);\n } else {\n fetchResult = await createDocument(customerIdProperty, { file }, requestOptions);\n }\n\n if (fetchResult.response) {\n const fileResult = mapToFileUploadResult(fetchResult.response, file, fileKey);\n triggerFileUploadFinished(fileResult, onFileUploaded);\n result.uploadedFiles.push(fileResult);\n }\n };\n\n const handleChangeFile = async (\n files: FileList,\n field: ControllerRenderProps,\n customerIdProperty: number,\n ) => {\n if (handleFileChanged && files[0] !== undefined) {\n handleFileChanged(files[0]);\n }\n\n if (files.length > 0 && onUploadStart) {\n onUploadStart(files);\n }\n\n const result: IUploadResult = { uploadedFiles: [] };\n // eslint-disable-next-line unicorn/prefer-spread -- we want this writing\n const uploadPromises = Array.from(files).map(async (file, key) =>\n fileMapper(file, key, customerIdProperty, result),\n );\n\n await Promise.all(uploadPromises);\n\n if (onUploadFinished) {\n field.onChange(result.uploadedFiles);\n onUploadFinished(result);\n }\n };\n\n return (\n \n (\n \n {\n const { files } = e.target as HTMLInputElement;\n\n if (files?.length && customerId) {\n handleChangeFile(files, field, customerId);\n }\n }}\n />\n {formState.isSubmitting ? : null}\n \n )}\n />\n {children ?? button}\n \n \n \n \n );\n};\n","import type { FC } from 'react';\n\nimport type { IUploaderProps } from './IUploadResult';\nimport { UploaderForm } from './UploaderForm';\n\nexport const Uploader: FC = (props) => ;\n","import { FeedbackDialog } from '@ori-ui/components';\nimport { Button, styled } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport React from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useTranslations } from '../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport type { IConfirmDialogProps } from '../../interfaces';\nimport { TranslationKey } from '../../models';\n\nconst StyledFeedbackDialog = styled(FeedbackDialog)(({ theme }) => ({\n '& .MuiPaper-root': {\n maxWidth: '600px',\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n maxWidth: '100%',\n position: 'absolute',\n bottom: 0,\n margin: 0,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n },\n },\n}));\n\nconst ButtonDelete = styled(Button)(({ theme }) => ({\n background: theme.palette.error.main,\n color: theme.palette.primary.contrastText,\n '&:hover, &:focus': {\n background: theme.palette.error.main,\n color: theme.palette.primary.contrastText,\n },\n}));\n\nconst ButtonCancel = styled(Button)(({ theme }) => ({\n textDecoration: 'underline',\n '&:hover, &:focus': {\n background: 'inherit',\n textDecoration: 'underline',\n boxShadow: 'none',\n },\n}));\n\nconst children = (props: IConfirmDialogProps) =>
{props.children}
;\n\nconst withConfirm =\n

(WrappedComponent: React.ComponentType

) =>\n (props: P) => {\n const { opened, handleConfirm, handleCancel } = props;\n const { formatMessage } = useTranslations();\n const { getTestIdProps } = useTestId();\n\n return (\n \n \n ,\n \n \n ,\n ]}\n >\n \n \n );\n };\n\nexport const ConfirmDeleteDialog = withConfirm(children);\n","import { useToken } from '@ori/auth';\nimport type { AxiosError, AxiosRequestConfig } from 'axios';\nimport axios from 'axios';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nconst axiosClient = axios.create();\n\nconst getEncodedFile = (blob: Blob): string => URL.createObjectURL(blob);\n\ninterface FetcherParams {\n url: string;\n tenant: string;\n registrationId: string;\n formattedToken: string;\n previewSize?: { height?: number; width?: number };\n}\n\nexport function useDocumentThumb(\n customerId: number | null,\n documentId?: number | null,\n previewSize?: { height?: number; width?: number },\n) {\n const { globalApiUrl, tenant, registrationId } = useConfiguration();\n const { formattedToken } = useToken();\n const { formatMessage } = useTranslations();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n const thumbUrl = `${globalApiUrl}/customers/${customerId}/documents/${documentId}/image`;\n const shouldFetch = Boolean(customerId && documentId && documentId !== -1);\n const fetchKey = shouldFetch ? `thumb-${customerId}-${documentId}` : null;\n\n const fetcher = async ({\n url,\n tenant,\n registrationId,\n formattedToken,\n previewSize,\n }: FetcherParams): Promise => {\n try {\n const headers: AxiosRequestConfig['headers'] = {\n 'x-tenant-context': tenant,\n 'x-registration-id': registrationId,\n Authorization: formattedToken,\n };\n const response = await axiosClient.get(url, {\n headers,\n responseType: 'blob',\n params: previewSize,\n });\n return getEncodedFile(response.data);\n } catch (error) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n const axiosError = error as AxiosError;\n throw new Error(axiosError.message);\n }\n };\n\n const { data: documentURL } = useSWR(\n fetchKey ? [fetchKey, { url: thumbUrl, tenant, registrationId, formattedToken, previewSize }] : null,\n () => fetcher({ url: thumbUrl, tenant, registrationId, formattedToken, previewSize }),\n );\n\n return documentURL;\n}\n","import { useToken } from '@ori/auth';\nimport type { AxiosError, AxiosRequestConfig } from 'axios';\nimport axios from 'axios';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nconst axiosClient = axios.create();\n\nconst getEncodedFile = (blob: Blob): string => URL.createObjectURL(blob);\n\ninterface FetcherParams {\n url: string;\n tenant: string;\n registrationId: string;\n formattedToken: string;\n previewSize?: { height?: number; width?: number };\n}\n\nexport function useDocumentThumbDetail(\n customerId: number | null,\n documentId?: number | null,\n previewSize?: { height?: number; width?: number },\n) {\n const { globalApiUrl, tenant, registrationId } = useConfiguration();\n const { formattedToken } = useToken();\n const { formatMessage } = useTranslations();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n const thumbDetailUrl = `${globalApiUrl}/customers/${customerId}/documents/${documentId}/image`;\n\n const shouldFetch = Boolean(customerId && documentId && documentId !== -1);\n const fetchKey = shouldFetch ? `thumbDetail-${customerId}-${documentId}` : null;\n\n const fetcher = async ({\n url,\n tenant,\n registrationId,\n formattedToken,\n previewSize,\n }: FetcherParams): Promise => {\n try {\n const headers: AxiosRequestConfig['headers'] = {\n 'x-tenant-context': tenant,\n 'x-registration-id': registrationId,\n Authorization: formattedToken,\n };\n const response = await axiosClient.get(url, {\n headers,\n responseType: 'blob',\n params: previewSize,\n });\n return getEncodedFile(response.data);\n } catch (error) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n const axiosError = error as AxiosError;\n throw new Error(axiosError.message);\n }\n };\n\n const { data: documentURL } = useSWR(\n fetchKey ? [fetchKey, { url: thumbDetailUrl, tenant, registrationId, formattedToken, previewSize }] : null,\n () => fetcher({ url: thumbDetailUrl, tenant, registrationId, formattedToken, previewSize }),\n );\n\n return documentURL;\n}\n","import { IconButton } from '@ori-ui/components';\nimport { Document, Clear } from '@ori-ui/icons';\nimport { Tooltip, Avatar, Dialog, DialogContent, DialogTitle, styled } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { MouseEvent, FC, ReactElement } from 'react';\nimport { useState, useEffect, useCallback } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { IThumb, IDetailImage } from '../../interfaces';\nimport { TranslationKey } from '../../models';\nimport { useDocumentThumb, useDocumentThumbDetail, useRegistrationData } from '../../models/api';\nimport { Loading } from '../Loading';\n\nconst imagePreviewThumbSize = 80;\nconst imagePreviewDetailSize = 500;\n\nconst StyledDialogContent = styled(DialogContent)(({ theme }) => ({\n position: 'relative',\n minWidth: '60px',\n minHeight: '40px',\n}));\n\nconst CloseButton = styled(IconButton)(({ theme }) => ({\n position: 'absolute',\n top: 0,\n right: '6px',\n}));\n\nconst StyledAvatar = styled(Avatar)(({ theme }) => ({\n width: '80px',\n height: '80px',\n borderRadius: 0,\n background: 'transparent',\n color: theme.palette.text.primary,\n textDecoration: 'none',\n cursor: 'pointer',\n}));\n\nconst DocumentIcon = styled(Document)(({ theme }) => ({\n fontSize: '38px',\n}));\n\ninterface IThumbWithDetailProps {\n fileName: string;\n documentId: number;\n}\n\nexport const ThumbWithDetail: FC = (props) => {\n const { fileName, documentId } = props;\n\n const [detailOpened, setDetailOpened] = useState(false);\n const [imageThumb, setImageThumb] = useState({});\n const [imageDetail, setImageDetail] = useState({});\n\n const { data: registrationData } = useRegistrationData();\n\n const customerId = registrationData?.customerId ?? null;\n\n const documentThumbUrl = useDocumentThumb(customerId, documentId, {\n height: imagePreviewThumbSize,\n width: imagePreviewThumbSize,\n });\n\n const documentThumbDetailUrl = useDocumentThumbDetail(customerId, documentId, {\n height: imagePreviewDetailSize,\n width: imagePreviewDetailSize,\n });\n\n const { getTestIdProps } = useTestId();\n\n const mountOrUpdate = useCallback(() => {\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy we need this conditon\n imageThumb &&\n !imageThumb[documentId] &&\n /\\.(jpg|jpeg|png|bmp)$/gi.test(fileName) &&\n documentId > 0 &&\n customerId\n ) {\n const currentImages = {};\n setImageThumb({ ...currentImages, [documentId]: documentThumbUrl });\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed other property\n }, [customerId, documentId, fileName, imageThumb]);\n\n useEffect(() => {\n mountOrUpdate();\n }, [customerId, mountOrUpdate]);\n\n const getDetailImage = (fileNameProperty: string) => {\n const imgUrl = imageDetail[documentId];\n if (imgUrl && detailOpened) {\n return (\n \n );\n }\n\n return ;\n };\n\n const handleOpenDetail = (event: MouseEvent) => {\n event.preventDefault();\n setDetailOpened(true);\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy we need this conditon\n if (imageDetail && !imageDetail[documentId] && customerId) {\n const currentImages = {};\n setImageDetail({ ...currentImages, [documentId]: documentThumbDetailUrl });\n // await fetchImageDetail(customerId, documentId);\n }\n };\n\n const handleDetailClose = () => {\n setDetailOpened(false);\n };\n\n const getAvatar = (): ReactElement => {\n if (/\\.(jpg|jpeg|png|bmp)$/gi.test(fileName) && documentId > 0) {\n const thumb = imageThumb[documentId];\n\n return (\n \n }\n onClick={handleOpenDetail}\n {...getTestIdProps('thum-with-detail-tooltip-open-detail')}\n >\n \n \n );\n }\n\n return ;\n };\n\n const avatar = getAvatar();\n const detailImage = getDetailImage(fileName);\n\n return (\n <>\n {avatar}\n

\n \n handleDetailClose()}\n variant=\"text\"\n color=\"default\"\n {...getTestIdProps('thum-with-detail-bt-close-detail')}\n >\n \n \n \n {detailImage}\n \n \n );\n};\n","import { useToken } from '@ori/auth';\nimport type { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport axios from 'axios';\nimport useSWR from 'swr';\n\nimport { useConfiguration } from '../../../contexts';\n\nconst axiosClient = axios.create();\n\nconst getEncodedFile = (blob: Blob): string => URL.createObjectURL(blob);\n\nexport function useCustomerDocument(customerId: number | null, documentId?: number | null) {\n const { globalApiUrl, tenant, registrationId } = useConfiguration();\n const { formattedToken } = useToken();\n const shouldFetch = Boolean(\n customerId !== null && documentId !== null && documentId !== undefined && documentId !== -1,\n );\n const url = `${globalApiUrl}/customers/${customerId}/documents/${documentId}`;\n\n const { data: document } = useSWR(shouldFetch ? url.toString() : null, async (requestUrl: string) => {\n const headers: AxiosRequestConfig['headers'] = {\n 'x-tenant-context': tenant,\n 'x-registration-id': registrationId,\n };\n headers.Authorization = formattedToken;\n const { data } = await axiosClient\n .get(requestUrl, {\n headers,\n responseType: 'blob',\n })\n .then((blob) => blob)\n .catch((error: AxiosResponse) => error);\n\n return data;\n });\n\n return document === undefined ? undefined : getEncodedFile(document);\n}\n","import { Tooltip, styled, useTheme } from '@ori-ui/mui';\nimport type { GlobalCustomersDocumentApprovalDtoApprovalState } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC, ReactElement } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../models';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n fontSize: '12px',\n fontWeight: 'bold',\n lineHeight: '17px',\n textTransform: 'uppercase',\n}));\n\nconst StyledSpanLabel = styled('span')(({ theme }) => ({\n padding: '2px 15px',\n borderRadius: '5px',\n color: theme.palette.primary.contrastText,\n}));\n\ninterface IDocumentStateProps {\n state: GlobalCustomersDocumentApprovalDtoApprovalState;\n reason?: string;\n}\n\nexport const DocumentState: FC = (props) => {\n const { state, reason }: IDocumentStateProps = props;\n\n const theme = useTheme();\n\n const { getTestIdProps } = useTestId();\n\n const getLocalization = (approvalState: GlobalCustomersDocumentApprovalDtoApprovalState): ReactElement => {\n switch (approvalState) {\n case 'Approved':\n return (\n \n );\n case 'Pending':\n return (\n \n );\n case 'Rejected':\n return (\n \n );\n default:\n return (\n \n );\n }\n };\n\n const getStateColor = (approvalState: GlobalCustomersDocumentApprovalDtoApprovalState): string => {\n switch (approvalState) {\n case 'Approved':\n return theme.palette.secondary.main;\n case 'Pending':\n return theme.palette.warning.main;\n default:\n return 'transparent';\n }\n };\n\n const stateElement = (\n \n {getLocalization(state)}\n \n );\n\n if (reason) {\n return (\n \n {stateElement}\n \n );\n }\n\n return stateElement;\n};\n","import { Clear, ErrorCircle } from '@ori-ui/icons';\nimport { styled, LinearProgress } from '@ori-ui/mui';\n\nconst flexCenter = {\n display: 'flex',\n alignItems: 'center',\n};\n\nexport const StyledListItem = styled('li')(({ theme }) => ({\n position: 'relative',\n borderBottom: `1px solid ${theme.palette.grey[200]}`,\n '&:last-child': {\n borderBottom: 'none',\n },\n}));\n\nexport const StyledDivContent = styled('div')(({ theme }) => ({\n ...flexCenter,\n justifyContent: 'space-between',\n}));\n\nexport const StyledSpanInfo = styled('span')(({ theme }) => ({\n ...flexCenter,\n maxWidth: 'calc(100% - 50px)',\n width: '100%',\n}));\n\nexport const StyledSpanThumb = styled('span')(({ theme }) => ({\n ...flexCenter,\n justifyContent: 'center',\n minWidth: '80px',\n minHeight: '80px',\n marginRight: theme.spacing(3),\n}));\n\nexport const StyledSpanActions = styled('span')(({ theme }) => ({\n ...flexCenter,\n justifyContent: 'flex-end',\n}));\n\nexport const StyledSpanFile = styled('span')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n width: '100%',\n}));\n\nexport const StyledSpanFileName = styled('span')(({ theme }) => ({\n display: 'block',\n overflow: 'hidden',\n color: theme.palette.text.primary,\n fontSize: '14px',\n lineHeight: '19px',\n textOverflow: 'ellipsis',\n whitespace: 'nowrap',\n}));\n\nexport const StyledSpanFileNameLink = styled('a')(({ theme }) => ({\n display: 'block',\n overflow: 'hidden',\n color: theme.palette.text.primary,\n fontSize: '14px',\n lineHeight: '19px',\n textOverflow: 'ellipsis',\n whitespace: 'nowrap',\n cursor: 'pointer',\n '&:hover': {\n color: theme.palette.primary.main,\n textDecoration: 'underline',\n },\n}));\n\nexport const StyledSpanFileSize = styled('span')(({ theme }) => ({\n color: theme.palette.grey.A700,\n fontSize: '11px',\n lineHeight: '18px',\n}));\n\nexport const StyledErrorIcon = styled(ErrorCircle)(({ theme }) => ({\n color: theme.palette.error.main,\n fontSize: '35px',\n lineHeight: '24px',\n}));\n\nexport const StyledDeleteIcon = styled(Clear)(({ theme }) => ({\n fontSize: '23px',\n lineHeight: '16px',\n '&:hover': {\n background: 'transparent',\n color: theme.palette.primary.main,\n },\n marginRight: theme.spacing(3),\n}));\n\nexport const StyledProgress = styled(LinearProgress)(({ theme }) => ({\n position: 'absolute',\n right: 0,\n bottom: '5px',\n left: 0,\n}));\n","import type {\n GlobalCustomersDocumentApprovalDto,\n GlobalCustomersDocumentApprovalDtoApprovalState,\n} from '@ori/global-api-client-react';\nimport type { FC, MouseEvent, ReactElement } from 'react';\n\nimport type { IDocumentsInfo } from '../../interfaces';\nimport { useCustomerDocument, useRegistrationData } from '../../models/api';\nimport { DocumentState } from '../Document/DocumentState';\nimport {\n StyledSpanFile,\n StyledSpanFileName,\n StyledSpanFileNameLink,\n StyledSpanFileSize,\n} from './DocumentItemStyledComponents';\n\ninterface IDocumentItemFileProps {\n document: IDocumentsInfo;\n visibleApprovalState?: boolean;\n}\n\nconst bytesInKb = 1024;\n\nexport const DocumentItemFile: FC = (props) => {\n const { document, visibleApprovalState } = props;\n\n const { data: registrationData } = useRegistrationData();\n\n const customerId = registrationData?.customerId ?? null;\n\n const documentItemUrl = useCustomerDocument(customerId, document.documentId);\n\n const handleDownloadDocument = (event: MouseEvent) => {\n const link = event.target as HTMLLinkElement;\n\n if (!link.href) {\n event.preventDefault();\n\n const documentUrl = documentItemUrl ?? '';\n if (documentUrl !== '') {\n link.href = documentUrl;\n link.click();\n }\n }\n };\n\n const getDocumentItemLink = () => {\n const { fileName, documentId }: IDocumentsInfo = document;\n\n if (fileName && documentId && documentId < 0) {\n return {fileName};\n }\n\n if (fileName) {\n return {fileName};\n }\n\n return null;\n };\n\n const getDocumentSize = () => {\n const { fileSize }: IDocumentsInfo = document;\n const hundred = 100;\n const size = Math.round((fileSize ? fileSize / bytesInKb / bytesInKb : 0) * hundred) / hundred;\n\n return {size} MB;\n };\n\n const getApprovalState = (approval?: GlobalCustomersDocumentApprovalDto): ReactElement | null => {\n if (visibleApprovalState) {\n // if there is no approval information in document data,\n // it is automatically in \"Pending\" state\n let approvalState: GlobalCustomersDocumentApprovalDtoApprovalState = 'Pending';\n let approvalReason;\n\n if (approval?.approvalState) {\n const { approvalState: state, reason }: GlobalCustomersDocumentApprovalDto = approval;\n approvalState = state;\n approvalReason = reason;\n }\n\n return (\n \n );\n }\n\n return null;\n };\n\n return (\n \n {getDocumentItemLink()}\n {getDocumentSize()}\n {getApprovalState(document.approval)}\n \n );\n};\n","import { Tooltip, Typography } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useState } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { IDocumentItemProps, IDocumentsInfo } from '../../interfaces';\nimport { TranslationKey } from '../../models';\nimport { ConfirmDeleteDialog } from '../ConfirmDeleteDialog';\nimport { ThumbWithDetail } from '../ThumbWithDetail';\nimport { DocumentItemFile } from './DocumentItemFile';\nimport {\n StyledDeleteIcon,\n StyledDivContent,\n StyledErrorIcon,\n StyledListItem,\n StyledProgress,\n StyledSpanActions,\n StyledSpanInfo,\n StyledSpanThumb,\n} from './DocumentItemStyledComponents';\n\nexport const DocumentItem: FC = (props) => {\n const {\n onDocumentRemove,\n document,\n isShowApprovalState,\n canDelete,\n errorMessage,\n isDeleteConfirmationRequired,\n uploadProgress,\n } = props;\n\n const [confirmOpened, setConfirmOpened] = useState(false);\n const { getTestIdProps } = useTestId();\n\n const confirmDelete = () => setConfirmOpened(true);\n\n const confirmCanceled = () => setConfirmOpened(false);\n\n const removeDocument = () => {\n if (onDocumentRemove && document.documentId) {\n onDocumentRemove(document.documentId);\n }\n };\n\n const deleteDocument = () => {\n if (onDocumentRemove) {\n onDocumentRemove(document.documentId);\n }\n\n setConfirmOpened(false);\n };\n\n const getDeleteButton = () => {\n const deleteAction = errorMessage || !isDeleteConfirmationRequired ? removeDocument : confirmDelete;\n\n if (canDelete || errorMessage) {\n return (\n \n );\n }\n\n return null;\n };\n\n const getProgressBar = () => {\n if (uploadProgress) {\n return (\n \n );\n }\n\n return null;\n };\n\n const getThumb = () => {\n const { fileName, documentId }: IDocumentsInfo = document;\n if (fileName && documentId) {\n return (\n \n );\n }\n\n return null;\n };\n\n const getError = () => {\n if (errorMessage) {\n return (\n \n \n \n );\n }\n\n return null;\n };\n\n return (\n \n \n \n {getThumb()}\n \n \n \n {getError()}\n {getDeleteButton()}\n \n \n {getProgressBar()}\n \n \n \n \n \n \n );\n};\n","import type { IDocumentItemProps, IDocumentsInfo, IDocumentsInfoStoreData } from '../../interfaces';\nimport { DocumentItem } from '../DocumentItem';\n\nconst mapToDocumentItemProps = (\n documentStoreData: IDocumentsInfoStoreData,\n canDelete: boolean,\n isShowApprovalState: boolean,\n deleteConfirmationRequired: boolean,\n removeDocument?: (documentId: number) => void,\n): IDocumentItemProps => {\n const document: IDocumentsInfo = {\n approval: documentStoreData.approval,\n documentId: documentStoreData.documentId,\n fileName: documentStoreData.fileName ?? '',\n fileSize: documentStoreData.fileSize,\n };\n\n return {\n document,\n canDelete,\n isShowApprovalState,\n onDocumentRemove: removeDocument,\n isDeleteConfirmationRequired: deleteConfirmationRequired || false,\n };\n};\n\nconst getFilesInProgress = (filesInProgress: IDocumentItemProps[], removeFile?: (fileKey: number) => void) => {\n const filesItems = filesInProgress.map((document) => ({\n ...document,\n onDocumentRemove: removeFile,\n }));\n\n return filesItems;\n};\n\nconst isDocumentPending = (document: IDocumentsInfoStoreData): boolean =>\n !document.approval || document.approval.approvalState === 'Pending';\n\nconst renderDocumentItem = (documentProps: IDocumentItemProps, key: number) => (\n \n);\n\nexport { mapToDocumentItemProps, getFilesInProgress, isDocumentPending, renderDocumentItem };\n","import { ArrowDownThin, HelpCircle } from '@ori-ui/icons';\nimport { styled, CircularProgress, Typography } from '@ori-ui/mui';\n\nexport const RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n width: '100%',\n}));\n\nexport const StyledTitle = styled(Typography)(({ theme }) => ({\n marginLeft: theme.spacing(1),\n}));\n\nexport const StyledRequiredDocument = styled('div')(({ theme }) => ({\n color: theme.palette.error.dark,\n}));\n\nexport const StyledDivHeader = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'flex-end',\n justifyContent: 'space-between',\n marginTop: theme.spacing(6),\n}));\n\nexport const StyledHelpCircle = styled(HelpCircle)(({ theme }) => ({\n marginRight: theme.spacing(3),\n color: theme.palette.grey[300],\n fontSize: '29px',\n}));\n\nexport const StyledLabel = styled('span')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n}));\n\nexport const StyledList = styled('ul')(({ theme }) => ({\n margin: 0,\n padding: 0,\n listStyle: 'none',\n}));\n\nexport const StyledListPending = styled('ul')(({ theme }) => ({\n margin: 0,\n padding: 0,\n listStyle: 'none',\n position: 'relative',\n zIndex: 2,\n overflow: 'hidden',\n borderRadius: '5px',\n boxShadow: '0 0 7px 0 rgba(0, 0, 0, 0.3)',\n}));\n\nexport const StyledDivWrapper = styled('div')<{ ownerState: { hasDocuments?: boolean } }>(\n ({ theme, ownerState: { hasDocuments = false } }) => ({\n marginBottom: hasDocuments ? theme.spacing(4) : theme.spacing(0),\n position: 'relative',\n }),\n);\n\nexport const StyledDivUploader = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: theme.spacing(4),\n}));\n\nexport const StyledDivHistory = styled('div')(({ theme }) => ({\n borderTop: `1px solid ${theme.palette.grey[200]}`,\n}));\n\nexport const StyledExpanedIcon = styled(ArrowDownThin)(({ theme }) => ({\n flexDirection: 'row-reverse',\n padding: '5px 10px',\n transition: 'transform 0.3s ease-out',\n fontSize: '22px',\n lineHeight: '23px',\n margin: '0 5px',\n cursor: 'pointer',\n}));\n\nexport const StyledDivExpander = styled('div')(({ theme }) => ({\n borderBottom: `1px solid ${theme.palette.grey[200]}`,\n}));\n\nexport const StyledDivFileInput = styled('div')(({ theme }) => ({\n display: 'flex',\n width: '100%',\n '& > form': {\n width: '100%',\n minWidth: '120px',\n },\n}));\n\nexport const StyledProgress = styled(CircularProgress)(({ theme }) => ({\n marginRight: theme.spacing(2),\n}));\n\nexport const StyledDivBoxExpandHistory = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n cursor: 'pointer',\n fontSize: '14px',\n transition: 'all 0.3s ease-out',\n '&:hover': {\n color: theme.palette.primary.main,\n },\n}));\n","import type { FC } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { IDocumentItemProps, IDocumentsInfo2, IDocumentsInfoStoreData } from '../../interfaces';\nimport { TranslationKey } from '../../models';\nimport { DocumentItem } from '../DocumentItem';\nimport {\n StyledDivBoxExpandHistory,\n StyledDivExpander,\n StyledDivHistory,\n StyledExpanedIcon,\n StyledList,\n} from './DocumentStyledComponents';\n\ninterface IDocumentHistoryProps {\n temporaryDocument: boolean;\n historyExpanded: boolean;\n documentIds?: number[];\n documentTypeId: number;\n deleteConfirmationRequired: boolean;\n editableDocument?: boolean;\n histroyDocumentsInfoData?: IDocumentsInfo2[];\n removeDocument?: (documentId: number) => void;\n handleToggleClick: () => void;\n documentPending: (document: IDocumentsInfoStoreData) => boolean;\n mapToDocumentItemProps: (\n documentStoreData: IDocumentsInfoStoreData,\n canDelete: boolean,\n isShowApprovalState: boolean,\n deleteConfirmationRequired: boolean,\n removeDocument?: (documentId: number) => void,\n ) => IDocumentItemProps;\n}\n\nconst renderDocumentItem = (documentProps: IDocumentItemProps, key: number) => (\n \n);\n\nexport const DocumentHistory: FC = (props) => {\n const {\n temporaryDocument,\n historyExpanded,\n documentIds,\n documentTypeId,\n deleteConfirmationRequired,\n histroyDocumentsInfoData,\n handleToggleClick,\n documentPending,\n mapToDocumentItemProps,\n removeDocument,\n } = props;\n\n const getInfoByType = (typeId?: number, includeTemporary?: boolean) =>\n histroyDocumentsInfoData\n ?.filter((info) => {\n const isTemporary = includeTemporary ?? false;\n\n return info.documentTypeId === typeId && (!info.isTemporary || isTemporary);\n })\n .sort((a, b) => {\n if (a.createdDate.getTime() && b.createdDate.getTime()) {\n return a.createdDate.getTime() - b.createdDate.getTime();\n }\n\n return 0;\n }) as IDocumentsInfoStoreData[];\n\n const getHistoryDocuments = (): IDocumentItemProps[] => {\n if (!documentIds?.length) {\n return [];\n }\n\n const documentItems: IDocumentItemProps[] = getInfoByType(documentTypeId, temporaryDocument)\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- we need this condition\n ?.filter((document) => documentIds.includes(document.documentId) && !documentPending(document))\n .map((document) => mapToDocumentItemProps(document, false, true, deleteConfirmationRequired, removeDocument));\n\n return documentItems;\n };\n\n const renderHistory = () => {\n const documents = getHistoryDocuments();\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not alway truthy we need this condition\n const existingDocuments = documents && documents.length > 0;\n if (!existingDocuments) {\n return null;\n }\n\n return (\n \n \n {documents.map(renderDocumentItem)}\n \n handleToggleClick()}>\n \n \n \n \n );\n };\n\n const documentsHistory = renderHistory();\n\n return {documentsHistory};\n};\n","import { CheckHeavy } from '@ori-ui/icons';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../models';\nimport { StyledProgress } from './DocumentStyledComponents';\n\ninterface IDocumentLoadingProgressProps {\n uploading: boolean;\n uploadFinished: boolean;\n}\n\nconst classes = {\n uploadProgress: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n fontSize: '16px',\n fontWeight: 'bold',\n lineHeight: '23px',\n },\n uploadProgressDone: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n fontSize: '16px',\n fontWeight: 'bold',\n lineHeight: '23px',\n '&::before': {\n margin: '-4px 8px 0 10px',\n fontSize: '22px',\n lineHeight: '22px',\n },\n },\n};\n\nexport const DocumentLoadingProgress: FC = (props) => {\n const { uploading, uploadFinished } = props;\n const { getTestIdProps } = useTestId();\n\n const renderLoadingProgress = () => {\n const progressSize = 16;\n const textUploading = (\n \n );\n const textDone = (\n \n );\n const progress = (\n \n );\n\n return (\n \n {uploading ? progress : null}\n {uploadFinished ? textDone : textUploading}\n \n );\n };\n\n const documentLoadingProgress = uploading || (uploadFinished && renderLoadingProgress());\n\n return
{documentLoadingProgress}
;\n};\n","import type {\n GlobalCustomerRegistrationsRegistrationLegalDetailsDto,\n GlobalCustomersDocumentTypeDto,\n} from '@ori/global-api-client-react';\nimport type { StaticCustomersMetadataIdentityCardDocumentPropertyDto } from '@ori/static-api-client-react';\nimport type { FC } from 'react';\nimport { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { IDocumentItemProps, IDocumentsInfoStoreData } from '../../interfaces';\nimport { TranslationKey } from '../../models';\nimport { useCustomerDocumentsInfos } from '../../models/api';\nimport { DatePickerField, SelectFormFieldByConfig, TextFormFieldByConfig } from '../FieldsByConfig';\nimport type { IFileUploadResult, IUploaderProps, IUploadResult } from '../Uploader';\nimport { Uploader } from '../Uploader';\nimport { getFilesInProgress, isDocumentPending, mapToDocumentItemProps, renderDocumentItem } from './DocumentActions';\nimport { DocumentHistory } from './DocumentHistory';\nimport { DocumentLoadingProgress } from './DocumentLoadingProgress';\nimport { StyledDivFileInput, StyledDivUploader, StyledDivWrapper, StyledListPending } from './DocumentStyledComponents';\n\ninterface IDocumentContentProps {\n documentTypeId: number;\n documentIds: number[];\n deleteConfirmationRequired?: boolean;\n editableDocument?: boolean;\n handleDocumentsChange?: (documentIds: number[]) => void;\n documentType?: GlobalCustomersDocumentTypeDto;\n documentInpuName: string;\n configDocument?: StaticCustomersMetadataIdentityCardDocumentPropertyDto;\n documentIsRequired: boolean;\n}\n\nexport const DocumentContent: FC = (props) => {\n const {\n documentIds,\n documentTypeId,\n deleteConfirmationRequired,\n documentType,\n editableDocument,\n documentInpuName,\n configDocument,\n documentIsRequired,\n handleDocumentsChange,\n } = props;\n\n const isTemporaryDocument = true;\n const hasDocuments = documentIds.length > 0;\n\n const [isHistoryExpanded, setIsHistoryExpanded] = useState(false);\n const [isUploading, setIsUploading] = useState(false);\n const [isUploadFinished, setIsUploadFinished] = useState(false);\n const [filesInProgress, setFilesInProgress] = useState([]);\n const [fetchKey, setFetchKey] = useState('');\n\n const { watch } = useFormContext();\n const values = watch();\n\n const { data: documentsInfoData } = useCustomerDocumentsInfos(fetchKey);\n\n const isDeleteConfirmationRequired = deleteConfirmationRequired ?? false;\n\n const setDefaultState = () => {\n setIsHistoryExpanded(false);\n setIsUploading(false);\n setIsUploadFinished(false);\n };\n\n const removeFile = (fileKey: number) => {\n setDefaultState();\n setFilesInProgress((previousState) =>\n previousState.filter((documentData) => documentData.document.documentId !== fileKey),\n );\n };\n\n const fileUploadFinished = (fileUploadResult: IFileUploadResult) => {\n const { isSuccess, fileKey, message }: IFileUploadResult = fileUploadResult;\n\n if (!isSuccess && fileKey < 0 && Boolean(message)) {\n setDefaultState();\n setFilesInProgress((previousState) =>\n previousState.map((documentData) => {\n const copyDocumentData = { ...documentData };\n if (copyDocumentData.document.documentId === fileKey) {\n copyDocumentData.errorMessage = message;\n }\n\n return copyDocumentData;\n }),\n );\n }\n };\n\n const uploadProgress = (progress: number, fileKey: number) => {\n setDefaultState();\n setFilesInProgress((previousState) =>\n previousState.map((documentData) => {\n const copyDocumentData = { ...documentData };\n if (copyDocumentData.document.documentId === fileKey) {\n copyDocumentData.uploadProgress = progress;\n }\n\n return copyDocumentData;\n }),\n );\n };\n\n const uploadStart = (files: FileList) => {\n const negativeOne = -1;\n // eslint-disable-next-line unicorn/prefer-spread -- we want this writing\n const uploadFilesInProgress: IDocumentItemProps[] = Array.from(files).map((file, key) => ({\n document: {\n documentId: (key + 1) * negativeOne,\n fileName: file.name,\n fileSize: file.size,\n },\n isDeleteConfirmationRequired: false,\n }));\n\n setFilesInProgress(uploadFilesInProgress);\n setIsUploading(true);\n };\n\n const showUploadFinishedMessage = () => {\n setIsUploadFinished(true);\n setIsUploading(false);\n\n const messageHideTimeout = 2000;\n setTimeout(() => {\n setIsUploadFinished(false);\n setIsUploading(false);\n }, messageHideTimeout);\n };\n\n const triggerDocumentsChange = (propertyDocumentIds: number[]) => {\n if (handleDocumentsChange) {\n handleDocumentsChange(propertyDocumentIds);\n }\n };\n\n const uploadFinished = (result: IUploadResult) => {\n showUploadFinishedMessage();\n setFetchKey(Date.now().toString());\n const uploadedDocuments = result.uploadedFiles.filter((d) => d.documentId && d.documentId > 0 && d.isSuccess);\n\n if (uploadedDocuments.length === 0) {\n return;\n }\n const uploadedDocumentIds = uploadedDocuments.map((d) => d.documentId ?? 0);\n const correctDocumentIds = documentIds.length > 0 ? documentIds : [];\n const newDocumentIds = documentType?.allowMultipleDocuments\n ? [...correctDocumentIds, ...uploadedDocumentIds]\n : uploadedDocumentIds.slice(0, 1);\n\n triggerDocumentsChange(newDocumentIds);\n\n uploadedDocuments.forEach((d) => removeFile(d.fileKey));\n };\n\n const removeDocument = (documentId: number) => {\n const newDocuments = documentIds.filter((id) => id !== documentId);\n\n triggerDocumentsChange(newDocuments);\n };\n\n const getInfoByType = (typeId?: number, includeTemporary?: boolean) =>\n documentsInfoData\n ?.filter((info) => {\n const isTemporary = includeTemporary ?? false;\n\n return info.documentTypeId === typeId && (!info.isTemporary || isTemporary);\n })\n .sort((a, b) => {\n if (a.createdDate.getTime() && b.createdDate.getTime()) {\n return a.createdDate.getTime() - b.createdDate.getTime();\n }\n\n return 0;\n }) as IDocumentsInfoStoreData[];\n\n const getDocuments = () => {\n if (documentIds.length === 0) {\n return [];\n }\n const items = documentsInfoData ? getInfoByType(documentTypeId, isTemporaryDocument) : [];\n const documentItems: IDocumentItemProps[] = items\n .filter((document) => documentIds.includes(document.documentId) && isDocumentPending(document))\n .map((document) =>\n mapToDocumentItemProps(document, Boolean(editableDocument), true, isDeleteConfirmationRequired, removeDocument),\n );\n\n return documentItems;\n };\n\n const renderDocuments = () => {\n const getfilesInProgress: IDocumentItemProps[] = getFilesInProgress(filesInProgress, removeFile);\n const documents: IDocumentItemProps[] = getDocuments();\n\n const documentsToRender = [...documents, ...getfilesInProgress];\n\n if (documentsToRender.length > 0) {\n return {documentsToRender.map(renderDocumentItem)};\n }\n\n return null;\n };\n\n const handleToggleClick = () => {\n setDefaultState();\n setIsHistoryExpanded(!isHistoryExpanded);\n };\n\n let fileInputProps: IUploaderProps = {\n isTemporary: isTemporaryDocument,\n handleFileUploaded: fileUploadFinished,\n handleUploadFinished: uploadFinished,\n handleUploadStart: uploadStart,\n handleFileUploadProgress: uploadProgress,\n inputName: documentInpuName,\n isRequired: documentIsRequired,\n };\n\n if (documentType) {\n fileInputProps = {\n ...fileInputProps,\n accept: documentType.supportedMimeTypes,\n documentTypeId: documentType.documentTypeId,\n maxFileSize: documentType.maxDataSize,\n isMultiple: documentType.allowMultipleDocuments,\n };\n }\n\n const uploaderDocument = () =>\n editableDocument ? (\n \n \n \n \n \n ) : null;\n\n const documentCardTypeField = (\n \n }\n title={\n \n }\n placeholder={\n \n }\n {...configDocument?.cardType}\n />\n );\n\n const documentCardNumberField = (\n \n }\n {...configDocument?.cardNumber}\n />\n );\n\n const disabledForIdentityCardTypes = configDocument?.expiration?.disabledForIdentityCardTypes;\n\n const disableExpirationField = disabledForIdentityCardTypes?.find(\n (cardType: string) => cardType === values.identityCard?.cardType,\n );\n\n const expirationDocumentField = !disableExpirationField && (\n \n }\n invalidMsg={TranslationKey.validationDateRegex}\n {...configDocument?.expiration}\n />\n );\n\n const documents = renderDocuments();\n const uploader = uploaderDocument();\n\n return (\n <>\n {documentCardTypeField}\n {documentCardNumberField}\n {expirationDocumentField}\n \n {uploader}\n \n {documents}\n {documentIds.length > 0 && (\n \n )}\n \n \n );\n};\n","import { Tooltip } from '@ori-ui/mui';\nimport type { GlobalCustomersDocumentTypeDto } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { ReactElement, FC } from 'react';\n\nimport { StyledDivHeader, StyledHelpCircle, StyledLabel, StyledRequiredDocument } from './DocumentStyledComponents';\n\ninterface IDocumentHeaderProps {\n label?: ReactElement;\n documentType?: GlobalCustomersDocumentTypeDto;\n requiredDocument: boolean;\n}\n\nexport const DocumentHeader: FC = (props) => {\n const { documentType, label, requiredDocument } = props;\n const { getTestIdProps } = useTestId();\n\n const description = documentType?.description && (\n \n \n \n );\n\n return (\n \n \n {label}\n {requiredDocument ? * : null}\n {description}\n \n \n );\n};\n","import { Typography } from '@ori-ui/mui';\nimport type { GlobalCustomersDocumentTypeDto } from '@ori/global-api-client-react';\nimport type { StaticCustomersMetadataIdentityCardDocumentPropertyDto } from '@ori/static-api-client-react';\nimport type { ReactElement, FC } from 'react';\n\nimport { useCustomerDocumentsInfos, useDocumentTypes } from '../../models/api';\nimport { Loading } from '../Loading';\nimport { DocumentContent } from './DocumentContent';\nimport { DocumentHeader } from './DocumentHeader';\nimport { RootContainer } from './DocumentStyledComponents';\n\ninterface IDocumentProps {\n documentTypeId: number;\n documentLabel: ReactElement;\n documentInfoText: ReactElement;\n documentIds: number[];\n handleDocumentsChange?: (documentIds: number[]) => void;\n isDeleteConfirmationRequired?: boolean;\n editableDocument?: boolean;\n config?: StaticCustomersMetadataIdentityCardDocumentPropertyDto;\n name: string;\n isRequired?: boolean;\n}\n\nexport const Document: FC = (props) => {\n const {\n documentIds,\n documentTypeId,\n isDeleteConfirmationRequired,\n editableDocument,\n name,\n config,\n isRequired,\n documentLabel,\n documentInfoText,\n handleDocumentsChange,\n } = props;\n\n const { data: documentsTypeData } = useDocumentTypes();\n const { data: documentsInfoData } = useCustomerDocumentsInfos();\n\n const getTypeById = (documentTypeIdProperty: number): GlobalCustomersDocumentTypeDto | undefined =>\n documentsTypeData?.find((type) => type.documentTypeId === documentTypeIdProperty);\n\n const isLoading = !documentsTypeData || !documentsInfoData;\n\n const documentType = getTypeById(documentTypeId);\n\n return (\n \n \n \n {documentInfoText}\n \n \n {isLoading ? : null}\n \n );\n};\n","import { Grid, styled, Typography } from '@ori-ui/mui';\nimport type {\n GlobalCustomerRegistrationsRegistrationLegalDetailsDto,\n GlobalCustomersCustomerDocumentDto,\n GlobalCustomersCustomerDocumentsDto,\n} from '@ori/global-api-client-react';\nimport type { StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC, ReactElement } from 'react';\nimport { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { ILocalizationKey } from '../../../interfaces';\nimport { TranslationKey } from '../../../models';\nimport { Document } from '../../Document';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n}));\n\nexport interface ILegalDocumentsProps {\n documentsConfig?: StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto;\n}\n\nexport const LegalDocuments: FC = (props) => {\n const { documentsConfig } = props;\n const [localDocuments, setLocalDocuments] = useState();\n\n const { getTestIdProps } = useTestId();\n\n const { setValue, watch, trigger } = useFormContext();\n\n const values = watch();\n\n const getDocumentLabel = (localization: ILocalizationKey) => (\n \n \n \n );\n\n const updateIdentityCard = (documentIds: number[]) => {\n const documents: GlobalCustomersCustomerDocumentDto[] = documentIds.map((id) => ({\n documentId: id,\n }));\n\n setLocalDocuments({ ...documents, documentsCollection: documents });\n setValue('identityCard.documentsCollection', documents as never);\n trigger('identityCard.documentsCollection');\n };\n\n const updateAdditionalIdentityCard = (documentIds: number[]) => {\n const documents: GlobalCustomersCustomerDocumentDto[] = documentIds.map((id) => ({\n documentId: id,\n }));\n\n setLocalDocuments({ ...documents, documentsCollection: documents });\n setValue('additionalIdentityCard.documentsCollection', documents as never);\n trigger('additionalIdentityCard.documentsCollection');\n };\n\n const getDocumentIds = (documents?: GlobalCustomersCustomerDocumentsDto): number[] => {\n if (!documents) {\n return [];\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- we need this condition\n return documents.documentsCollection?.map((d) => d.documentId);\n };\n\n const renderIdentityCardDocument = (): ReactElement | null => {\n const config = documentsConfig?.identityCard;\n const isAvailable = config?.isAvailable ?? false;\n const isEditable = config?.isEditable ?? false;\n\n const idCardDocumentInfoText = (\n \n );\n\n if (!isAvailable) {\n return null;\n }\n\n const documentTypeId = config?.documentTypeId ?? 0;\n const correctDocuments = values.identityCard ?? localDocuments;\n\n return (\n \n );\n };\n\n const renderAdditionalIdentityCardDocument = (): ReactElement | null => {\n const config = documentsConfig?.additionalIdentityCard;\n const isAvailable = config?.isAvailable ?? false;\n const isEditable = config?.isEditable ?? false;\n\n const additionalDocumentInfoText = (\n \n );\n\n if (!isAvailable) {\n return null;\n }\n\n const documentTypeId = config?.documentTypeId ?? 0;\n const correctDocuments = values.additionalIdentityCard ?? localDocuments;\n\n return (\n \n );\n };\n\n const idCard = renderIdentityCardDocument();\n const additionalIdCard = renderAdditionalIdentityCardDocument();\n\n const documentsAvailableContent = (\n \n {idCard}\n {additionalIdCard}\n \n );\n\n const documentsContent =\n documentsConfig?.identityCard?.isAvailable || documentsConfig?.additionalIdentityCard?.isAvailable\n ? documentsAvailableContent\n : null;\n\n return {documentsContent};\n};\n","import { Typography, Grid } from '@ori-ui/mui';\nimport type { GlobalCustomerRegistrationsRegistrationLegalDetailsDto } from '@ori/global-api-client-react';\nimport type {\n StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto,\n StaticCustomersMetadataApprovalPropertyDto,\n} from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useForm, FormProvider } from 'react-hook-form';\n\nimport { ContentKeys, Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport {\n useStepperData,\n useVirtualPageAnalyticsData,\n useFormError,\n useConfiguration,\n GetContent,\n} from '../../../contexts';\nimport { TranslationKey } from '../../../models';\nimport { CheckboxFormFieldByConfig } from '../../FieldsByConfig';\nimport { FormValidationSummary } from '../../FormValidationSummary';\nimport { TermsConditionsCheckbox } from '../../TermsConditionsCheckbox';\nimport { LegalDetailApprovals } from './LegalDetailApprovals';\nimport { LegalDocuments } from './LegalDocuments';\nimport {\n StyledForm,\n BackButtton,\n ConditionTitle,\n ConditionsInfoWrapper,\n DocumentInfoWrapper,\n StyledArrowIcon,\n SubmitButtton,\n StyledLink,\n} from './StyledComponentsLegalForm';\n\ninterface ILegalDetailsFormProps {\n initialData?: GlobalCustomerRegistrationsRegistrationLegalDetailsDto;\n config?: StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto;\n isSuccessSubmit: boolean;\n onSubmitForm: (data: GlobalCustomerRegistrationsRegistrationLegalDetailsDto) => void;\n}\n\nexport const LegalDetailsForm: FC = (props) => {\n const { initialData, config, isSuccessSubmit, onSubmitForm } = props;\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep, stepsOrder } = stepperData;\n\n const { getTestIdProps } = useTestId();\n\n const { customerServiceUrl } = useConfiguration();\n\n const methods = useForm({\n defaultValues: initialData,\n reValidateMode: 'onChange',\n shouldFocusError: true,\n mode: 'all',\n });\n\n const { watch, formState } = methods;\n const { isValid, isSubmitting } = formState;\n\n const values = watch();\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const identityErr = Object.keys(values.identityCard ?? {}).map((value) => `identityCard.${value}`);\n const prevValues = Object.keys(values);\n const identityValues = identityErr;\n const newValues = [...prevValues, ...identityValues];\n\n const invalidCodeErrors = customErrors?.filter(\n (er) => !newValues.map((val) => val.toLowerCase()).includes(er.fieldName?.toLowerCase() ?? ''),\n );\n\n const availableApprovals =\n config?.approvals &&\n Object.values(config.approvals).filter(\n (approval: StaticCustomersMetadataApprovalPropertyDto) => approval.isAvailable,\n );\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep } = virtualPageAnalyticsData;\n\n const handleBack = () => {\n setPreviousStep(stepsOrder[activeStep]);\n setActiveStep(activeStep - 1);\n };\n\n const isAnyAprrovalAvailable = Boolean(availableApprovals && availableApprovals.length > 0);\n\n const isAnyDocumentAvailable =\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- we need logical operator ||\n config?.identityCard?.isAvailable || config?.additionalIdentityCard?.isAvailable;\n\n return (\n \n \n \n {isAnyDocumentAvailable ? (\n \n \n \n \n \n \n \n \n ) : null}\n \n \n \n \n \n \n \n \n \n \n \n {isAnyAprrovalAvailable ? (\n \n ) : null}\n \n \n \n \n ),\n LegalDocument2_Link: (\n \n {' '}\n \n ),\n LegalDocument3_Link: (\n \n \n \n ),\n LegalDocument4_Link: (\n \n \n \n ),\n LegalDocument5_Link: (\n \n \n \n ),\n LegalDocument6_Link: (\n \n \n \n ),\n LegalDocument7_Link: (\n \n \n \n ),\n LegalDocument8_Link: (\n \n \n \n ),\n }}\n />\n {config?.confirmation1?.validation?.isMandatory ? ' *' : null}\n \n }\n value={values.confirmation1}\n {...config?.confirmation1}\n />\n \n \n \n \n ),\n LegalDocument2_Link: (\n \n \n \n ),\n LegalDocument3_Link: (\n \n \n \n ),\n LegalDocument4_Link: (\n \n \n \n ),\n LegalDocument5_Link: (\n \n \n \n ),\n LegalDocument6_Link: (\n \n \n \n ),\n LegalDocument7_Link: (\n \n \n \n ),\n LegalDocument8_Link: (\n \n \n \n ),\n }}\n />\n {config?.confirmation2?.validation?.isMandatory ? ' *' : null}\n \n }\n value={values.confirmation2}\n {...config?.confirmation2}\n />\n \n \n \n \n \n \n handleBack()}\n >\n \n \n \n \n \n );\n};\n","import * as UserRegisteredEvent from '@ori-events/user-registered';\nimport { Typography, styled } from '@ori-ui/mui';\nimport { Placement } from '@ori/analytics-data';\nimport {\n useApiClient,\n updateCustomerRegistration,\n updateCustomerRegistrationLegalDetails,\n getCustomerRegistrationAnalytics,\n HttpStatusCodes,\n} from '@ori/global-api-client-react';\nimport type {\n AxiosError,\n GlobalCustomerRegistrationsAnalyticsDto,\n GlobalCustomerRegistrationsRegistrationLegalDetailsDto,\n} from '@ori/global-api-client-react';\nimport type { FC } from 'react';\nimport { useState, useEffect } from 'react';\nimport type { SubmitHandler } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport {\n useConfiguration,\n useFormError,\n useNotificationData,\n useRegistrationStatus,\n useVirtualPageAnalyticsData,\n} from '../../contexts';\nimport type { IErrors } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { useLegalData, useLegalMetadata } from '../../models/api';\nimport { applyNegative, scrollTopFunctionHelper, virtualPageEventDispatch } from '../../utils';\nimport { BasicSkeleton } from '../BasicSkeleton';\nimport { LegalDetailsForm } from '../Forms';\nimport { StyledTitle } from './StepsStyledComponents';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n width: '100%',\n}));\n\nconst ContentWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n}));\n\nconst handleUserRegisteredEvent = (analyticsData: GlobalCustomerRegistrationsAnalyticsDto) => {\n const { consultantNumber, customerTypeId, registrationChannel, sponsorNumber, visitorSegment } = analyticsData;\n\n // workaround: date object contains client's timezone althrougt API returns only date portion\n const signUpDate = analyticsData.signUpDate ?? new Date();\n const signUpDateOffset = signUpDate.getTimezoneOffset() * 60000;\n const signUpDateWithoutOffset = new Date(signUpDate.getTime() - signUpDateOffset);\n const registerEventData: UserRegisteredEvent.Data = {\n registeredUserId: consultantNumber.toString(),\n customerTypeId: customerTypeId.toString(),\n registrationChannel: registrationChannel ?? '',\n registrationType: 'Self',\n sponsorNumber: sponsorNumber?.toString() ?? '',\n signUpDate: signUpDateWithoutOffset.toISOString(),\n visitorSegment: visitorSegment.toString(),\n placement: Placement.JoinUs,\n };\n window.dispatchEvent(\n new CustomEvent(UserRegisteredEvent.Name, {\n detail: registerEventData,\n }),\n );\n};\n\nexport const LegalStep: FC = () => {\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const { setFinished } = useRegistrationStatus();\n\n const [submitSuccess, setSubmitSuccess] = useState(false);\n\n const { registrationId } = useConfiguration();\n\n const { data: legalConfig } = useLegalMetadata();\n\n const isNegativeApprovals = Boolean(legalConfig?.approvals?.shared?.displayAsNegative);\n\n // initial data\n const { data: legalInitialData } = useLegalData(isNegativeApprovals);\n\n const {\n context: { errorData },\n } = useFormError();\n const { setErrorData, customErrors } = errorData;\n\n const api = useApiClient();\n\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep, previousStep } = virtualPageAnalyticsData;\n\n const getCorrectSubmitData = (data: GlobalCustomerRegistrationsRegistrationLegalDetailsDto) => {\n let correctData = data;\n\n const emptyIDCard = {\n documentsCollection: [],\n };\n\n if (!data.identityCard?.documentsCollection) {\n correctData = { ...data, identityCard: { ...data.identityCard, ...emptyIDCard } };\n }\n\n if (!data.additionalIdentityCard?.documentsCollection) {\n correctData = { ...correctData, additionalIdentityCard: emptyIDCard };\n }\n\n return correctData;\n };\n\n const getAnalyticsData = async (): Promise => {\n try {\n const response = await getCustomerRegistrationAnalytics(api, registrationId);\n const result = new FetchResult(response.status);\n if (result.isSuccess()) {\n return response.data;\n }\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n\n return undefined;\n };\n\n useEffect(() => {\n scrollTopFunctionHelper();\n }, []);\n\n useEffect(() => {\n virtualPageEventDispatch('LegalInformationStep', previousStep, registrationId);\n setPreviousStep('LegalInformationStep');\n // eslint-disable-next-line react-hooks/exhaustive-deps -- virtual page event should be fired exacly once, no need to reevaluate\n }, []);\n\n const handleUpdateRegistration = async () => {\n try {\n const updateResponse = await updateCustomerRegistration(api, registrationId, {\n loginType: 'Email',\n registrationId,\n currentStep: 'SubmitStep',\n });\n const result = new FetchResult(updateResponse.status);\n\n if (result.isSuccess()) {\n setSubmitSuccess(true);\n setFinished(true);\n const analyticsData = await getAnalyticsData();\n if (analyticsData !== undefined) {\n handleUserRegisteredEvent(analyticsData);\n }\n if (customErrors && customErrors.length > 0) {\n setErrorData([]);\n }\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n const onSubmit: SubmitHandler = async (data) => {\n const submitData = getCorrectSubmitData(data);\n const currentSubmitData: GlobalCustomerRegistrationsRegistrationLegalDetailsDto = {\n ...submitData,\n approvals: submitData.approvals && applyNegative(submitData.approvals, isNegativeApprovals),\n };\n try {\n const updateResponseLegal = await updateCustomerRegistrationLegalDetails(api, registrationId, currentSubmitData);\n const result = new FetchResult(updateResponseLegal.status);\n\n if (result.isSuccess()) {\n await handleUpdateRegistration();\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n if (!legalInitialData) {\n return ;\n }\n\n return (\n \n \n \n \n \n \n \n \n\n \n \n \n );\n};\n","import type {\n ApiClient,\n StaticCustomerRegistrationsMetadataRegistrationSponsorDetailsMetadataDto,\n} from '@ori/static-api-client-react';\nimport {\n getTenantCustomerRegistrationsMetadatumSponsorDetailsMetadata,\n useApiClient,\n} from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType, type IRegistrationType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchSponsorMetadata(api: ApiClient, tenant: string, registrationType: IRegistrationType) {\n const emptySponsorMetadata: StaticCustomerRegistrationsMetadataRegistrationSponsorDetailsMetadataDto = {};\n\n try {\n const response = await getTenantCustomerRegistrationsMetadatumSponsorDetailsMetadata(api, tenant, registrationType);\n\n return new FetchResult(\n response.status,\n response.data,\n );\n } catch (error: unknown) {\n return FetchResult.errorFor(emptySponsorMetadata);\n }\n}\n\nexport const useSponsorMetadata = () => {\n const { tenant, registrationType } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, registrationType, 'sponsorMetadata'],\n async () => {\n const result = await fetchSponsorMetadata(staticApi, tenant, registrationType);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch sponsor metadata');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import {\n getCustomerRegistrationSponsorDetails,\n type ApiClient,\n type GlobalCustomerRegistrationsRegistrationSponsorDetailsDto,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchSponsorData(api: ApiClient, registrationIdParam: string) {\n const emptySponsorData: GlobalCustomerRegistrationsRegistrationSponsorDetailsDto = {};\n\n try {\n const response = await getCustomerRegistrationSponsorDetails(api, registrationIdParam);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptySponsorData);\n }\n}\n\nexport const useSponsorData = () => {\n const { registrationId } = useConfiguration();\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [registrationId, 'sponsorData'],\n async () => {\n const result = await fetchSponsorData(api, registrationId);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch sponsor data');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import {\n getCustomerRegistrationSponsorDetailsSponsorInfo,\n type ApiClient,\n type GlobalCustomerRegistrationsRegistrationSponsorInfoDto,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchSponsorInfoData(api: ApiClient, registrationIdParam: string) {\n const emptySponsorInfoData: GlobalCustomerRegistrationsRegistrationSponsorInfoDto = {};\n\n try {\n const response = await getCustomerRegistrationSponsorDetailsSponsorInfo(api, registrationIdParam);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptySponsorInfoData);\n }\n}\n\nexport const useSponsorInfoData = (refetchKey?: string) => {\n const { registrationId } = useConfiguration();\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [registrationId, refetchKey, 'sponsorInfoData'],\n async () => {\n const result = await fetchSponsorInfoData(api, registrationId);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch sponsor info data');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import { useToken } from '@ori/auth';\nimport type { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport axios from 'axios';\nimport useSWR from 'swr';\n\nimport { useConfiguration } from '../../../contexts';\n\nconst axiosClient = axios.create();\n\nconst getEncodedImage = (blob: Blob): string => URL.createObjectURL(blob);\n\nexport function useSponsorImage(registrationId: string, profileImageDocumentId?: number | null) {\n const { globalApiUrl, tenant } = useConfiguration();\n const { formattedToken } = useToken();\n const shouldFetch = Boolean(profileImageDocumentId !== null && profileImageDocumentId !== undefined);\n const url = `${globalApiUrl}/customerRegistrations/${registrationId}/sponsorDetails/profileImage`;\n\n const { data: sponsorImage } = useSWR(shouldFetch ? url.toString() : null, async (requestUrl: string) => {\n const headers: AxiosRequestConfig['headers'] = {\n 'x-tenant-context': tenant,\n };\n headers.Authorization = formattedToken;\n const { data } = await axiosClient\n .get(requestUrl, {\n headers,\n responseType: 'blob',\n })\n .then((blob) => blob)\n .catch((error: AxiosResponse) => error);\n\n return data;\n });\n\n return sponsorImage === undefined ? undefined : getEncodedImage(sponsorImage);\n}\n","import { Typography, styled, Button, Avatar } from '@ori-ui/mui';\nimport type { GlobalCustomerRegistrationsRegistrationSponsorInfoDto } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { ReactElement, FC } from 'react';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useStepperData, useVirtualPageAnalyticsData } from '../../../contexts';\nimport { TranslationKey } from '../../../models';\nimport { stringAvatar } from '../../../utils';\n\ninterface ISponsorBoxProps {\n sponsorDetailInfo: GlobalCustomerRegistrationsRegistrationSponsorInfoDto;\n title: ReactElement;\n isVisibleNextButton: boolean;\n sponsorImage?: string;\n}\n\nconst RootContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n}));\n\nconst StyledAvatar = styled(Avatar)(({ theme }) => ({\n width: '120px',\n height: '120px',\n marginBottom: theme.spacing(2),\n color: theme.palette.text.primary,\n textDecoration: 'none',\n}));\n\nconst StyledNameLabel = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(1),\n}));\n\nconst StyledTitle = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(4),\n fontWeight: 'bold',\n}));\n\nconst NexButtton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(8),\n}));\n\nexport const SponsorBox: FC = (props) => {\n const { sponsorDetailInfo, title, isVisibleNextButton, sponsorImage } = props;\n const { consultantNumber, fullName } = sponsorDetailInfo;\n\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep, stepsOrder } = stepperData;\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep } = virtualPageAnalyticsData;\n\n const { getTestIdProps } = useTestId();\n\n const handleNextStep = () => {\n setPreviousStep(stepsOrder[activeStep]);\n setActiveStep(activeStep + 1);\n };\n\n return (\n \n \n {title}\n \n {fullName ? (\n \n ) : null}\n \n {fullName}\n \n \n {consultantNumber}\n \n\n {isVisibleNextButton ? (\n handleNextStep()}\n {...getTestIdProps('sponsorBox-next-step-btn')}\n >\n \n \n ) : null}\n \n );\n};\n","import { Toggle } from '@ori-ui/components';\nimport { ArrowLeftThin } from '@ori-ui/icons';\nimport {\n Box,\n Button,\n FormControlLabel,\n Grid,\n Radio,\n RadioGroup,\n styled,\n InputLabel,\n Typography,\n Select,\n MenuItem,\n FormControl,\n} from '@ori-ui/mui';\nimport type {\n GlobalCustomerRegistrationsRegistrationSponsorDetailsDto,\n GlobalCustomerRegistrationsRegistrationSponsorInfoDto,\n} from '@ori/global-api-client-react';\nimport type {\n StaticCustomerRegistrationsMetadataRegistrationSponsorDetailsMetadataDto,\n StaticCustomerRegistrationsMetadataRegistrationSponsorDetailsMetadataDtoPreselectedSponsorSelectionMethod,\n} from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { ChangeEvent, FC } from 'react';\nimport { useEffect, useState } from 'react';\nimport { FormProvider, useForm } from 'react-hook-form';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useStepperData, useFormError, useVirtualPageAnalyticsData } from '../../../contexts';\nimport { TranslationKey } from '../../../models';\nimport { useAddressFormatMetadata } from '../../../models/api';\nimport { getOptionLabelSingleLine, defaultAddressFormat } from '../../../utils';\nimport { AddressAutocomplete } from '../../AddressAutocomplete';\nimport { TextFormFieldByConfig } from '../../FieldsByConfig';\nimport { FormValidationSummary } from '../../FormValidationSummary';\nimport { SponsorBox } from './SponsorBox';\n\nenum selectBpVariant {\n findSponsor = 'SponsorLocator',\n knowSponsorNumber = 'ManualInput',\n}\n\nconst StyledForm = styled('form')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n width: '100%',\n marginTop: theme.spacing(8),\n}));\n\nconst SubmitButtton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(3),\n}));\n\nconst FindButtton = styled(Button)(({ theme }) => ({\n width: '330px',\n maxWidth: '100%',\n height: '35px',\n margin: '0 auto',\n marginBottom: theme.spacing(10),\n}));\n\nconst BackButtton = styled(Button)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'space-between',\n minWidth: '60px',\n marginTop: theme.spacing(2),\n}));\n\nconst StyledArrowIcon = styled(ArrowLeftThin)(({ theme }) => ({\n marginRight: theme.spacing(1),\n}));\n\nconst StyledFormControlLabel = styled(FormControlLabel)(({ theme }) => ({\n alignItems: 'center',\n marginBottom: theme.spacing(3),\n}));\n\nconst AddressAutocompleteWrapper = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(6),\n}));\n\nconst StyledToggle = styled(Toggle)(({ theme }) => ({\n cursor: 'pointer',\n}));\n\nconst StyledSingleLineLabel = styled(Typography)(({ theme }) => ({\n display: 'flex',\n width: '100%',\n marginBottom: theme.spacing(2),\n marginTop: theme.spacing(5),\n}));\n\ninterface IConnectToBPFormProps {\n initialData?: GlobalCustomerRegistrationsRegistrationSponsorDetailsDto;\n config?: StaticCustomerRegistrationsMetadataRegistrationSponsorDetailsMetadataDto;\n sponsorInfo?: GlobalCustomerRegistrationsRegistrationSponsorInfoDto;\n profileSponsorImage?: string;\n isDefaultAddress: boolean;\n isSuccessSubmit: boolean;\n onSubmitForm: (data: GlobalCustomerRegistrationsRegistrationSponsorDetailsDto) => void;\n}\n\nexport const ConnectToBPForm: FC = (props) => {\n const { initialData, config, sponsorInfo, profileSponsorImage, isDefaultAddress, isSuccessSubmit, onSubmitForm } =\n props;\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep, stepsOrder } = stepperData;\n\n const defaultSelectSponsorType = config?.preselectedSponsorSelectionMethod ?? 'ManualInput';\n\n const {\n context: { errorData },\n } = useFormError();\n const { setErrorData, customErrors } = errorData;\n\n const [selectSponsorType, setSelectSponsorType] = useState(defaultSelectSponsorType);\n const [country, setCountry] = useState(false);\n const [resetKey, setResetKey] = useState(0);\n\n const { getTestIdProps } = useTestId();\n\n const methods = useForm({\n defaultValues: initialData,\n reValidateMode: 'onChange',\n mode: 'all',\n });\n\n const { formState, watch, setValue } = methods;\n\n const { isValid, isSubmitting } = formState;\n const countryOptions = config?.address?.country?.availableOptions ?? [];\n\n const values = watch();\n\n const invalidCodeErrors = customErrors?.filter(\n (er) =>\n !Object.keys(values)\n .map((val) => val.toLowerCase())\n .includes(er.fieldName?.toLowerCase() ?? ''),\n );\n\n const countryFieldName = 'address.country';\n\n const { data: formatAddressFields } = useAddressFormatMetadata('SingleLine');\n\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep } = virtualPageAnalyticsData;\n\n const handleChangeSponsorFindType = (event: ChangeEvent) => {\n setSelectSponsorType(\n event.target\n .value as StaticCustomerRegistrationsMetadataRegistrationSponsorDetailsMetadataDtoPreselectedSponsorSelectionMethod,\n );\n setResetKey(Date.now());\n methods.reset(initialData);\n methods.clearErrors();\n setCountry(false);\n if (customErrors && customErrors.length > 0) {\n setErrorData([]);\n }\n setErrorData([]);\n };\n\n const handleBack = () => {\n setPreviousStep(stepsOrder[activeStep]);\n setActiveStep(activeStep - 1);\n };\n\n const handleNext = () => {\n setPreviousStep(stepsOrder[activeStep]);\n setActiveStep(activeStep + 1);\n };\n\n useEffect(() => {\n if (values.address?.zipcode) {\n setSelectSponsorType(selectBpVariant.findSponsor);\n }\n }, [values.address?.zipcode]);\n\n useEffect(() => {\n if (config?.address?.country?.isAvailable && selectSponsorType === selectBpVariant.findSponsor) {\n setValue(countryFieldName, countryOptions[0]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed other property\n }, [selectSponsorType]);\n\n const isKnowSponsorNumber = selectSponsorType === selectBpVariant.knowSponsorNumber;\n const isFindSponsorSelected = selectSponsorType === selectBpVariant.findSponsor;\n\n const getAddressAutocomplete = () => {\n if (config?.address?.searchOptions?.isEnabled) {\n return (\n \n }\n />\n );\n }\n\n return null;\n };\n\n const handleChangeCountry = (countryProperty: boolean | string) => {\n setCountry(countryProperty);\n if (typeof countryProperty === 'boolean') {\n if (countryProperty) {\n setValue(countryFieldName, countryOptions[1]);\n } else {\n setValue(countryFieldName, countryOptions[0]);\n }\n } else {\n setValue(countryFieldName, countryProperty);\n }\n };\n\n const getCountryField = () => {\n if (countryOptions.length === 2) {\n return (\n \n \n \n \n handleChangeCountry(checked)}\n />\n \n );\n }\n return (\n \n \n \n \n \n }\n onChange={(e) => handleChangeCountry(e.target.value)}\n >\n {countryOptions.sort().map((opt) => (\n \n {opt}\n \n ))}\n \n \n );\n };\n\n const getCorrectSubmitButton = () => {\n if (isFindSponsorSelected) {\n return (\n handleNext()}\n {...getTestIdProps('submit-btn-sponsorForm')}\n >\n \n \n );\n }\n\n return (\n \n \n \n );\n };\n\n const addressAutocomplete = getAddressAutocomplete();\n\n const countryField = getCountryField();\n\n const isDisabledFind = !(values.address?.country ?? values.address?.zipcode);\n const submitButton = getCorrectSubmitButton();\n\n const knowSponsorLabelVariant = sponsorInfo?.consultantNumber ? 'body2' : 'body1';\n\n const formatedAddress = values.address?.zipcode\n ? getOptionLabelSingleLine(0, values.address, formatAddressFields ?? defaultAddressFormat)\n : null;\n\n const singleLineAddress =\n config?.address?.searchOptions?.isEnabled && formatedAddress ? (\n <>\n \n \n \n \n {formatedAddress}\n \n \n ) : null;\n\n return (\n \n \n \n {sponsorInfo?.consultantNumber ? (\n \n }\n />\n ) : (\n \n \n \n \n }\n disabled={Boolean(sponsorInfo?.consultantNumber)}\n label={\n \n \n \n }\n />\n {isKnowSponsorNumber ? (\n \n }\n tooltipText={\n \n }\n {...config?.sponsorNumber}\n allowOnlyNumbers\n isEditable={isKnowSponsorNumber}\n validation={{ isMandatory: isKnowSponsorNumber }}\n />\n ) : null}\n \n \n }\n label={\n \n \n \n }\n style={{ order: 0 }}\n />\n {isFindSponsorSelected && !sponsorInfo?.consultantNumber ? (\n <>\n {config?.address?.country?.isAvailable && !isDefaultAddress ? (\n
{countryField}
\n ) : null}\n {initialData?.address?.zipcode ? null : (\n <>\n \n {addressAutocomplete}\n {singleLineAddress}\n \n\n \n }\n tooltipText={\n \n }\n {...config?.address?.zipcode}\n isAddressMatchRequired\n validation={{ isMandatory: isFindSponsorSelected }}\n />\n \n )}\n\n \n \n \n \n ) : null}\n {sponsorInfo?.consultantNumber ? (\n
\n \n }\n isVisibleNextButton={false}\n />\n
\n ) : null}\n \n \n \n {submitButton}\n \n )}\n handleBack()}\n >\n \n \n \n \n
\n );\n};\n","import { Typography } from '@ori-ui/mui';\nimport { useApiClient, updateCustomerRegistrationSponsorDetails, HttpStatusCodes } from '@ori/global-api-client-react';\nimport type {\n AxiosError,\n GlobalCustomerRegistrationsRegistrationSponsorDetailsDto,\n GlobalSharedAddressDto,\n} from '@ori/global-api-client-react';\nimport type { FC } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { SubmitHandler } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport {\n useConfiguration,\n useNotificationData,\n useFormError,\n useStepperData,\n useVirtualPageAnalyticsData,\n} from '../../contexts';\nimport type { IErrors } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport {\n useSponsorData,\n useSponsorInfoData,\n useSponsorMetadata,\n usePersonalData,\n useSponsorImage,\n} from '../../models/api';\nimport { scrollTopFunctionHelper, virtualPageEventDispatch } from '../../utils';\nimport { BasicSkeleton } from '../BasicSkeleton';\nimport { ConnectToBPForm } from '../Forms';\nimport { RootContainer, StyledTitle } from './StepsStyledComponents';\n\nexport const SponsorStep: FC = () => {\n const [fetchKey, setFetchKey] = useState('');\n const [submitSuccess, setSubmitSuccess] = useState(false);\n\n const { registrationId } = useConfiguration();\n\n const notificationStore = useNotificationData().context.notificationData;\n const {\n context: { errorData },\n } = useFormError();\n const { setErrorData, customErrors } = errorData;\n\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep } = stepperData;\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep, previousStep } = virtualPageAnalyticsData;\n\n const { data: sponsorConfig } = useSponsorMetadata();\n const { data: sponsorInitialData } = useSponsorData();\n const { data: sponsorInfoData } = useSponsorInfoData(fetchKey);\n const { data: personalInitialData } = usePersonalData();\n const sponsorImage = useSponsorImage(registrationId, sponsorInfoData?.profileImageDocumentId);\n\n const api = useApiClient();\n\n const oneCountryMarket =\n sponsorConfig?.address?.country?.isAvailable && sponsorConfig.address.country.availableOptions.length === 1;\n\n useEffect(() => {\n scrollTopFunctionHelper();\n }, []);\n\n useEffect(() => {\n virtualPageEventDispatch('SponsorSelectionStep', previousStep, registrationId);\n setPreviousStep('SponsorSelectionStep');\n // eslint-disable-next-line react-hooks/exhaustive-deps -- virtual page event should be fired exacly once, no need to reevaluate\n }, []);\n\n const defaultAddressType = sponsorConfig?.address?.addressType?.availableOptions\n ? sponsorConfig.address.addressType.availableOptions[0]\n : 'Other';\n\n const onSubmit: SubmitHandler = async (data) => {\n let correctAddressData = null;\n let correctSponsorNumber = data.sponsorNumber as number | null | undefined;\n\n if (data.address) {\n correctAddressData = {\n address: { ...data.address, addressType: defaultAddressType },\n } as unknown;\n }\n\n if (data.sponsorNumber) {\n correctAddressData = null;\n }\n\n if (correctSponsorNumber === null) {\n correctSponsorNumber = undefined;\n } else {\n correctSponsorNumber = Number(data.sponsorNumber);\n }\n\n if (!data.sponsorNumber && personalInitialData?.address?.country) {\n correctAddressData = {\n address: { ...personalInitialData.address },\n };\n }\n\n if (!data.sponsorNumber && !data.address && oneCountryMarket) {\n correctAddressData = {\n address: {\n addressType: defaultAddressType,\n country: sponsorConfig.address?.country?.availableOptions[0],\n },\n };\n }\n\n const correctData: GlobalCustomerRegistrationsRegistrationSponsorDetailsDto = {\n ...(correctAddressData as GlobalSharedAddressDto),\n sponsorNumber: correctSponsorNumber,\n sponsorOrigin: data.sponsorOrigin,\n };\n try {\n const updateResponse = await updateCustomerRegistrationSponsorDetails(api, registrationId, correctData);\n const result = new FetchResult(updateResponse.status);\n\n if (result.isSuccess()) {\n setSubmitSuccess(true);\n if (correctData.sponsorNumber) {\n setActiveStep(activeStep + 1);\n } else {\n setFetchKey(Date.now().toString());\n }\n if (customErrors && customErrors.length > 0) {\n setErrorData([]);\n }\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n notificationStore.setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n if (!sponsorInitialData) {\n return ;\n }\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- we need logical operator ||\n const defaultAddressAvailable = personalInitialData?.address?.country || oneCountryMarket;\n\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n","import { styled } from '@ori-ui/mui';\nimport type { FC } from 'react';\nimport { useEffect } from 'react';\nimport { useSWRConfig } from 'swr';\n\nimport { useStepperData, useConfiguration } from '../../contexts';\nimport { Stepper } from '../Stepper';\nimport { LegalStep, PersonalStep, SponsorStep } from '../Steps';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n}));\n\nconst ContentContainer = styled('div')(({ theme }) => ({\n width: '100%',\n maxWidth: '500px',\n}));\n\ninterface IStepContentProps {\n currentStep?: string;\n steps: string[];\n}\n\nexport const StepperWithContent: FC = (props) => {\n const { currentStep, steps } = props;\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep, setStepsOrder } = stepperData;\n const { registrationType, referral } = useConfiguration();\n\n const { cache } = useSWRConfig();\n\n const isVipCustomerType = registrationType === 'VipCustomer';\n const isCorrectReferral = referral?.ReferralType === 'Pbs' || referral?.ReferralType === 'ReferralLink';\n\n const vipWithoutSponsor = isVipCustomerType && !isCorrectReferral;\n\n useEffect(() => {\n setStepsOrder(steps);\n }, [setStepsOrder, steps]);\n\n useEffect(() => {\n if (currentStep) {\n const actualStep = steps.indexOf(currentStep);\n\n if (actualStep !== -1) {\n setActiveStep(actualStep);\n cache.delete('registrationData');\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed other property\n }, [currentStep]);\n const getStepperContent = () => {\n let content;\n switch (activeStep) {\n case 0:\n content = (\n \n \n \n );\n break;\n case 1:\n content = {vipWithoutSponsor ? : };\n break;\n case 2:\n content = (\n \n \n \n );\n break;\n default:\n content = null;\n }\n\n return content;\n };\n\n const stepperContent = getStepperContent();\n\n return (\n \n \n {stepperContent}\n \n );\n};\n","import { Box, Link, styled } from '@ori-ui/mui';\nimport type { FC } from 'react';\n\nimport { useIsMobile } from '../../utils';\n\nconst OriflameLogoSvg = styled('svg')(({ theme }) => ({\n fill: theme.palette.grey[700],\n height: '100%',\n width: 180,\n [theme.breakpoints.down('sm')]: {\n width: 100,\n },\n}));\n\nconst LogoSeparator = styled('div')(({ theme }) => ({\n position: 'absolute',\n bottom: 0,\n width: '100%',\n height: '2px',\n background: theme.palette.grey[100],\n}));\n\nconst StyledBox = styled(Box)(({ theme }) => ({\n position: 'sticky',\n top: 0,\n display: 'flex',\n justifyContent: 'center',\n height: '40px',\n width: '100%',\n maxWidth: '100%',\n background: theme.palette.background.default,\n padding: theme.spacing(3),\n zIndex: 20,\n marginLeft: '-15px',\n}));\n\nexport const OriflameLogo: FC = () => {\n const isMobile = useIsMobile();\n\n return (\n \n \n \n \n \n \n {isMobile ? : null}\n \n );\n};\n","import { FeedbackNotification } from '@ori-ui/components';\nimport { CheckHeavy, ErrorCircle } from '@ori-ui/icons';\nimport { styled } from '@ori-ui/mui';\nimport type { FC } from 'react';\nimport { useState, useCallback } from 'react';\n\nimport { StepperWithContent, PreStep, WelcomeStep, VerificationStep, OriflameLogo } from '../components';\nimport { useConfiguration, useNotificationData, useRegistrationStatus } from '../contexts';\nimport { MessageType } from '../interfaces';\nimport { useRegistrationData } from '../models/api';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n flexGrow: 1,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n paddingInline: theme.spacing(6),\n [theme.breakpoints.down('sm')]: {\n paddingInline: theme.spacing(3),\n },\n}));\n\nconst threeSteps = ['PersonalInfoStep', 'SponsorSelectionStep', 'LegalInformationStep'];\nconst twoSteps = ['PersonalInfoStep', 'LegalInformationStep'];\n\nexport const LandingPage: FC = () => {\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData, data } = notificationData;\n const { finished } = useRegistrationStatus();\n const [isVerified, setIsVerified] = useState(false);\n\n const { data: registrationData } = useRegistrationData();\n\n const feedBackIcon = data?.type === MessageType.error ? : ;\n\n const { registrationType, registrationId, referral } = useConfiguration();\n\n const handleClose = useCallback(() => {\n setNotificationData({ isOpen: false });\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed updated on other property\n }, [notificationData]);\n\n const isVipCustomerType = registrationType === 'VipCustomer';\n const isCorrectReferral = referral?.ReferralType === 'Pbs' || referral?.ReferralType === 'ReferralLink';\n\n const vipWithoutSponsor = isVipCustomerType && !isCorrectReferral;\n const currentSteps = vipWithoutSponsor ? twoSteps : threeSteps;\n\n const getCorrectContent = () => {\n if (!registrationId) {\n return ;\n }\n if (registrationData?.currentStep === 'ContactVerification' && !isVerified) {\n return setIsVerified(true)} />;\n }\n if (finished || registrationData?.currentStep === 'SubmitStep') {\n return ;\n }\n if (registrationData?.registrationId) {\n return (\n \n );\n }\n\n return null;\n };\n\n const correctContent = getCorrectContent();\n\n return (\n \n {registrationId ? : null}\n {correctContent}\n \n \n {data?.message}\n \n \n \n );\n};\n","import { ThemeProvider, theme } from '@ori-ui/mui';\nimport { useToken } from '@ori/auth';\nimport { ClientCultureProvider } from '@ori/culture';\nimport { Team, TestIdProvider } from '@ori/testid-generator';\nimport { Suspense, type FC } from 'react';\n\nimport { BasicSkeleton } from './components';\nimport { APP_NAME } from './constants';\nimport { ApiProvider, ContentsContainer, ErrorBoundary, I18nContainer, RegisterStatusContainer } from './containers';\nimport {\n ConfigurationProvider,\n FormErrorProvider,\n NotificationProvider,\n StepperProvider,\n VirtualPageAnalyticsProvider,\n} from './contexts';\nimport { LandingPage } from './pages';\nimport type { ClientAppConfig } from './types/ClientAppConfig';\n\nexport type AppProps = { configuration: ClientAppConfig };\n\nexport const App: FC = ({ configuration }) => {\n const { formattedToken } = useToken();\n\n if (!formattedToken) {\n return null;\n }\n return (\n \n \n \n }>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { ThemeProvider } from '@ori-ui/mui';\nimport { UniversalTokenProvider } from '@ori/auth';\nimport { parseClientAppConfig } from '@ori/client-app-config';\nimport { createRoot } from 'react-dom/client';\n\nimport { App } from './App';\nimport { EMOTION_CACHE_KEY } from './constants';\nimport { ErrorBoundary } from './containers/ErrorBoundary';\nimport type { ClientAppConfig } from './types/ClientAppConfig';\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 { config = '' } = rootElement.dataset;\n const clientAppConfig = parseClientAppConfig(config, ['customerId', 'tenant']);\n const { customerId } = clientAppConfig;\n\n createRoot(rootElement).render(\n \n \n \n \n \n \n ,\n );\n}\n"],"names":["Root","styled","_ref","theme","display","flexDirection","alignItems","StepLogo","_ref2","paddingBottom","spacing","StepTitle","_ref3","StepSubTitle","_ref4","StepContent","_ref5","BasicSkeleton","useTheme","isMobile","useMediaQuery","breakpoints","down","_jsxs","children","_jsx","Skeleton","height","width","variant","animation","sx","borderRadius","ErrorBoundary","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","_inherits","_createClass","key","value","error","this","state","console","props","Component","defaultTranslations","Approval_BlockGuaranteeOrdering","Approval_Contact","Approval_MarketingConsultant","Approval_MarketingExternal","Approval_MarketingOriflame","Approval_Newletters","Approval_PersonalData","Approval_Publication","Approval_UplineLeaderBrowse","Approval_UplineLeaderData","Custom_text","EmailPrimaryChannelDescription","EmailPrimaryChannelLabel","EmailPrimaryChannelPlaceholder","EmailPrimaryChannelTitle","EmailPrimaryChannelTooltip","EmailVerification_Header","EmailVerification_ProceedingToRegistration","EmailVerification_SendAgain","EmailVerification_Text","EmailVerification_Verified","EmailVerification_WrongCode","Error_WrongCode","FirstStep_Address","FirstStep_Button","FirstStep_Country","FirstStep_Country_Placeholder","FirstStep_Country_Tooltip","FirstStep_DateOfBirth","FirstStep_DateOfBirthText","FirstStep_Email","FirstStep_Email_Optional","FirstStep_FirstName","FirstStep_FirstName_Tooltip","FirstStep_Gender","FirstStep_Gender_Placeholder","FirstStep_Header","FirstStep_LastName","FirstStep_LastName_Tooltip","FirstStep_Phone","FirstStep_PhoneWithPrefix","FirstStep_Phone_Optional","FirstStep_PlaceHolder","FirstStep_PlaceholderEmail","FirstStep_PlaceholderPhone","FirstStep_PlaceholderPhoneWithPrefix","FirstStep_SearchedAddress","FirstStep_Text","FirstStep_TooltipEmail","FirstStep_TooltipPhone","FirstStep_TooltipPhoneWithPrefix","FirstStep_UniqueId","FirstStep_UniqueId_Tooltip","LegalDocument1_Link_Label","LegalDocument2_Link_Label","LegalDocument3_Link_Label","LegalDocument4_Link_Label","LegalDocument5_Link_Label","LegalDocument6_Link_Label","LegalDocument7_Link_Label","LegalDocument8_Link_Label","PhonePrimaryChannelDescription","PhonePrimaryChannelLabel","PhonePrimaryChannelLabelWithPrefix","PhonePrimaryChannelPlaceholder","PhonePrimaryChannelPlaceholderWithPrefix","PhonePrimaryChannelTitle","PhonePrimaryChannelTooltip","PhonePrimaryChannelTooltipWithPrefix","PhoneVerification_Header","PhoneVerification_ProceedingToRegistration","PhoneVerification_SendAgain","PhoneVerification_Text","PhoneVerification_Verified","PhoneVerification_WrongCode","Prestep_Apple","Prestep_Button","Prestep_Email","Prestep_ExternalAccountAlreadyConnected","Prestep_Facebook","Prestep_Google","Prestep_Header","Prestep_InvitationCode","Prestep_InvitationCodeNotFound","Prestep_InvitationCodeTitle","Prestep_InvitationCodeTooltip","Prestep_LegalNotice","Prestep_LegalNotice_PrivacyPolicy_Label","Prestep_LegalNotice_TermsAndConditions_Label","Prestep_Or","Prestep_Password","Prestep_Phone","Prestep_PhoneWithPrefix","Prestep_PlaceholderEmail","Prestep_PlaceholderPassword","Prestep_PlaceholderPhone","Prestep_PlaceholderPhoneWithPrefix","Prestep_ReferralTitle","Prestep_RegistrationFailed","Prestep_TooltipEmail","Prestep_TooltipPhone","Prestep_TooltipPhoneWithPrefix","Prestep_UnauthorizedAccess","PrimaryChannelSubmitButton","PrivacyPolicy_Label","PrivacyPolicy_Text","Reseller","SecondStep_BrandPartnerNumber","SecondStep_Button","SecondStep_Button_Find","SecondStep_Country","SecondStep_FindTheBestBrandPartner","SecondStep_FindTheBestBrandPartner_Tooltip","SecondStep_Header","SecondStep_HeresYourBrandPartner","SecondStep_IKnowaBrandPartner","SecondStep_SearchedAddress","SecondStep_Text","SecondStep_YourAreConnected","SecondStep_YourZipCode","SecondStep_YourZipCode_Tooltip","TermsAndConditions","TermsAndConditions_Label","ThirdStep_AddYourDocument","ThirdStep_AdditionalIDCard_Header","ThirdStep_AdditionalIDCard_Text","ThirdStep_Button","ThirdStep_ChooseDocumentType","ThirdStep_Confirmation1","ThirdStep_Confirmation2","ThirdStep_DocumentDetails","ThirdStep_DocumentFileSize","ThirdStep_DocumentNumber","ThirdStep_DocumentNumber_Tooltip","ThirdStep_DocumentType","ThirdStep_Documents_Header","ThirdStep_ExpirationDate","ThirdStep_ExpirationDate_Tooltip","ThirdStep_GeneralConditions","ThirdStep_GeneralConditions_Text","ThirdStep_Header","ThirdStep_HeaderText","ThirdStep_IDCard_Header","ThirdStep_IDCard_Text","ThirdStep_ImageGuidelines","ThirdStep_KYCDocument_Header","ThirdStep_KYCDocument_Text","ThirdStep_More","ThirdStep_SelectFile","ThirdStep_ShowLess","ThirdStep_ShowMore","ThirdStep_UploadDocument","ThirdStep_UploadDocumentText","ThirdStep_Your_Documents_Header","ThirdStep_Your_Documents_Text","Welcome_App","Welcome_Button","Welcome_Header","Welcome_Text","addresResults","addressSearch","addressSearchTooltip","addressSearchValidation","area","area_Placeholder","area_Tooltip","back","birthDate_DoesntMatchUniqueId","birthDate_LegalRequirementsFailed","birthDate_OutOfRange","cancel","cannotCreate","cannotDelete","cannotGetData","cannotResend","cannotUpdate","cannotVerify","city","city_Placeholder","city_Tooltip","confirm","confirmDocumentDelete","country","country_Placeholder","customerServiceLinkLabel","customer_NotEligible","customer_NotUnique","delete","delivery","delivery2","delivery2_Placeholder","delivery2_Tooltip","delivery3","delivery3_Placeholder","delivery3_Tooltip","delivery_Placeholder","delivery_Tooltip","district","district_Placeholder","district_Tooltip","document_ExpirationTooSoon","errorOccured","fileTypeIsNotSupported","genderLabelMan","genderLabelOther","genderLabelWoman","hide","history","locality","locality_Placeholder","locality_Tooltip","loginLinkLabel","noSuggestions","optedOutOfSponsorSelect","orderHistory","passwordRequirementCharactersCount","passwordRequirementDigit","passwordRequirementLetter","passwordRequirementLowerCaseLetter","passwordRequirementSpecialCharacter","passwordRequirementUpperCaseLetter","province","province_Placeholder","province_Tooltip","readMore","region","region_Placeholder","region_Tooltip","resendInMinute","searchForAnAddress","selectFile","selectedFileExceedsMaximumSize","showImage","stateApproved","statePending","stateRejected","stateUnknown","streetAddress","streetAddressTooltip","streetAddress_Placeholder","successResend","termsAndConditions_Mandatory","uploadDone","uploading","validationBirthDateRegex","validationDateRegex","validationEmailIsAlreadyUsed","validationEmailTerminatedCustomer","validationLength","validationMandatoryPropertyIsNull","validationMaxLength","validationMaxValue","validationMinLength","validationMinValue","validationRegex","validationRegexBirthDate","validationRegexEmail","validationRegexIdentityCardDateExpiration","validationRegexPhone","validationRegexUniqueID","validationRequired","validationUniqueAlias","validationUniqueBankAccount","validationUniqueCustomerAttribute","validationUniqueDisplayName","validationUniquePhone","validationUniqueTaxCode","validationUniqueTaxCode2","validationUniqueUniqueId","validationValidConfirmationCode","validationValidOldPassword","validationValidPhone","validationValidSponsorNumber","validationValidUniqueId","validationXmlCharacters","warning","zipcode","zipcode_Placeholder","zipcode_Tooltip","configurationContextDefaultValues","currentLanguage","customerId","NOT_LOGGED_IN_USER_ID","globalApiUrl","identityUrl","staticApiUrl","tenant","registrationType","customerDashboardUrl","loginRedirectUrl","registrationId","validationErrorCode","customerLoginUrl","customerServiceUrl","configurationContext","createContext","ConfigurationProvider","Provider","useConfiguration","useContext","I18nContainer","_useConfiguration","token","useToken","correctTranslationNameSpace","correctDefalutTranslations","BPDefaultTranslations","VIPDefaultTranslations","translationProps","clientFetchConfiguration","baseUrl","onError","log","String","defaultTranslationsWithNamespaces","isTokenValid","TranslationsProvider","_objectSpread","TranslationsNamespaceProvider","namespace","ApiProvider","formattedToken","SWRConfig","swrConfig","GlobalApiClientProvider","language","StaticApiClientProvider","RegistrationContext","RegistrationStatusProvider","useRegistrationStatus","RegisterStatusContainer","_useState","_useState2","_useRegistrationStatu","useState","finished","_slicedToArray","setFinished","useEffect","justifyContent","position","top","left","transform","textAlign","Loading","memo","CircularProgress","color","contentsContext","ContentsProvider","GetContent","_contents$key$id","id","ApiError","_Error","message","data","name","_wrapNativeSuper","Error","RegistrationSufixUrlType","async","fetchContents","url","locale","document","documentElement","lang","navigator","getLocale","response","options","config","_objectWithoutProperties","_excluded","headers","authorization","axios","then","catch","fetcher","contents","Contents","defaultLanguage","DefaultLanguage","currentLocale","ContentsContainer","registrationTypeSufix","contentsData","VipCustomer","Consultant","useSWR","VirtualPageAnalyticsContext","virtualPageAnalyticsData","setPreviousStep","previousStep","undefined","VirtualPageAnalyticsProvider","useVirtualPageAnalyticsData","virtualPageAnalyticsContext","StepperContext","stepperData","setActiveStep","activeStep","setManualChange","manualChange","stepsOrder","setStepsOrder","StepperProvider","_useState3","_useState4","_useState5","_useState6","useStepperData","context","NotificationContext","notificationData","setNotificationData","NotificationProvider","useNotificationData","FormErrorContext","errorData","setErrorData","FormErrorProvider","customErrors","useFormError","Localization","defaultMessage","values","className","FormattedMessage","MessageType","HttpStatusCodes","FetchResult","httpStatus","isSuccess","get","InternalServerError","errors","httpStatuses","every","status","_len2","results","_key2","r","TranslationKey","useTranslations","useTranslationsFromNamespace","useRegistrationsMetadata","formatMessage","staticApi","useApiClient","errorMeesage","result","api","getTenantCustomerRegistrationsMetadatumRegistrationsMetadata","errorFor","isEnabled","fetchRegistrationsMetadata","err","isOpen","type","messageId","getErrorLocalizationByCode","errorCode","fieldName","ContentKeys","renderValidationMessage","max","min","customMessage","StyledHelpCircle","HelpCircle","fontSize","palette","grey","StyledLink","main","textDecoration","TextFormFieldByConfig","label","tooltipText","isEditable","isAvailable","displayOrder","validation","initialValue","isAddressMatchRequired","keyboardType","inputType","customPlaceholder","enableLowercaseLetters","useUpperCase","allowOnlyNumbers","_useFormContext","useFormContext","setFocus","setValue","_useTestId","useTestId","getTestIdProps","getTestId","submitError","find","_error$fieldName","toLowerCase","joinFormatError","split","map","item","camelCase","join","errorMessage","regexPattern","regularExpression","RegExp","readOnly","fieldPlaceholder","capitalize","readOnlyStyleBox","correctTabIndex","fieldComponent","Grid","xs","sm","style","order","Box","margin","maxWidth","Controller","rules","required","isMandatory","maxLength","minLength","pattern","defaultValue","render","_validation$minLength","_ref3$field","field","ref","onChange","fieldState","FormControl","fullWidth","TextField","placeholder","Boolean","helperText","disabled","inputProps","tabIndex","inputMode","autoCapitalize","textTransform","InputProps","endAdornment","ErrorCircle","Tooltip","title","enterTouchDelay","leaveTouchDelay","autoComplete","inputRef","onBlur","fieldValue","correctValue","toLocaleUpperCase","trim","shouldValidate","shouldDirty","shouldTouch","e","target","replaceAll","FormHelperText","loginLink","href","rel","_Fragment","usePhoneFormats","getTenantPhoneFormats","allowedFormats","fetchTenantPhoneFormats","useTenantsCountry","_result$response","getTenantCountries","collection","fetchTenantsCountry","FlagWrapper","marginRight","getCountryByCountryCode","countries","countryCode","_countries$find","PhoneFieldByConfig","tooltipWithPrefix","customPlaceholderWithPrefix","labelWithPrefix","setError","watch","clearErrors","phonePrefix","setPhonePrefix","isDisabledPrefix","setIsDisabledPrefix","phoneWithoutPrefix","setPhoneWithoutPrefix","phoneFormats","availableOptions","opt","internationalPrefix","isAnyPhoneFormats","onlyOnePrefix","watchValue","renderSelectOption","index","MenuItem","ReactCountryFlag","svg","objectFit","initialPrefix","aopt","includes","_availableOptions$","replace","_availableOptions$2","onlyOneOption","InputLabel","Select","displayEmpty","labelId","MenuProps","border","anchorOrigin","vertical","horizontal","transformOrigin","renderValue","selected","foundCode","event","currentValue","handlePrefixChange","_field$value","_ref4$field","available","startsWith","slice","test","handleChangeAllowOnlyNumber","iconStyle","StyledIconButton","IconButton","padding","PasswordToggle","isShowPassword","setPasswordVisible","icon","VisibilityOff","Visibility","InputAdornment","onClick","IconWrapper","marginTop","CheckIcon","CheckCircleFilled","default","light","CheckIconSuccess","primary","ErrorIcon","ErrorCircleFilled","dark","StyledLabel","Typography","PasswordRequirements","requirements","minChar","actualValue","validating","requirement","requirementProperty","PasswordFieldByConfig","_validation$maxLength","isPasswordVisible","setIsPasswordVisible","isShowRequirements","setIsShowRequirements","isValidatingRequirements","setIsValidatingRequirements","passwordRequirementsArray","configRequirements","_configRequirements$l","_configRequirements$l3","_configRequirements$u","_configRequirements$d","_configRequirements$s","_configRequirements$l2","_configRequirements$l4","_configRequirements$u2","_configRequirements$d2","_configRequirements$s2","correctRequirements","letter","isRequired","push","lowercaseLetter","uppercaseLetter","digit","specialCharacter","getPasswordRequirements","_validation$minLength2","onFocus","_e","onKeyUp","FormErrorSummary","StyledSubmitError","fontStyle","marginLeft","FormValidationSummary","invalidPropertyErrors","notPropertyError","customerServiceLink","GoogleIcon","version","xmlns","viewBox","fill","d","StyledForm","SubmitButtton","Button","minWidth","SocialWrapper","IconText","paddingLeft","SocialButtton","_ref6","minHeight","boxShadow","Separator","_ref7","marginBottom","HiddenInput","_ref8","_ref9","text","secondary","LegalNotice","_ref10","marginInline","AddInvitationCode","_ref11","fontWeight","cursor","axiosClient","usePublicSponsorImage","documentId","blob","shouldFetch","_useSWR","toString","requestUrl","Authorization","responseType","sponsorImage","URL","createObjectURL","stringAvatar","_firstName$charAt","_lastName$charAt","_name$split","_name$split2","lastName","firstName","charAt","RootContainer","StyledAvatar","Avatar","StyledInfo","PublicSponsorBox","_referral$CustomerId","referral","sponsorDocument","useGetCustomerProfileImage","CustomerId","FullName","src","align","getCorrectTabIndex","PreStepForm","_config$appleLogin","_config$facebookLogin","_config$googleLogin","_config$invitationCod","_config$invitationCod2","_config$legalNoticeTe","_config$legalNoticeTe2","_config$googleLogin2","_config$appleLogin2","_config$facebookLogin2","isSuccessSubmit","onSubmitForm","isInvitationFieldVisible","setIsInvitationFieldVisible","methods","useForm","reValidateMode","mode","formState","register","isValid","isSubmitted","isSubmitting","formValues","invalidCodeErrors","filter","er","_er$fieldName$toLower","_er$fieldName","Object","keys","val","socialValidationMessage","isShowCustomValidationMessage","BPAndLink","ReferralType","visibleByType","isShowSponsorBox","loginWithSocialNetwork","loginType","handleSubmit","contactEmail","contactTelephone","isAnySocialNetworkAvailable","appleLogin","facebookLogin","googleLogin","FormProvider","noValidate","onSubmit","container","invitationCode","Collapse","in","password","legalNoticeText","TermsAndConditions_Link","TermsAndConditions_Url","PrivacyPolicy_Link","PrivacyPolicy_Url","Apple","Facebook","paddingTop","WrapperCaptcha","PreStep","_captcha$siteKey","registrationConfig","_useGetApplicationsSi","useGetApplicationsSimplifiedRegistrationRequestValidation","captcha","isValidating","submitSuccess","setSubmitSuccess","recaptchaRef","useRef","submitErrorLoginType","showCaptcha","siteKey","_recaptchaRef$current","captchaToken","current","executeAsync","isNotSocialNetwork","currentData","currentStep","startDate","Date","sponsorOrigin","sponsorNumber","ConsultantNumber","createResponse","createCustomerRegistration","_data$password","redirectUrl","form","createElement","method","action","append","body","submit","_errorResponse$respon","errorResponse","status400BadRequest","Errors","submitErrors","PropertyName","Code","ReCAPTCHA","size","badge","sitekey","useContactMetadata","getTenantCustomerRegistrationsMetadatumContactDetailsMetadata","isVerificationEnabled","fetchContactMetadata","useContactData","reFetchkey","registrationIdParam","getCustomerRegistrationContactDetails","isContactVerified","fetchContactData","virtualPagePahNameMap","Map","getVirtualPageURL","urlBase","virtualStep","has","getVirtualPagePathName","getPageURL","step","window","location","origin","pathname","search","virtualPageEventDispatch","virtualPageEventData","virtualPageTitle","previousPageURL","virtualPageURL","CustomEvent","VirtualPageEvent","detail","dispatchEvent","AnchorResend","StyledTextField","ResendText","CodeDiv","ResendLink","handleResendCode","isResendDisabled","role","VerificationCodeInput","handleInput","handleDelete","handlePaste","isError","verificationInputRef","instance","onInput","onKeyDown","preventDefault","select","onPaste","Verify","handleSubmitVerification","invalidCodeError","codeInputRefs","submitErrorMessage","mountOrUpdate","useCallback","_codeInputRefs$curren","focus","onNumberDelete","_codeInputRefs$curren2","newInputIndex","setInputRef","submitVerification","_codeNumbers","codeNumbers","input","code","onNumberInput","_codeInputRefs$curren3","pastedCode","clipboardData","getData","codeLength","codeArray","forEach","codeInputRef","Number","isNaN","from","_x","renderVerificationCodeInput","paragraph","StyledTitle","StyledSubTitle","StyledGridContainer","VerificationChannelForm","_contactMetadata$emai","handlePrimaryChannel","contactMetadata","contactData","content","email","telephone","correctData","updateContactResponse","updateCustomerRegistrationContactDetails","RootLoader","VerificationLoading","VerifyWrapper","WrapperContainer","VerificationIcon","CheckCircle","A200","VerificationIconSuccess","VerificationStep","_contactData$contactT","_contactData$contactE","handleVerifySuccess","isVerification","setIsVerification","isPrimaryChannel","setIsPrimaryChannel","isVerified","setIsVerified","_useState7","_useState8","setIsSubmitting","_useState9","_useState10","resendDisabled","setResendDisabled","isEmailVerification","isLoginWithoutSocialNetwork","createConfirmResponse","createCustomerRegistrationContactDetailsConfirmation","confirmationCode","setTimeout","resendCodeResponse","StyledWelcomeTitle","WelcomeWrapper","WelcomeActionButton","WelcomeAppButton","backgroundColor","WelcomeStep","isIOS","isAndroid","isRedirectDisabled","setIsRedirectDisabled","isMobileOperatingSystem","userAgent","MSStream","dynamicLink","useGetTenantDigitalCatalogueDynamiclink","fallbackToWeb","clientApplication","handleLocationChange","addEventListener","removeEventListener","link","flexWrap","StyledStep","Step","Stepper","steps","visibleLables","canChangeStep","stepperWidth","MuiStepper","_createElement","stepNumber","StepLabel","usePersonalMetadata","getTenantCustomerRegistrationsMetadatumPersonalDetailsMetadata","fetchPersonalMetadata","usePersonalData","getCustomerRegistrationPersonalDetails","fetchPersonalData","revalidateOnFocus","scrollTopFunctionHelper","scrollTop","GenderLabelMapper","GenderLabelMapperInternal","transforms","Man","Other","Woman","_default","SelectWrapper","SelectFormFieldByConfig","_selectField$availabl","labelMapper","selectField","getLocalizationKey","currentOptions","StyledInfoBox","A400","StyledInfoCircle","InfoCircle","DatePickerField","_culture$calendarForm","_culture$calendarForm2","infoText","defaultDate","invalidMsg","culture","useCulture","culturePattern","calendarFormat","patterns","shortDatePattern","dateFormat","dateString","_step","usedDay","usedMonth","usedYear","usedSeparator","_iterator","_createForOfIteratorHelper","s","n","done","char","f","generateDateFormat","invalidDateMessage","correctFormat","toUpperCase","actualDate","setFullYear","getFullYear","minDate","minValue","maxDate","maxValue","formattedMax","format","formattedMin","invalidMaxDateMessage","invalidMinDateMessage","initialDate","renderInputProps","validate","currentDate","getTime","isValidMax","isValidMin","LocalizationProvider","dateAdapter","DateAdapter","DesktopDatePicker","disableOpenPicker","open","slotProps","textField","getOptionLabelSingleLine","lineNumber","addressFormat","_item$streetAddress","lines","fields","separators","idx","correctField","newField","at","defaultAddressFormat","fetchAddressFormatMetadata","typeParam","emptyAddressFormatMetadata","getAddressFormat","useAddressFormatMetadata","AddressAutocomplete","_form$formState$error","_values$address","searchOptions","searchedFields","errorKeys","address","isErrors","some","sf","suggestions","setSuggestions","isOpenSelect","setOpen","isItemClicked","setItemClicked","lastSearchedText","setLastSearchedText","countryValue","minSearchLength","handleSearchTextChange","getStateAddressSuggestions","searchText","pathKey","_searchOptions$maxRes","addressNodesResult","emptySuggestionsResponse","addressSuggestionsCollection","apiParams","SearchText","Top","Country","PathKey","nodes","getAddressSuggestions","maxResults","node","addressSummary","description","count","addressNodeId","handleOnClick","suggestedAddresses","renderInput","other","componentProps","renderAddressSuggestionItem","suggestion","renderSuggestions","getItemProps","items","component","suggestionProps","itemProps","whiteSpace","wordBreak","renderSuggestion","Paper","zIndex","right","overflow","background","maxHeight","overflowY","elevation","handleAutocompleteKeyUp","searchInput","trimStart","Downshift","defaultHighlightedIndex","selectedItem","onSelect","nodeId","addressNode","getAddressSearchResult","getAddress","entries","nodeKey","addressNodeKey","addressValue","entry","_entry","inputValue","onOuterClick","getInputProps","_getInputProps","_excluded2","mergedInputProps","startAdornment","Search","getAutocompleteContent","StyledGridItem","StyledSingleLineLabel","StyledSingleLineAddress","wordWrap","AddressSection","_configAddress$operat","_configAddress$operat2","_configAddress$operat3","_actualValues$address","_configAddress$search2","_configAddress$zipcod","_configAddress$zipcod2","_configAddress$street","_configAddress$street2","_configAddress$city","_configAddress$city2","_configAddress$provin","_configAddress$provin2","_configAddress$delive","_configAddress$delive2","_configAddress$delive3","_configAddress$area","_configAddress$area2","_configAddress$locali","_configAddress$locali2","_configAddress$distri","_configAddress$distri2","_configAddress$region","_configAddress$region2","fieldsConfig","resultFields","_configAddress$search","configAddress","actualValues","useUpperCaseAddress","formatAddressFields","canCreate","operations","create","canUpdate","update","canDelete","canEdit","formatedAddress","fieldsForValidateInSearch","_field$1$validation","singleLineAddress","addressAutocomplete","PersonalDetailsForm","_config$useUpperCase","_config$contactEmail","_config$contactTeleph","_config$address","_config$useUpperCase2","_formValues$address","_config$address2","_config$useUpperCase3","initialData","datePickerPlaceholder","defaultValues","read","uniqueId","gender","placeholderText","birthDate","PersonalStep","personalConfig","_usePersonalData","personalInitialData","actualHours","getHours","currentBirthDate","setHours","currentAddress","addressType","updateResponse","updateCustomerRegistrationPersonalDetails","useLegalMetadata","getTenantCustomerRegistrationsMetadatumLegalDetailsMetadata","fetchLegalMetadata","applyNegative","isNegative","personalData","contact","marketingOriflame","marketingExternal","publication","newsletters","uplineLeaderData","uplineLeaderBrowse","marketingConsultant","blockGuaranteeOrdering","useLegalData","isNegativeParam","getCustomerRegistrationLegalDetails","approvals","isReseller","confirmation1","confirmation2","fetchLegalData","StyledFormControlLabel","FormControlLabel","StyledCheckbox","Checkbox","customRequiredFields","Set","CheckboxFormFieldByConfig","customRequired","control","defaultChecked","checked","useCustomHeaders","useRegistrationData","registrationData","setRegistrationData","getResponse","getCustomerRegistration","statusNotFound","status404NotFound","useIsMobile","RootDiv","StyledTypography","_ref2$ownerState","ownerState","_ref2$ownerState$expa","expanded","_ref2$ownerState$visi","visibleMoreButton","_ref2$ownerState$heig","lineHeight","transition","OverlayWrapper","_ref3$ownerState$expa","Link","_ref4$ownerState$expa","borderBottom","ExpandableTextBlock","_customTextRef$curren","_customTextRef$curren2","_customTextRef$curren3","_customTextRef$curren4","isExpanded","setIsExpanded","customTextHeight","setCustomTextHeight","dataTestId","customTextRef","customTextVisibilityLength","customTextLength","innerText","customTextClientHeight","clientHeight","isMoreTextVisible","onResize","expandButton","underline","BackButtton","StyledArrowIcon","ArrowLeftThin","DocumentInfoWrapper","ConditionsInfoWrapper","up","ConditionTitle","PolicyText","CollapseBox","TermsConditionsCheckbox","_config$customText","_values$termsAndCondi","_config$termsAndCondi2","_config$termsAndCondi3","notificationStore","terms","setTerms","showPrivacyPolicy","setShowPrivacyPolicy","trigger","isCustomTextAvailable","customText","getTerms","termsResponse","getCustomerRequiredTerms","isShowPrivacyPolicy","requiredTerm","_config$termsAndCondi","termsAndConditions","termId","LegalDocument1_Link","LegalDocument2_Link","LegalDocument3_Link","LegalDocument4_Link","LegalDocument5_Link","LegalDocument6_Link","LegalDocument7_Link","LegalDocument8_Link","LegalDetailApprovals","_config$approvals","_approvalValues$appro","_approvalValues$appro2","_config$approvals2","_approvalValues$appro3","_approvalValues$appro4","_config$approvals3","_approvalValues$appro5","_approvalValues$appro6","_config$approvals4","_approvalValues$appro7","_approvalValues$appro8","_config$approvals5","_approvalValues$appro9","_approvalValues$appro10","_config$approvals6","_approvalValues$appro11","_approvalValues$appro12","_config$approvals7","_approvalValues$appro13","_approvalValues$appro14","_config$approvals8","_approvalValues$appro15","_approvalValues$appro16","_config$approvals9","_approvalValues$appro17","_approvalValues$appro18","_config$approvals10","_approvalValues$appro19","_approvalValues$appro20","_config$approvals11","_approvalValues$appro21","_approvalValues$appro22","_config$approvals12","_approvalValues$appro23","_approvalValues$appro24","_config$approvals13","approvalValues","showApprovals","setShowApprovals","isNegativeApprovals","shared","displayAsNegative","ArrowDownThin","useDocumentTypes","errorMsg","getTenantDocumentTypes","fetchCustomerDocumentType","useCustomerDocumentsInfos","_registrationData$cus","registrationCustomerId","customHeaders","_await$Promise$all","Promise","all","getCustomerDocumentsInfos","getCustomerDocumentApprovals","_await$Promise$all2","documents","info","documentApproval","approval","documentIds","fetchCustomerDocumentInfo","FileInputField","accept","isMultiple","inputLabel","htmlFor","multiple","UploadButtonWrapper","UploadButton","triggerFileUploadFinished","onFileUploadedProp","UploaderForm","handleFileChanged","onUploadStart","handleUploadStart","onFileUploaded","handleFileUploaded","onUploadFinished","handleUploadFinished","maxFileSize","documentTypeId","isTemporary","inputName","documentsInfoData","getInputRef","element","createDocument","customerIdProperty","requestBody","requestOptions","createCustomerDocument","replaceDocument","oldDocumentId","newDocumentRequestOptions","deleteResult","deleteCustomerDocument","deleteDocument","button","useMemo","_useMemo","_documentsInfoData$fi","sort","a","b","createdDate","lastOfType","fileMapper","file","fileKey","maxFileSizeProp","maxFileSizeError","maxMBs","Math","ceil","fetchResult","fileResult","_response$errors","fileUploadResult","mapToFileUploadResult","uploadedFiles","files","uploadPromises","handleChangeFile","click","Uploader","WrappedComponent","StyledFeedbackDialog","FeedbackDialog","bottom","borderBottomLeftRadius","borderBottomRightRadius","ButtonDelete","contrastText","ButtonCancel","ConfirmDeleteDialog","opened","handleConfirm","handleCancel","hideCloseButton","severity","header","actions","useDocumentThumb","previewSize","thumbUrl","fetchKey","params","useDocumentThumbDetail","thumbDetailUrl","StyledDialogContent","DialogContent","CloseButton","DocumentIcon","Document","ThumbWithDetail","fileName","detailOpened","setDetailOpened","imageThumb","setImageThumb","imageDetail","setImageDetail","documentThumbUrl","documentThumbDetailUrl","fileNameProperty","imgUrl","handleOpenDetail","avatar","thumb","getAvatar","detailImage","alt","Dialog","DialogTitle","Clear","useCustomerDocument","StyledSpanLabel","DocumentState","reason","stateElement","approvalState","getStateColor","getLocalization","flexCenter","StyledListItem","StyledDivContent","StyledSpanInfo","StyledSpanThumb","StyledSpanActions","StyledSpanFile","StyledSpanFileName","textOverflow","whitespace","StyledSpanFileNameLink","StyledSpanFileSize","A700","StyledErrorIcon","StyledDeleteIcon","StyledProgress","LinearProgress","_ref12","DocumentItemFile","fileSize","visibleApprovalState","documentItemUrl","handleDownloadDocument","documentUrl","round","approvalReason","getApprovalState","DocumentItem","deleteAction","onDocumentRemove","isShowApprovalState","isDeleteConfirmationRequired","uploadProgress","confirmOpened","setConfirmOpened","confirmDelete","removeDocument","mapToDocumentItemProps","documentStoreData","deleteConfirmationRequired","_documentStoreData$fi","isDocumentPending","renderDocumentItem","documentProps","StyledRequiredDocument","StyledDivHeader","StyledList","listStyle","StyledListPending","StyledDivWrapper","_ref9$ownerState$hasD","hasDocuments","StyledDivUploader","StyledDivHistory","borderTop","StyledExpanedIcon","StyledDivExpander","_ref13","StyledDivFileInput","_ref14","_ref15","StyledDivBoxExpandHistory","_ref16","DocumentHistory","temporaryDocument","historyExpanded","histroyDocumentsInfoData","handleToggleClick","documentPending","documentsHistory","_getInfoByType","typeId","includeTemporary","getHistoryDocuments","classes","uploadProgressDone","DocumentLoadingProgress","textUploading","textDone","progress","uploadFinished","documentLoadingProgress","CheckHeavy","DocumentContent","_configDocument$expir","documentType","editableDocument","documentInpuName","configDocument","documentIsRequired","handleDocumentsChange","isTemporaryDocument","isHistoryExpanded","setIsHistoryExpanded","isUploading","setIsUploading","isUploadFinished","setIsUploadFinished","filesInProgress","setFilesInProgress","setFetchKey","setDefaultState","removeFile","previousState","documentData","triggerDocumentsChange","propertyDocumentIds","newDocuments","getDocuments","fileInputProps","copyDocumentData","now","uploadedDocuments","uploadedDocumentIds","_d$documentId","correctDocumentIds","newDocumentIds","allowMultipleDocuments","_toConsumableArray","uploadFilesInProgress","handleFileUploadProgress","supportedMimeTypes","maxDataSize","documentCardTypeField","cardType","documentCardNumberField","cardNumber","disabledForIdentityCardTypes","expiration","expirationDocumentField","_values$identityCard","identityCard","getfilesInProgress","getFilesInProgress","documentsToRender","renderDocuments","uploader","DocumentHeader","requiredDocument","documentTypeIdProperty","documentLabel","documentInfoText","documentsTypeData","isLoading","LegalDocuments","_documentsConfig$iden","_documentsConfig$addi","documentsConfig","localDocuments","setLocalDocuments","getDocumentLabel","localization","updateIdentityCard","documentsCollection","updateAdditionalIdentityCard","getDocumentIds","_documents$documentsC","idCard","_config$isAvailable","_config$isEditable","_config$documentTypeI","_config$validation","idCardDocumentInfoText","correctDocuments","renderIdentityCardDocument","additionalIdCard","_config$isAvailable2","_config$isEditable2","_config$documentTypeI2","_values$additionalIde","_config$validation2","additionalIdentityCard","additionalDocumentInfoText","renderAdditionalIdentityCardDocument","documentsAvailableContent","documentsContent","LegalDetailsForm","_config$identityCard","_config$additionalIde","_config$confirmation","_config$confirmation2","shouldFocusError","identityErr","prevValues","identityValues","newValues","availableApprovals","isAnyAprrovalAvailable","isAnyDocumentAvailable","ContentWrapper","LegalStep","_legalConfig$approval","legalConfig","legalInitialData","handleUpdateRegistration","updateCustomerRegistration","analyticsData","getCustomerRegistrationAnalytics","getAnalyticsData","_analyticsData$signUp","_sponsorNumber$toStri","consultantNumber","customerTypeId","registrationChannel","visitorSegment","signUpDate","signUpDateOffset","getTimezoneOffset","signUpDateWithoutOffset","registerEventData","registeredUserId","toISOString","placement","Placement","JoinUs","UserRegisteredEvent","handleUserRegisteredEvent","submitData","_data$identityCard","_data$additionalIdent","emptyIDCard","getCorrectSubmitData","currentSubmitData","updateResponseLegal","updateCustomerRegistrationLegalDetails","_errorResponse$respon2","useSponsorMetadata","getTenantCustomerRegistrationsMetadatumSponsorDetailsMetadata","fetchSponsorMetadata","useSponsorData","getCustomerRegistrationSponsorDetails","fetchSponsorData","useSponsorInfoData","refetchKey","getCustomerRegistrationSponsorDetailsSponsorInfo","fetchSponsorInfoData","useSponsorImage","profileImageDocumentId","StyledNameLabel","NexButtton","SponsorBox","sponsorDetailInfo","isVisibleNextButton","fullName","selectBpVariant","FindButtton","AddressAutocompleteWrapper","StyledToggle","Toggle","ConnectToBPForm","_config$preselectedSp","_config$address$count","_values$address2","_values$address$count","_values$address3","_values$address4","_values$address5","_config$address6","_config$address7","_initialData$address","_config$address8","_config$address9","sponsorInfo","profileSponsorImage","isDefaultAddress","defaultSelectSponsorType","preselectedSponsorSelectionMethod","selectSponsorType","setSelectSponsorType","setCountry","resetKey","setResetKey","countryOptions","countryFieldName","findSponsor","_config$address3","_config$address5","_config$address4","isKnowSponsorNumber","knowSponsorNumber","isFindSponsorSelected","handleChangeCountry","countryProperty","countryField","mb","firstText","secondText","currentTarget","isDisabledFind","submitButton","knowSponsorLabelVariant","RadioGroup","reset","Radio","SponsorStep","_sponsorConfig$addres","_sponsorConfig$addres2","_personalInitialData$2","sponsorConfig","sponsorInitialData","sponsorInfoData","oneCountryMarket","defaultAddressType","defaultAddressAvailable","_personalInitialData$","_sponsorConfig$addres3","correctAddressData","correctSponsorNumber","updateCustomerRegistrationSponsorDetails","ContentContainer","StepperWithContent","cache","useSWRConfig","isVipCustomerType","isCorrectReferral","vipWithoutSponsor","actualStep","indexOf","stepperContent","getStepperContent","OriflameLogoSvg","LogoSeparator","StyledBox","OriflameLogo","flexGrow","paddingInline","threeSteps","twoSteps","LandingPage","_data$customIcon","feedBackIcon","handleClose","currentSteps","correctContent","FeedbackNotification","customIcon","onClose","App","configuration","TestIdProvider","team","Team","Acquisition","project","APP_NAME","Suspense","fallback","ThemeProvider","enableCacheProvider","cacheKey","ClientCultureProvider","swr","suspense","rootElement","_rootElement$dataset$","dataset","clientAppConfig","parseClientAppConfig","createRoot","UniversalTokenProvider","initialToken","EMOTION_CACHE_KEY"],"sourceRoot":""}