{"version":3,"file":"static/chunks/699-b4da6ed751e50355.js","mappings":"wKA8GA,IArFsC,I,IAAA,eACpCA,EAAc,KACdC,EAAI,YACJC,EAAc,8BAA6B,SAC3CC,EAAW,OAAM,MACjBC,EAAQ,UAAS,YACjBC,EAAW,aACXC,EAAY,UACZC,EAAS,OACTC,EAAM,SACNC,EAAQ,WACRC,EAAa,qBACd,EACC,MAAMC,GAASC,EAAAA,EAAAA,aAgBf,OACE,UAACC,MAAAA,CAAIC,UAAW,cAAgBJ,OAAAA,QAAAA,IAAAA,EAAAA,EAAc,I,WAC5C,SAACG,MAAAA,CACCC,UACE,oBAAkC,QAAZX,EAAqB,UAAY,Y,UAGzD,SAACY,EAAAA,EAAUA,CAACC,KAAM,GAAIC,MAjBV,CAChBC,QAAS,WACTC,MAAO,YAeoCf,QAGzC,UAACgB,OAAAA,CACCN,UAAU,SACVO,SAAWC,IACTA,EAAEC,kB,WAGJ,SAACC,QAAAA,CACCC,QAAS,MACPC,EAAAA,EAAAA,IAAc,CACZC,MAAO,4BACPC,SAAU,CACRC,KAAMlB,EAAOmB,aAGjBC,EAAAA,EAAAA,IAAa,CACXJ,MAAO,4BACPC,SAAU,CACRC,KAAMlB,EAAOmB,YAGjBrB,GAAS,IAEXK,UACE,8DAA+EkB,OAhD1E,CACbd,QAAS,0DACTC,MAAO,gDA8CsEf,GAAO,KAAsB,OAtCxF,CAClBc,QAAS,4BACTC,MAAO,6BAoC4Ff,GAAO,MACrF,QAAZD,EAAqB,SAAW,UAEnCD,YAAaA,KAEf,SAACsB,QAAAA,CAAMS,KAAK,eAGd,SAACC,EAAAA,EAAcA,CACb1B,OAAQA,EACRC,SAAUA,EACVF,UAAWA,EACX4B,QAAS,KACP1B,GAAS,GACTE,EAAOyB,KAAK,CACVN,SAAU,c,sECmCtB,KA1HyC,I,IAAA,UACvChB,EAAS,SACTuB,EAAQ,GACRC,EAAE,QACFC,EAAO,SACPC,EAAQ,SACRC,GAAW,EAAK,cAChBC,GACD,EACC,MAAOtC,EAAOuC,EAAWC,EAAUC,IAAeC,EAAAA,EAAAA,IAAgBC,GAAU,CAC1EA,EAAM3C,MACN2C,EAAMJ,UACNI,EAAMH,SACNG,EAAMF,eAsBR,OAnBAG,QAAQC,IAAI,qBAAW7C,IAEvB8C,EAAAA,EAAAA,YAAU,KACM,SAAV9C,KACFsB,EAAAA,EAAAA,IAAc,CACZC,MAAO,cACPC,SAAU,CACRuB,WAAW,MAGfpB,EAAAA,EAAAA,IAAa,CACXJ,MAAO,cACPC,SAAU,CACRuB,WAAW,QAIhB,CAAC/C,IAEAqC,GAEA,qB,UACE,SAAC5B,MAAAA,CAAIC,UAAW,YAA4B,OAAhBA,GAAa,I,UACvC,SAACsC,QAAAA,CAAMtC,UAAU,4BAA4BuC,QAASf,E,UACpD,SAACzB,MAAAA,CACCyC,QAAS,KACP,IAAIC,EAAyB,SAATnD,EAAmB,OAAS,QAChDoD,aAAaC,QAAQ,QAASF,GAC9BX,EAASW,IACT7B,EAAAA,EAAAA,IAAc,CACZC,MAAO,qBACPC,SAAU,CACRxB,MAAOmD,MAGXxB,EAAAA,EAAAA,IAAa,CACXJ,MAAO,qBACPC,SAAU,CACRxB,MAAOmD,M,SAuBH,QAATnD,GAAkB,SAACsD,EAAAA,CAAQzC,MAAO,aAAgB,SAAC0C,EAAAA,CAAS1C,MAAO,qBAQ5E,SAACJ,MAAAA,CACCC,UAAU,uFACVwC,QAAS,K,IAAeX,EAATN,OAAAA,EAAuC,QAA9BM,EAAAA,EAAUiB,MAAMC,GAAMA,EAAEC,gBAAxBnB,IAAAA,OAAAA,EAAAA,EAAiCL,K,SAGvD,CACEyB,OACE,SAACC,MAAAA,CACCC,IAAK,8BACLC,IAAI,QACJC,MAAO,GACPC,OAAQ,KAGZC,MACE,SAACL,MAAAA,CACCC,IAAK,6BACLC,IAAI,QACJC,MAAO,GACPC,OAAQ,KAGZE,QACE,SAACN,MAAAA,CACCC,IAAK,+BACLC,IAAI,QACJC,MAAO,GACPC,OAAQ,MAGkB,QAA9BzB,EAAAA,EAAUiB,MAAMC,GAAMA,EAAEC,gBAAxBnB,IAAAA,OAAAA,EAAAA,EAAiCL,M,IAAjCK,GASL,MAAMe,EAAW,I,IAAA,MAAEzC,GAAO,EAC/B,OACE,SAACsD,MAAAA,CACCJ,MAAM,KACNC,OAAO,KACPI,QAAQ,YACRC,KAAK,OACLC,MAAM,6B,UAEN,SAACC,OAAAA,CACCC,EAAE,okBACFC,OAAQ,OACRC,iBAAe,QACfC,kBAAgB,aAMXpB,EAAY,I,IAAA,MAAE1C,GAAO,EAChC,OACE,SAACsD,MAAAA,CACCJ,MAAM,KACNC,OAAO,KACPI,QAAQ,YACRC,KAAK,OACLC,MAAM,6B,UAEN,SAACC,OAAAA,CACCC,EAAE,kZACFC,OAAQ,UACRC,iBAAe,QACfC,kBAAgB,c,qECtKjB,MAAMC,EAA6B,I,IAAA,KACxChE,EAAO,GAAE,UACTF,EAAY,mBACb,EACC,OACE,SAACyD,MAAAA,CACCJ,MAAOnD,EACPoD,OAAQpD,EACRwD,QAAQ,YACR1D,UAAWA,EACX4D,MAAM,6B,UAEN,SAACC,OAAAA,CAAKC,EAAE,m7B,8CCOd,IAjByC,I,IAAA,KACvC5D,EAAO,GAAE,UACTF,EAAY,mBACb,EACC,OACE,SAACyD,MAAAA,CACCJ,MAAOnD,EACPoD,OAAQpD,EACR0D,MAAM,6BACNF,QAAQ,YACR1D,UAAWA,E,UAEX,SAAC6D,OAAAA,CAAKC,EAAE,6R,8ECXP,MAAMK,EAA+B,I,IAAA,KAC1CjE,EAAO,GAAE,UAETF,EAAY,mBACb,EACC,OACE,SAACyD,MAAAA,CACCJ,MAAOnD,EACPoD,OAAQpD,EAERyD,KAAK,OACLC,MAAM,6BACN5D,UAAWA,E,UAEX,SAAC6D,OAAAA,CACCC,EAAE,mjD,8CCCV,IAjBmC,I,IAAA,KACjC5D,EAAO,GAAE,UACTF,EAAY,mBACb,EACC,OACE,SAACyD,MAAAA,CACCJ,MAAOnD,EACPoD,OAAQpD,EACR0D,MAAM,6BACNF,QAAQ,YACR1D,UAAWA,E,UAEX,SAAC6D,OAAAA,CAAKC,EAAE,iM,4HCbP,MAAM1C,EAMP,I,IAAA,OAAE1B,EAAM,SAAEC,EAAQ,QAAE0B,EAAO,MAAE+C,EAAK,UAAE3E,KAAc4E,GAAO,EAC7D,MAAM,EAAEC,IAAMC,EAAAA,EAAAA,GAAe,UACvB1E,GAASC,EAAAA,EAAAA,aAEf,OACE,SAAC0E,EAAAA,EAAKA,CAGJ9E,OAAQA,EACR+E,iBAAiB,aACjBzE,UAAU,e,UAEV,SAACD,MAAAA,CAAIC,UAAU,kB,UACb,SAAC0E,EAAAA,EAAgBA,CACfjF,UAAWA,EACXL,aACEuF,EAAAA,EAAAA,MAAgBL,EAAE,yBAA2BA,EAAE,iBAEjDjF,SAAS,OACTW,UAAU,SACV4E,aAAa,0BACbC,MAAOnF,EACPC,SAAUA,EACVmF,OAAQ,CACNjE,MAAO,sBACPC,SAAU,CACRC,KAAMlB,EAAOmB,WAGjB+D,aAAc1D,U,6mBCXxB,MAvBwC,I,IAAA,KACtCnB,EAAO,GAAE,UACTF,EAAY,mBACb,EACC,OACE,SAACyD,MAAAA,CACCJ,MAAOnD,EACPoD,OAAQpD,EACRwD,QAAQ,YACRC,KAAK,OACLC,MAAM,6BACN5D,UAAU,kB,UAEV,SAAC6D,OAAAA,CACCmB,YAAU,UACVC,YAAU,UACVnB,EAAE,ygCCPH,MAAMoB,EAMP,I,IAAA,GAAE1D,EAAK,GAAE,MAAElC,EAAQ,GAAE,SAAE6F,EAAQ,UAAEnF,EAAS,SAAEoF,GAAU,EAC1D,MAAOC,EAAcC,IAAmBC,EAAAA,EAAAA,UAAS,KAEjDnD,EAAAA,EAAAA,YAAU,KACJZ,GACF8D,EAAgBE,EAAahE,MAE9B,CAACA,KAsBkBiE,EAAAA,EAAAA,OACP3F,EAAAA,EAAAA,cACG4F,EAAAA,EAAAA,KAElB,OACE,SAAC3F,MAAAA,CACCC,UACE,mJACAV,EAEFqG,KAAK,WACLC,mBAAiB,WACjBC,kBAAiBrE,EACjBsE,UAAW,E,SAgCVX,IAAY,SAACpF,MAAAA,CAAIC,UAAWA,E,SAAYmF,O,eCtFxC,MAAMY,EAA6B,I,IAAA,KACxC7F,EAAO,GAAE,MACTC,EAAQ,UAAS,UACjBH,EAAY,0BACb,EACC,MAAMV,GAAQ0C,EAAAA,EAAAA,IAAgBC,GAAUA,EAAM3C,QAE9C,OACE,SAAC0G,IAAKA,CACJ5C,IAAI,QACJD,IAAK,oBACLE,MAAO,GACPC,OAAQ,GACRtD,UAAqB,SAAVV,EAAmB,sBAAwB,M,oCCJrD,MAAM2G,EAA0C,I,IAAA,iBACrDC,EAAgB,oBAChBC,EAAmB,UACnBnG,EAAY,GAAE,kBACdoG,GAAoB,GACrB,EACC,MAAMC,EAA6CC,OAAOC,WAAa,IACjEC,GAAc7B,EAAAA,EAAAA,MACd8B,GAAoBC,EAAAA,EAAAA,MACpB7G,GAASC,EAAAA,EAAAA,cACT,WAAE6G,IAAejB,EAAAA,EAAAA,IAAczD,IAAW,CAC9C0E,WAAY1E,EAAM0E,eAGdC,GAAgBC,EAAAA,EAAAA,OAEhB,gBAAEC,EAAe,YAAEC,IAAgBC,EAAAA,EAAAA,IAAe/E,IAAW,CACjE6E,gBAAiB7E,EAAM6E,gBACvBC,YAAa9E,EAAM8E,iBAGrB3E,EAAAA,EAAAA,YAAU,KACU,SAAduE,GACFC,EAAcK,QACZ,GACA,CACEC,UAAUC,GACRJ,EAAYI,IAEdC,QAAQC,SAIb,IAEH,MAAMC,EAAkB,KACtB,MAAMC,EAAgB,CACpBxG,KAAMlB,EAAOmB,SACbwG,WAAYtB,EACZuB,qBAAsBX,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAiBY,cAGzCC,EAAAA,EAAAA,IAAW,CACT9G,MAAO,sBACPC,SAAUyG,MASPK,EAAcC,IAAmBtC,EAAAA,EAAAA,UAAS,MAE3CT,EAAS,CACbjE,MAAO,uBACPC,SAAU,CACRC,KAAMlB,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAQmB,WAmClB,OACE,SAAC8G,IAAIA,CAEHC,KAAM,gBACNvF,QAAS8E,E,UAET,SAACvH,MAAAA,CAAIC,UAAU,8C,UACb,UAACD,MAAAA,CACCC,UAAU,qEAEVgI,aA3BkB,KACxB,IAAK3B,EAAW,OAEZuB,GACFK,aAAaL,GAGfzB,GAAoB,GAEpB,MAAM+B,EAAUC,YAAW,MACzBR,EAAAA,EAAAA,IAAW,IAAM7C,MAChB,KAEH+C,EAAgBK,IAeVE,aA1CkB,KACxB,IAAK/B,EAAW,OAEZuB,GACFK,aAAaL,GAGf,MAAMM,EAAUC,YAAW,KACzBhC,GAAoB,KACnB,KAEH0B,EAAgBK,I,WAiCV,SAACnC,EAAQA,CAAC/F,UAAU,SAASG,MAAO,YAEF,OAAjC2G,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAiBY,eAChB,SAAC3H,MAAAA,CAAIC,UAAU,uF,SACZ8G,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAiBY,eAItB,SAACxC,EAAQA,CACPlF,UAAU,mCACVV,MAAO,SAAiD,OAAxC4G,EAAmB,SAAW,WAC9Cd,SAAUqB,GAAqBD,E,UAE/B,SAAC6B,EAAAA,EAAmBA,CAACC,YAAU,c,0BCvD3C,MA7E4C,I,IAAA,KAAEpI,EAAO,IAAI,EACvD,OACE,UAACuD,MAAAA,CACCJ,MAAO,EAAQ,GAAM,IACrBC,OAAQpD,EACRwD,QAAU,aACVC,KAAK,OACLC,MAAM,6B,WAEN,SAACC,OAAAA,CACCC,EAAE,m+BACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,s9BACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,swBACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,oLACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,6/CACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,miGACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,6zCACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,o4FACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,4sEACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,4nJACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,67CACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,gjGACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,m2CACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,w7FACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,s9DACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,+vHACFH,KAAK,c,iECtCN,MAAM4E,EAAc,I,IAAA,cAAEC,GAAe,E,IAiDvB3I,EA2EQ+G,EA3H3B,MAAM,WAAED,EAAU,YAAE8B,IAAgB/C,EAAAA,EAAAA,IAAczD,IAAW,CAC3D0E,WAAY1E,EAAM0E,WAClB8B,YAAaxG,EAAMwG,iBAEdC,EAAMC,IAAWpD,EAAAA,EAAAA,WAAS,IAC1BW,EAAkBC,IAAuBZ,EAAAA,EAAAA,WAAS,GAEnDqB,IADWjC,EAAAA,EAAAA,OACKkC,EAAAA,EAAAA,OAIhBhH,IAHoB6G,EAAAA,EAAAA,OACN/B,EAAAA,EAAAA,OACEiE,EAAAA,EAAAA,OACP9I,EAAAA,EAAAA,cACT+I,EAAQhJ,EAAOmB,SAAS8H,SAAS,yBACjC,EAAExE,IAAMC,EAAAA,EAAAA,GAAe,WAEXwE,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAa1C,OAAO2C,SAASC,WAI7D9G,EAAAA,EAAAA,YAAU,QAYP,CAACuE,IAEJ,MAAM,OAAEwC,EAAM,QAAEC,EAAO,OAAEC,EAAM,KAAE/H,GAASzB,EAepCyJ,GAbcF,OAAAA,QAAAA,IAAAA,GAAAA,EAAStG,MAAMyG,GAAQA,IAAQJ,IAaH,SAA7BtJ,OAAAA,QAAAA,IAAAA,GAAa,QAAbA,EAAAA,EAAQ2J,aAAR3J,IAAAA,OAAAA,EAAAA,EAAeyJ,aA0F5BG,GAfqB7C,OAAAA,QAAAA,IAAAA,GAAmB,QAAnBA,EAAAA,EAAe8C,YAAf9C,IAAAA,GAAAA,EAAqBc,aAelC/C,EAAAA,EAAAA,QAAiB+B,EAAAA,EAAAA,OAmCzBiD,IAPJC,EAAAA,EAAAA,IAAU,gBAA+C,UAA7BA,EAAAA,EAAAA,IAAU,gBAClCA,EAAAA,EAAAA,IAAU,eAEV,IAAIC,gBAAgBvD,OAAO2C,SAASa,QAAQC,IAAI,aAKnBC,EAAAA,EAAAA,GAAY1D,OAAO2C,SAASC,WACzDe,GAC6BC,EAAAA,EAAAA,GAAe5D,OAAO2C,SAASC,UAC5DiB,GAC6BC,EAAAA,EAAAA,IAAgB9D,OAAO2C,SAASC,UAC7DmB,GAC6BC,EAAAA,EAAAA,IAAgBhE,OAAO2C,SAASC,UAC7DqB,GAC6BC,EAAAA,EAAAA,IAAWlE,OAAO2C,SAASC,WAEvD5J,IAAS0C,EAAAA,EAAAA,IAAgBC,GAAU,CAACA,EAAM3C,SAEjD,OACE,SAACmL,SAAAA,CAAOzK,UAAW,O,SAChB6I,GACC,UAAC9I,MAAAA,CAAIC,UAAU,kC,WACb,SAAC0K,EAAAA,EAAUA,CACTC,OAASrB,OAAsCsB,EAAzB,IAAM/K,EAAOyB,KAAK,QAgB1C,SAACvB,MAAAA,CAAIC,UAAU,S,UACb,SAAC6K,EAAAA,EAAWA,CACVtL,YAAa,IAAMoJ,GAAQ,GAC3BvJ,aACEuF,EAAAA,EAAAA,MAAgBL,EAAE,yBAA2BA,EAAE,iBAEjD5E,OAAQgJ,EACR/I,SAAWoD,GAAM4F,EAAQ5F,GACzBnD,WAAW,cAIf,SAACwB,EAAAA,EAAcA,CAAC1B,OAAQgJ,EAAMrH,QAAS,IAAMsH,GAAQ,SAGvD,UAAC5I,MAAAA,CAAIC,UAAU,oC,WACb,SAAC8H,IAAIA,CAEHC,KAAOuB,EAAmB,IAAN,IACpB9G,QACG8G,OAAkDsB,EAArC,KAAME,OAxEX3J,EAwEuB,qBAvE1CwG,EAAAA,EAAAA,IAAW,CACT9G,MAAO,QACPC,SAAU,CACRiK,YAAa5J,EACbJ,KAAMlB,EAAOmB,YALC,IAACG,G,SA2ETqH,GAyEA,SAACwC,EAAiBA,CAAC9K,KAAM,MAvEzB,qB,SACGyJ,GACC,sB,UACY,SAATrK,IACC,SAAC2L,IAAMA,CACL9H,IAAK,oBACLC,IAAI,MACJC,MAAO,IACPC,OAAQ,KAIF,QAAThE,IACC,SAAC2L,IAAMA,CACL9H,IAAK,4BACLC,IAAI,MACJC,MAAO,IACPC,OAAQ,QAIZ2G,GACF,SAACgB,IAAMA,CACL9H,IACW,QAAT7D,EACI,2BACA,sBAEN8D,IAAI,MACJC,MAAO,IACPC,OAAQ,KAER6G,GAEF,SAACc,IAAMA,CACL9H,IACW,QAAT7D,EACI,4BACA,uBAEN8D,IAAI,MACJC,MAAO,IACPC,OAAQ,KAER+G,GACF,SAACY,IAAMA,CACL9H,IACW,QAAT7D,EACI,6BACA,wBAEN8D,IAAI,MACJC,MAAO,IACPC,OAAQ,KAERiH,GACF,SAACU,IAAMA,CACL9H,IACW,QAAT7D,EACI,uBACA,kBAEN8D,IAAI,MACJC,MAAO,IACPC,OAAQ,MAGV,SAAC4H,EAAAA,EAAQA,SAOjB,UAACnL,MAAAA,CAAIC,UAAU,2B,WAWb,SAACmL,EAAAA,GAAcA,CAACxJ,UAAU,KACxB2H,QAAc8B,GAjLtB,SAACtD,IAAIA,CACHtF,QAAS,MACPmF,EAAAA,EAAAA,IAAW,CACT9G,MAAO,uBAIXkH,KAAM0B,EAAQ,UAAY,W,UAE1B,SAACxJ,EAAAA,EAAUA,CAACC,KAAM,GAAIC,MAAQqI,EAA4B,UAAZ,uB,cCjL/C,MAAM6C,GAAgBC,E,SAAAA,KAAyBC,IAAS,CAE7D7L,QAAQ,EACR8L,aAAa,EAGbC,kBAAkBC,GAChBH,EAAI,CAAE7L,OAAQgM,KAEhBC,qBACEJ,EAAI,CAAE7L,QAAQ,KAEhBkM,UAAUC,GACRN,EAAI,CAAEC,YAAaK,S,gDCjBR,SAASC,IACpB,MAAMC,GAAmBC,EAAAA,EAAAA,OACnB,aAAEC,EAAY,gBAAEC,IAAoBC,EAAAA,EAAAA,MACnCC,EAAQC,IAAa9G,EAAAA,EAAAA,WAAS,IAC/B,eAAE+G,IAAmBC,EAAAA,EAAAA,MACpBjN,IAAS0C,EAAAA,EAAAA,IAAgBC,GAAU,CAACA,EAAM3C,SAC3C+G,GAAYmG,EAAAA,EAAAA,MACZ3M,GAASC,EAAAA,EAAAA,aAiBf,OAfAsC,EAAAA,EAAAA,YAAU,KACN2J,EAAiB9E,QACjB,GACA,CACIC,UAAUwC,G,IACMA,EAAhBwC,EAAgBxC,OAAAA,QAAAA,IAAAA,GAAU,QAAVA,EAAAA,EAAMA,YAANA,IAAAA,OAAAA,EAAAA,EAAY+C,iBAE5BrF,QAAQC,GACR,MAAMqF,EAAarF,EAAIsF,gBACvBzK,QAAQC,IAAIuK,QAIjB,KAGC,UAAC3M,MAAAA,CAAIC,UAAU,W,WACX,UAACD,MAAAA,CACGiI,aACA3B,EAAY,IAAMgG,GAAU,GAAQ,OAEpCjE,aACA/B,EAAY,IAAMgG,GAAU,GAAS,OAErCrM,UAAU,6IACVwC,QAAS,KACL8J,EAAe,CACX9K,GAAI,iBACJc,MAAO,iBACP8B,MAAO,yBACPyH,MAAO,aAGXhM,EAAO+M,QAAQ,CACX5L,SAAU,YACVwI,MAAO,CACPqD,MAAO,qB,UAKJ,SAAVvN,GACD,SAAC0G,IAAKA,CACF7C,IAAK,sBACLC,IAAI,cACJC,MAAO,GACPC,OAAQ,MAGZ,SAAC0C,IAAKA,CACF7C,IAAK,iBACLC,IAAI,cACJC,MAAO,GACPC,OAAQ,MAGZ,UAACwJ,OAAAA,CAAK9M,UAAW,GAAuD,OAA1C,SAAVV,EAAmB,cAAgB,iBAAiB,2B,UACnE2M,EAAa,YAIrBG,IACG,UAACU,OAAAA,CAAK9M,UAAU,+I,UAA+I,sBACvIiM,EAAa,YCvBrD,MAAMc,EAAQ,CAOZ,CACEhF,KAAM,CAEJ/G,SAAU,YAEZ7B,KAAM,WAER,CACE4I,KAAM,CACJ/G,SAAU,aAEZ7B,KAAM,cAcR,CAEE4I,KAAM,+EACN5I,KAAM,sBAIJ6N,EAAW,CAOf,CACEjF,KAAM,CAEJ/G,SAAU,YAEZ7B,KAAM,WAER,CACE4I,KAAM,CACJ/G,SAAU,aAEZ7B,KAAM,cAQR,CACE4I,KAAM,CACJ/G,SAAU,cAEZ7B,KAAM,aAQR,CAEE4I,KAAM,+EACN5I,KAAM,sBAwBG8N,EAMP,I,IAAA,UACJC,EAAS,SACT/H,EAAQ,cACRqD,EAAa,eACbtJ,EAAc,cACdiO,GAAgB,GACjB,E,IAyCgB,EAwSItN,EAhVnB,MAAM,WAAE8G,EAAU,YAAE8B,IAAgB/C,EAAAA,EAAAA,IAAczD,IAAW,CAC3D0E,WAAY1E,EAAM0E,WAClB8B,YAAaxG,EAAMwG,iBAEdnJ,IAAS0C,EAAAA,EAAAA,IAAgBC,GAAU,CAACA,EAAM3C,SAC3CmH,GAAoBC,EAAAA,EAAAA,MACpB+C,GAAQ/C,EAAAA,EAAAA,QAAoB/B,EAAAA,EAAAA,MAC5B0B,GAAYmG,EAAAA,EAAAA,MACZ3M,GAASC,EAAAA,EAAAA,aACT+I,EAAQhJ,EAAOmB,SAAS8H,SAAS,yBAChCsE,EAAOC,IAAY9H,EAAAA,EAAAA,UAAS,KAC7B,UAAE9F,EAAS,aAAE6N,IAAiBC,EAAAA,EAAAA,MAC7BC,GAAiBC,KAAsBlI,EAAAA,EAAAA,WAAS,GAEjDmI,IAC6BC,EAAAA,EAAAA,IAAarH,OAAO2C,SAASC,UAE1D0E,QACqBhD,KAAxBnC,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAaoF,SACZ,CACE,gBAGA,SAgBA,cACA/E,SAA6B,QAAnB,EAAAL,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAaoF,cAAd,eAA8BC,OAC3C,CACE,gBAGA,SAgBA,cACAhF,SAASL,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAasF,UAGpBC,GAAqB,CACzB,aACA,WACA,OACA,OACA,oBACA,WACA,gBACA,UAIIC,IAAYlF,EAAAA,EAAAA,MAAcC,EAAAA,EAAAA,IAAa1C,OAAO2C,SAASC,UAAY,KACnE1C,IAAc7B,EAAAA,EAAAA,OACd,YAAE6G,IAAgBH,IAGlB6C,GAAoC,aAAbD,IAE7B7L,EAAAA,EAAAA,YAAU,KACR,IAAI+L,EAAU1F,GAAqC,kBAAtBA,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAa9C,MAGxC0H,EADE5E,GAAegB,GAAS0E,EACjBnB,EAEAD,KAEV,CAACtG,EAAmBgC,EAAajC,KAEpC,MAAM4H,IACJxE,EAAAA,EAAAA,IAAU,gBAA+C,UAA7BA,EAAAA,EAAAA,IAAU,gBAClCA,EAAAA,EAAAA,IAAU,eAEV,IAAIC,gBAAgBvD,OAAO2C,SAASa,QAAQC,IAAI,aAGtD3H,EAAAA,EAAAA,YAAU,KACR,IAAIiM,EAEJ,GAAmB,UAAf1H,GAA0B8B,EAAa,C,IAuBvCA,EAlBA4F,GAHA5F,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAasF,SAASjF,SAAS,YACN,kBAAzBL,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAasF,WAECO,EAAAA,EAAAA,IAAkB,SAEhC7F,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAasF,SAASjF,SAAS,YACN,kBAAzBL,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAasF,WAECO,EAAAA,EAAAA,IAAkB7F,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAasF,WAE/BO,EAAAA,EAAAA,IACiB,iCAA7BhI,OAAO2C,SAASC,SACZ,WACyB,SAAzBT,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAasF,UACb,WACAtF,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAasF,UAGrBT,EAAae,IAGqB,WAAhC5F,OAAAA,QAAAA,IAAAA,GAAmB,QAAnBA,EAAAA,EAAaoF,cAAbpF,IAAAA,OAAAA,EAAAA,EAAqB8F,SACrBP,GAAmBlF,SAASL,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAasF,WACzCS,EAAAA,EAAAA,QACC/E,GAAmC,cAA1BhB,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAasF,YAEvBN,IAAmB,OAEhB,CACL,MAAMY,GAAcC,EAAAA,EAAAA,IACW,iCAA7BhI,OAAO2C,SAASC,SACZ,WACa,QAAb+E,GACA,WACAA,IAENX,EAAae,MAEd,CAAC5F,EAAa9B,EAAYyH,KAE7B,MAAMK,GAAU1L,IACd,IAAI2L,EAAa,CACftO,QAASoI,EAAgB,aAAe,2BACxC9G,SAAU8G,EAAgB,aAAe,kBAG3C,OAAO3I,EAAOmB,UAAY+B,EAAI2L,EAAWhN,SAAWgN,EAAWtO,SAG3DuO,GA5LgB,CAACC,IACvB,MAAMD,EAAME,EAAAA,SAgBZ,OAdAA,EAAAA,WAAgB,KACd,MAAMtP,EAAesB,I,IACE8N,EAAjBA,EAAIG,WAAwB,QAAXH,EAAAA,EAAIG,eAAJH,IAAAA,OAAD,IAAsBI,SAASlO,EAAMmO,UACvDJ,KAMJ,OAFAK,SAASC,iBAAiB,QAAS3P,GAAa,GAEzC,KACL0P,SAASE,oBAAoB,QAAS5P,GAAa,MAEpD,CAACoP,IAEGA,GA2KKS,EAAgB,KAC1BjJ,IAAoB,OAGfd,GAAcC,KAAmBC,EAAAA,EAAAA,UAAS,CAC/C,CACE/D,GAAI,EACJc,MAAO,SACP+M,KAAM,OACNtH,KAAM,uBAER,CACEvG,GAAI,EACJc,MAAO,SACP+M,KAAM,SACNtH,KAAM,sBAER,CACEvG,GAAI,EACJc,MAAO,mBACP+M,KAAM,OACNtH,KAAM,+BAER,CACEvG,GAAI,GACJc,MAAO,SACP+M,KAAM,WACNtH,KAAM,aAIJuH,GAAcD,IAClB,OAAQA,GACN,IAAK,OAaL,QACE,OAAO,SAACE,EAAAA,EAAQA,CAACvP,UAAU,mBAZ7B,IAAK,SACH,OAAO,SAACmE,EAAAA,EAAUA,CAACnE,UAAU,mBAE/B,IAAK,OACH,OAAO,SAACkE,EAAAA,EAAQA,CAAClE,UAAU,mBAE7B,IAAK,WACH,OAAO,SAACwP,EAAAA,EAAcA,CAACxP,UAAU,mBAEnC,IAAK,YACH,OAAO,SAACyP,EAAaA,CAACzP,UAAU,qBAMhC0P,IAAaC,EAAAA,EAAAA,QAAO,OACnBC,GAAUC,KAAetK,EAAAA,EAAAA,WAAS,GAEnCuK,GAAmB,KACnBJ,GAAWZ,SACb7G,aAAayH,GAAWZ,SAE1Be,IAAY,IAGRE,GAAmB,KACvBL,GAAWZ,QAAU3G,YAAW,KAC9B0H,IAAY,KACX,MAGCG,GAAa,KACjB,OAAQrJ,GACN,IAAK,OACL,IAAK,UACH,OACE,SAACsJ,EAAAA,GAAeA,C,UACd,SAACC,EAAAA,GAAcA,CAAChQ,KAAM,OAI5B,IAAK,YACH,OACE,SAAC4H,IAAIA,CACHC,KAAM0B,EAAQ,SAAW,YACzBjH,QAAS,MACPmF,EAAAA,EAAAA,IAAW,CACT9G,MAAO,uBAGTD,EAAAA,EAAAA,IAAc,CACZC,MAAO,uBAGTI,EAAAA,EAAAA,IAAa,CACXJ,MAAO,uB,UAIX,SAACsP,EAAAA,EAAMA,CACLjQ,KAAMuJ,EAAQ,SAAWpD,EAAY,QAAU,QAC/C+J,QAAS3G,EAAQ,UAAY,kBAC7BzJ,UAAU,gB,SAEDsE,GAARmF,EAAU,QAAa,gBAIhC,IAAK,QAwDH,OAtDE,UAAC1J,MAAAA,CAAIC,UAAU,W,WACb,SAACD,MAAAA,CAAIC,UAAU,mC,WACVwG,IAAeC,KAChB,SAAC1G,MAAAA,CACCiI,aAAc8H,GACd1H,aAAc2H,G,UAEd,SAAC/J,IAAKA,CACJ5C,IAAI,UACJD,IAAK,sBACLE,MAAO,GACPC,OAAQ,GACRtD,UAAqB,SAAVV,EAAmB,sBAAwB,WAM3DkH,IAAeC,IAAsBmJ,KACtC,SAAC7P,MAAAA,CACCC,UAAU,0LACVgI,aAAc8H,GACd1H,aAAc2H,G,SAEb1K,IACCA,GAAagL,OAAS,GACtBhL,GAAaiL,KAAI,CAACvN,EAAGwN,KACnB,UAACxQ,MAAAA,CACCC,UAAU,uB,WAGV,SAAC8H,IAAIA,CACH0I,gBAAc,EAEdzI,KAAMhF,EAAEgF,MAAQ,IAChB0I,UAAQ,E,UAER,UAAC1N,IAAAA,CACC/C,UAAU,mGACV2F,KAAK,eACLnE,GAAI,oBAA2B+O,E,UAE9BxN,EAAEsM,OAAQ,SAACtP,MAAAA,C,SAAKuP,GAAWvM,EAAEsM,QAC7BtM,EAAET,WAIE,GAARS,EAAEvB,KAAW,SAAC2J,EAAAA,GAAcA,CAACxJ,UAAU,MAlBnC,oBAA2B4O,UA2BhD,QACE,OAAO,2BAIbnO,EAAAA,EAAAA,YAAU,KACR,GAAI8L,GAAsB,CACxB,MAAM,OAAE7E,EAAM,KAAE/H,GAASzB,EAEzBsI,YAAW,KAET7G,EAAK+H,OAAQuB,EAAW,CAAEzB,OAAQ,SACjC,QAEJ,CAAC+E,KAEJ,MAAOhI,GAAkBC,KAAuBZ,EAAAA,EAAAA,WAAS,GAGnD+D,GAA0C,SAA7BzJ,OAAAA,QAAAA,IAAAA,GAAa,QAAbA,EAAAA,EAAQ2J,aAAR3J,IAAAA,OAAAA,EAAAA,EAAeyJ,YAE5BwB,GAAe3J,KACnBwG,EAAAA,EAAAA,IAAW,CACT9G,MAAO,QACPC,SAAU,CACRiK,YAAa5J,EACbJ,KAAMlB,EAAOmB,aAIjBJ,EAAAA,EAAAA,IAAc,CACZC,MAAO,QACPC,SAAU,CACRiK,YAAa5J,EACbJ,KAAMlB,EAAOmB,aAIjBC,EAAAA,EAAAA,IAAa,CACXJ,MAAO,QACPC,SAAU,CACRiK,YAAa5J,EACbJ,KAAMlB,EAAOmB,cAIb,EAAEsD,KAAMC,EAAAA,EAAAA,GAAe,UAE7B,IAAImM,GAAc,8BACd7H,IACF6H,IAAc/L,EAAAA,EAAAA,MACVL,GAAE,yBACFA,GAAE,kBAGR,MAAMqF,IAC6BK,EAAAA,EAAAA,GAAY1D,OAAO2C,SAASC,UACzDe,IAC6BC,EAAAA,EAAAA,GAAe5D,OAAO2C,SAASC,UAC5DiB,IAC6BC,EAAAA,EAAAA,IAAgB9D,OAAO2C,SAASC,UAC7DmB,IAC6BC,EAAAA,EAAAA,IAAgBhE,OAAO2C,SAASC,UAC7DqB,IAC6BC,EAAAA,EAAAA,IAAWlE,OAAO2C,SAASC,UAExDyH,IAEHC,EAAAA,EAAAA,IAActK,OAAO2C,SAASC,YAC7B2H,EAAAA,EAAAA,IAAoBvK,OAAO2C,SAASC,UAElC4H,IAC6BC,EAAAA,EAAAA,GAAazK,OAAO2C,SAASC,WAE1D,eAAEoD,KAAmBC,EAAAA,EAAAA,KAErByE,GAAeC,IACf/D,IACFA,EAAU4B,QAAUmC,GAEtBtC,GAAIG,QAAUmC,GAGhB,OACE,qB,SACG5K,GACC,SAACoE,SAAAA,CACCkE,IAAKqC,GACLhR,UACE,4CACCwI,EACG,gDACA,8DAEN0I,MAAO,CAAEC,OAAQ,I,UAGjB,UAACC,EAAAA,EAAgBA,CACfpR,UAAW,qD,WAEX,UAACD,MAAAA,CACCC,UACE,sBACCwG,IAAeC,EAAoB,WAAa,YAChD+G,GAAkB,GAAK,kB,WAG1B,SAAC1F,IAAIA,CAEHC,KAAOuB,GAAmB,IAAN,IACpB9G,QACG8G,QAAkDsB,EAArC,IAAME,GAAY,iB,UAGlC,SAAC/K,MAAAA,CAAIC,UAAU,Q,SACZ2J,IACC,sB,UACY,SAATrK,IACC,SAAC2L,IAAMA,CACL9H,IAAK,oBACLC,IAAI,MACJC,MAAO,IACPC,OAAQ,KAGF,QAAThE,IACC,SAAC2L,IAAMA,CACL9H,IAAK,4BACLC,IAAI,MACJC,MAAO,IACPC,OAAQ,QAIZ2G,IACF,SAACgB,IAAMA,CACL9H,IACW,QAAT7D,EACI,2BACA,sBAEN8D,IAAI,MACJC,MAAO,IACPC,OAAQ,KAER6G,IACF,SAACc,IAAMA,CACL9H,IACW,QAAT7D,EACI,4BACA,uBAEN8D,IAAI,MACJC,MAAO,IACPC,OAAQ,KAER+G,IACF,SAACY,IAAMA,CACL9H,IACW,QAAT7D,EACI,6BACA,wBAEN8D,IAAI,MACJC,MAAO,IACPC,OAAQ,KAERiH,IACF,SAACU,IAAMA,CACL9H,IACW,QAAT7D,EACI,uBACA,kBAEN8D,IAAI,MACJC,MAAO,IACPC,OAAQ,KAERqN,IACF,SAAC1F,IAAMA,CACL9H,IACW,QAAT7D,EACI,iCACA,kCAEN8D,IAAI,YACJC,MAAO,IACPC,OAAQ,KAERwN,IACF,SAAC7F,IAAMA,CACL9H,IACW,QAAT7D,EACI,6BACA,8BAEN8D,IAAI,OACJC,MAAO,IACPC,OAAQ,MAGV,qB,SACY,QAAThE,GACC,SAAC+R,GAAAA,CAAaC,UAAQ,KAEtB,SAACpG,EAAAA,EAAQA,WAMjB5B,KACA,SAACvJ,MAAAA,CACCC,UACE,0CACCwI,EAAgB,aAAe,mB,SAGjC4E,GAASA,EAAMiD,OACZjD,EAAMmE,QAAQxO,GACZyD,IAAeC,GACV,CAAC,UAAW,qBAAqBqC,SAAS/F,EAAE5D,MAC7C4D,IACJuN,KAAI,CAACkB,EAAGC,KACR,GAAID,EAAErS,KAAK2J,SAAS,YAClB,OACE,SAAC/F,IAAAA,CAECiM,OAAO,UAEPjH,KAAMyJ,EAAEzJ,KACRvF,QAAS,IAAMsI,GAAY0G,EAAErS,MAC7BuS,IAAI,sB,UAEJ,UAAC3R,MAAAA,CACCC,UACE,qDACAyO,GAAO+C,EAAEzJ,KAAK/G,U,WAGhB,SAAC2Q,IAAAA,C,SAAGH,EAAErS,QACN,SAACY,MAAAA,CAAIC,UAAU,6E,UACb,SAAC2R,IAAAA,C,SAAE,cAfFF,GAoBJ,GAAc,cAAVD,EAAErS,KACX,OACE,SAACY,MAAAA,CACCyC,QAAS,KACY,UAAfmE,GAA2BH,IAG7B8F,GAAe,CACb9K,GAAI,cACJc,MAAO,aACP8B,MAAO,qBACPyH,MAAO,gBAGThM,EAAO+M,QAAQ,CACb5L,SAAU,YACVwI,MAAO,CACLqD,MAAO,kBAZXhN,EAAOyB,KAAK,WAiBhBtB,UACE,yCACAyO,GAAO+C,EAAEzJ,KAAK/G,U,SAGfsD,GAAEkN,EAAErS,QAGJ,GAAe,WAAXqS,EAAErS,KAAmB,CAC9B,MAAMyS,EAAYpQ,IAChB,MAAMyP,EAAUhC,SAAS4C,eAAerQ,GACxC,GAAIyP,EAAS,CACX,MAAMa,EACJb,EAAQc,wBAAwBC,IAChC1L,OAAO2L,QACHC,EAAS,GAEf5L,OAAOsL,SAAS,CACdI,IAAKF,EAAkBI,EACvBC,SAAU,aAKVC,EAAe,KACnB,MAAM,SAAEpR,GAAanB,EAEJ,MAAbmB,EACFnB,EAAOyB,KAAK,KAAK+Q,MAAK,KACpBT,EAAS,WACTzJ,YAAW,KACTyJ,EAAS,YACR,SAGLA,EAAS,WACTzJ,YAAW,KACTyJ,EAAS,aACR,OAIP,OACE,SAAC7R,MAAAA,CAAIyC,QAAS4P,E,UACZ,SAACrS,MAAAA,CACCC,UACE,uBACAyO,GAAO+C,EAAEzJ,KAAK/G,U,SAGfsD,GAAEkN,EAAErS,UAKX,OACE,SAAC2I,IAAIA,CAGHC,KAAMyJ,EAAEzJ,KACRvF,QAAS,IAAMsI,GAAY0G,EAAErS,M,UAE7B,SAACY,MAAAA,CACCC,UAAW,QAAUyO,GAAO+C,EAAEzJ,KAAK/G,U,SAElCsD,GAAEkN,EAAErS,SARFsS,MAcb,WAIV,SAAC1R,MAAAA,CACCC,UACE,KACCwG,IAAeC,EAAoB,WAAa,YAChD+G,GAAkB,GAAK,kB,SAGzBrI,IAEGqB,IAAeC,EACH,SAAdE,GACE,UAAC5G,MAAAA,CAAIC,UAAU,uC,UACZP,IACC,SAACiF,EAAAA,EAAgBA,CACfjF,UAAWA,EACXL,aACEuF,EAAAA,EAAAA,MACIL,GAAE,yBACFA,GAAE,iBAERjF,SAAS,QACTW,UAAU,iCACV8E,OAAQ,CACNjE,MAAO,wBACPC,SAAU,CACRC,KAAO,oBAMb6M,IAAmBF,MAAoB,SAAC5B,EAAMA,KAoBhD,SAAC/L,MAAAA,CAAIC,UAAU,qDAEf,SAACiG,EAAqBA,CACpBC,iBAAkBA,GAClBC,oBAAqBA,GACrBC,kBAA6B,SAAV9G,KAGrB,SAAC6L,EAAAA,GAAcA,CAACxJ,UAAU,IAEzBqO,SAGH,UAACjQ,MAAAA,CAAIC,UAAU,uC,UACZP,IACC,SAACiF,EAAAA,EAAgBA,CACfjF,UAAWA,EACXL,aACEuF,EAAAA,EAAAA,MACIL,GAAE,yBACFA,GAAE,iBAERjF,SAAS,QACTW,UAAU,oBACV8E,OAAQ,CACNjE,MAAO,wBACPC,SAAU,CACRC,KAAO,mBAKdiP,SAIL,UAACjQ,MAAAA,CAAIC,UAAU,uC,WACb,SAAC0E,EAAAA,EAAgBA,CACftF,YAAasR,GACbrR,SAAS,QACTW,UAAU,oBACV8E,OAAQ,CACNjE,MAAO,4BACPC,SAAU,CACRC,KAAMlB,EAAOmB,aAOjB,CACEsR,OACE,sB,WACE,SAACrM,EAAqBA,CACpBC,iBAAkBA,GAClBC,oBAAqBA,GACrBC,kBAA6B,SAAV9G,IAEpB0Q,QAGLuC,SACE,SAACtC,EAAAA,GAAeA,CAACjQ,UAAU,c,SACxB,CAAC,EAAG,GAAGsQ,KAAKkC,IACX,SAACC,EAAAA,GAAYA,CAEXzS,UAAU,uBADLwS,OAMbE,WACE,sB,WACE,SAAC5K,IAAIA,CAACC,KAAM,S,UACV,SAACoI,EAAAA,EAAMA,CACLC,QACE5H,EACI,oBACA,wBAENxI,UAAWwI,EAAgB,cAAgB,GAC3CmK,QAAM,EACNzS,KAAMmG,EAAY,QAAU,Q,SAE3B/B,GAAE,cAGP,SAACwD,IAAIA,CAACC,KAAM,Y,UACV,SAACoI,EAAAA,EAAMA,CACLC,QACE5H,EAAgB,oBAAsB,UAExCmK,QAAM,EACNzS,KAAMmG,EAAY,QAAU,Q,SAC7B,iBAMPM,eAQd,qB,UACIkC,IACA,SAAC4B,SAAAA,CACCkE,IAAKqC,GACLhR,UACE,4CACCwI,EACG,gDACA,8DAEN0I,MAAO,CAAEC,OAAQ3F,GAAc,GAAK,G,UAIpC,SAACzL,MAAAA,CAAIC,UAAU,wC,UACb,SAACD,MAAAA,CAAIC,UAAU,gC,UACb,SAACuI,EAAUA,CAACC,cAAeA,eAWhC6I,GAAkD,I,IAAA,SAC7DC,GAAW,GACZ,EACC,OAAIA,GAEA,UAAC7N,MAAAA,CACCJ,MAAM,MACNC,OAAO,KACPI,QAAQ,aACRC,KAAK,OACLC,MAAM,6B,WAEN,SAACC,OAAAA,CACCC,EAAE,i/BACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,s+BACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,uwBACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,4LACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,2gDACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,0jGACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,s0CACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,q6FACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,itEACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,+oJACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,o9CACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,ujGACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,62CACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,i8FACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,+9DACFH,KAAK,WAEP,SAACE,OAAAA,CACCC,EAAE,yvHACFH,KAAK,cAMT,UAACF,MAAAA,CACCJ,MAAM,MACNC,OAAO,KACPI,QAAQ,aACRC,KAAK,OACLC,MAAM,6B,WAEN,SAACC,OAAAA,CACCC,EAAE,i+BACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,o9BACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,uwBACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,4LACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,ugDACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,sjGACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,g0CACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,24FACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,ysEACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,+oJACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,o8CACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,2iGACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,i3CACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,y7FACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,u9DACFH,KAAK,aAEP,SAACE,OAAAA,CACCC,EAAE,yuHACFH,KAAK,iB,qECjpCR,MAAMiP,EAAW,CACtBC,QAAS,CACP,CACErR,GAAI,cACJc,MAAO,aACP8B,MAAO,qBACPyH,MAAO,eAET,CACErK,GAAI,iBACJc,MAAO,iBACP8B,MAAO,yBACPyH,MAAO,aAIXiH,YAAa,CACX,CACEtR,GAAI,cACJc,MAAO,aACP8B,MAAO,qBACPyH,MAAO,eAET,CACErK,GAAI,iBACJc,MAAO,iBACP8B,MAAO,yBACPyH,MAAO,cAsBAU,GAAejB,EAAAA,EAAAA,KAAwBC,IAAS,CAE3DwH,YAAa,GACbC,YAAa,GAGb1G,eAAe2G,GACb1H,EAAI,CACFyH,YAAaC,GAAYL,EAAS,MAGtCM,eAAe1R,GACb+J,EAAI,CACFwH,YAAaH,EAASpR,W,6FC/DrB,MAWM2R,EAA2BC,IACtCC,EAAAA,EAAAA,IAAO,MAAO,0BAA2BD,GAG9BvM,EAAwB,KAAMwM,EAAAA,EAAAA,IAAO,MAAO,kB,4NCKlD,MAAMC,EAAiB,EAyO9B,IApOM,I,IAAA,MAAEhU,EAAQ,GAAE,WAAEgJ,GAAa,GAAO,E,IA+L7B,EA9LT,MAAMiL,GAAYvR,EAAAA,EAAAA,IAAgBC,GAAUA,EAAM3C,QAC5CkU,GAAW3M,EAAAA,EAAAA,OACV4M,EAAUC,IAAenO,EAAAA,EAAAA,UAAS,OAClCoO,EAAU5M,IAAexB,EAAAA,EAAAA,UAAS,OAClCxE,EAAM6S,IAAWrO,EAAAA,EAAAA,UAAS,IAC1BsO,EAAUC,IAAevO,EAAAA,EAAAA,WAAS,IAEnC,gBAAEuB,EAAe,iBAAEiN,IAAqB/M,EAAAA,EAAAA,IAAe/E,IAAW,CACtE6E,gBAAiB7E,EAAM6E,gBACvBiN,iBAAkB9R,EAAM8E,gBAGpBiN,GAAYrE,EAAAA,EAAAA,SAAO,GAOnBsE,EAAqBC,IACzBR,EAAYQ,GACZ,MAAMC,EACJD,GAAOA,EAAI7D,OAAS,EAChB6D,EAAI5D,KAAKkC,I,IAKCA,EAAyBA,EAJjC,MAAO,CACLhR,GAAIgR,EAAGhR,GACP4C,MAAOoO,EAAG4B,WACVC,YAAa7B,EAAG8B,aAAalQ,MAC7B0J,MAAqB,QAAf0E,EAAAA,EAAG8B,oBAAH9B,IAAAA,OAAAA,EAAAA,EAAiB1E,QAAuB,QAAf0E,EAAAA,EAAG8B,oBAAH9B,IAAAA,OAAAA,EAAAA,EAAiBhR,KAAM,GACtD+S,IAAK,CACHC,KAAMhC,EAAGiC,kBAAkBD,KAC3BrT,KAAMqR,EAAGiC,kBAAkBC,KAC3BC,UAAWnC,EAAGoC,aAIpB,GAEN7N,EAAYuB,EAAa6L,EAAiBU,MAAM,EAAG,GAAKV,GACxDL,GAAY,KAGd1R,EAAAA,EAAAA,YAAU,KACJ4R,EAAUlF,QACZ3G,YAAW,KACLrB,GAEFmN,EAAkBnN,EAAgB4C,QAEnC,KAEHsK,EAAUlF,SAAU,IAErB,CAAChI,IAEJ,MAAMT,GAAYmG,EAAAA,EAAAA,MACZ3M,GAASC,EAAAA,EAAAA,aAETgV,EACJzO,GAAaiC,GAAcqL,GAAYA,EAAStD,OAAS,EAuB3D,OACE,SAACtQ,MAAAA,CACCC,UACE2T,GAA+B,GAAnBA,EAAStD,OAAc,sBAAwB/Q,E,SAG5DuU,GACC,SAAC9T,MAAAA,CAAIC,UAAU,mD,UACb,SAAC+U,EAAAA,EAAUA,CACTC,QAASnB,EACT1T,MAAoB,QAAboT,EAAsB,UAAY,eAI7C,sB,UACGjL,GAAcjC,IACb,SAACtG,MAAAA,CAAIC,UAAU,yD,SAAyD,eAKzE2T,GAAYA,EAAStD,OAAS,EAC7BsD,EAASrD,KAAK2E,IACZ,IAAIC,EAAa,CACfC,WAAY,SACZC,WAAY,oBACZC,aAAcJ,EAAIZ,aAEhBiB,EAAU,GAEd,OAAQL,EAAIV,IAAIC,MACd,IAAK,cACHc,EAAU,CACRtU,SAAU,qBACVwI,MAAO,IACF0L,EACH1T,GAAIyT,EAAInH,KACRyH,eAAgBN,EAAIzT,GACpBgU,IAAK,iBAGT,MAEF,IAAK,iBACHF,EAAU,CACRtU,SAAU,uBACVwI,MAAO,IACF0L,EACHO,WAAYR,EAAInH,KAChByH,eAAgBN,EAAIzT,KAGxB,MAEF,IAAK,SACF0T,EAAmBO,WAAaR,EAAInH,KACpCoH,EAAmBK,eAAiBN,EAAIzT,GACzC,MAAMkU,GAAQC,EAAAA,EAAAA,IAAeT,GAC7BI,EAAU,CACRtU,SAAU,YACVwI,MAAO,IACF0L,EACHnU,KAAM,WAAuB2U,OAAZT,EAAInH,KAAK,KAAS,OAAN4H,KAGjC,MAEF,QACEJ,EAAU,CACRtU,SAAU,mCACVwI,MAAO,IACF0L,EACHU,iBAAkBX,EAAInH,KACtByH,eAAgBN,EAAIzT,GACpBgU,IAAK,iBAKb,OACE,SAAC1N,IAAIA,CAEHtF,QAAS,MACPmF,EAAAA,EAAAA,IAAW,CACT9G,MAAO,yBACPC,SAAU,CACRK,KAAM8T,EAAIV,IAAIpT,KACd2M,KAAMmH,EAAInH,SAIhB/F,KAAMuN,E,UAGN,SAACO,EAAAA,EAAeA,IACVZ,EACJa,SAAO,EACPhB,qBAAsBA,KAhBnBG,EAAInH,KAAO,kBAsBtB,SAAC/N,MAAAA,CAAIC,UAAWqG,EAAY,QAAU,G,UACpC,SAAC0P,EAAAA,EAAYA,CA5KvB3R,MAAO,uBACP4R,QAAS,yDA+KF,OAAClP,QAAAA,IAAAA,GAA6B,QAA9B,IAA0BmP,YAA1B,eAAgCC,WAAYnV,IAASuH,GACpD,SAACvI,MAAAA,CAAIC,UAAU,2B,UACb,SAACmQ,EAAAA,EAAMA,CACLwC,QAAStM,EACTnG,KAAK,QACLkQ,QAAQ,YACRnO,MAAOuR,EAAS2C,UAAY,UAAY,SACxC3T,QAxIU,MACtBmF,EAAAA,EAAAA,IAAW,CACT9G,MAAO,wBAGT2S,EAASvM,QACP,CACEmP,MAAO9C,EACPvS,KAAMA,EAAO,GAEf,CACEmG,UAAUwC,GACRkK,GAASjC,GAAMA,EAAI,IACnB,MAAM0E,EAAM,IAAI5C,KAAa/J,OAAAA,QAAAA,IAAAA,OAAAA,EAAAA,EAAMA,MACnCgK,EAAY2C,GACZpC,EAAkBoC,O,SA0Hb,yBAKH,wBAGDvB,IACC,SAAC3E,EAAAA,EAAMA,CACLC,QAAQ,wBACRpQ,UAAU,2CACV2S,QAAM,EACNnQ,QAAS,KACP3C,EAAOyB,KAAK,CACVN,SAAU,mBAGdd,KAAMmG,EAAY,QAAU,Q,SAC7B,kC,sDCvON,MAAMW,GAAgBsE,E,SAAAA,KAAyBC,IAAS,CAE7DzE,gBAAiB,GAGjBC,YAAY2C,GACV6B,EAAI,CAAEzE,gBAAiB4C,U,sDCRpB,MAAMyC,GAAuBb,E,SAAAA,KAAgCC,IAAS,CAE3EU,aAAc,GACdqK,mBAAoB,GAGpBpK,gBAAgBR,GACdH,EAAI,CAAEU,aAAcP,KAEtB6K,sBAAsB7K,GACpBH,EAAI,CAAE+K,mBAAoB5K","sources":["webpack://_N_E/./src/components/Form/FieldSearch.tsx","webpack://_N_E/./src/components/Form/ToggleDarkMode.tsx","webpack://_N_E/./src/components/Icon/IconLock.tsx","webpack://_N_E/./src/components/Icon/IconSignOutAlt.tsx","webpack://_N_E/./src/components/Icon/IconStatus.tsx","webpack://_N_E/./src/components/Icon/IconUser.tsx","webpack://_N_E/./src/components/InstantSearchBox/ModalSearchBox.tsx","webpack://_N_E/./src/components/Icon/IconApperance.tsx","webpack://_N_E/./src/components/Dropdown/Dropdown.tsx","webpack://_N_E/./src/components/Icon/IconBell.tsx","webpack://_N_E/./src/modules/Notification/index.tsx","webpack://_N_E/./src/components/Icon/IconLogoTextWhite.tsx","webpack://_N_E/./src/modules/Home/HomeHeader.tsx","webpack://_N_E/./src/components/Modal/modalStore.ts","webpack://_N_E/./src/components/Chip/JpChip.tsx","webpack://_N_E/./src/components/PageHeader/PageHeaderDesktop.tsx","webpack://_N_E/./src/components/Tabs/tabsStore.ts","webpack://_N_E/./src/modules/Home/homeApi.ts","webpack://_N_E/./src/modules/Notification/NotificationContent.tsx","webpack://_N_E/./src/modules/Notification/notifStore.ts","webpack://_N_E/./src/modules/Tenant/learningHourStore.ts"],"sourcesContent":["import React, { DetailedHTMLProps, InputHTMLAttributes, useState } from \"react\";\n\nimport { IconSearch } from \"components/Icon/IconSearch\";\nimport { trackEvent, trackEventGA, trackEventGTM } from \"lib/amplitude\";\nimport { useRouter } from \"next/router\";\nimport { ModalSearchBox } from \"components/InstantSearchBox/ModalSearchBox\";\n\nexport type Props = DetailedHTMLProps<\n InputHTMLAttributes,\n HTMLInputElement\n> & {\n text?: string;\n onChangeSearch?: (text: any) => void;\n events?: any;\n placeholder?: string;\n position?: \"right\" | \"left\";\n theme?: \"default\" | \"white\";\n handleClick?: () => void;\n submitSearch?: () => void;\n setModal?: (a: boolean) => void;\n isShow?: boolean;\n indexName?: string;\n classWidth?: string;\n};\n\nconst FieldSearch: React.FC = ({\n onChangeSearch,\n text,\n placeholder = \"Ingin belajar apa hari ini?\",\n position = \"left\",\n theme = \"default\",\n handleClick,\n submitSearch,\n indexName,\n isShow,\n setModal,\n classWidth = \"w-600 x-max:w-400\",\n}) => {\n const router = useRouter();\n const themes = {\n default: \"placeholder-input_placeholder bg-white text-neutral-50 \",\n white: \"placeholder-white bg-[#ffffff33] text-white \",\n };\n\n const themeIcon = {\n default: \"#5D586C \",\n white: \"#FFFFFF \",\n };\n\n const themeBorder = {\n default: \"border border-neutral-40 \",\n white: \"border-none outline-none \",\n };\n\n return (\n
\n \n \n
\n\n {\n e.preventDefault();\n }}\n >\n {\n trackEventGTM({\n event: \"explore_searchbar_start_a\",\n property: {\n page: router.pathname,\n },\n });\n trackEventGA({\n event: \"explore_searchbar_start_a\",\n property: {\n page: router.pathname,\n },\n });\n setModal(true);\n }}\n className={\n `w-full focus:outline-none p-8 text-b1 font-light rounded-6 ${themes[theme]} ${themeBorder[theme]} ` +\n (position == \"left\" ? \" pl-36\" : \" pr-36\")\n }\n placeholder={placeholder}\n />\n \n \n\n {\n setModal(false);\n router.push({\n pathname: \"/\",\n });\n }}\n />\n \n );\n};\n\nexport default FieldSearch;\n","import { useSystemStore } from \"components/PageHeader/systemStore\";\nimport { trackEvent, trackEventGA, trackEventGTM } from \"lib/amplitude\";\nimport Images from \"next/image\";\nimport { useEffect } from \"react\";\n\nexport type Props = {\n id?: string;\n onChange?: (a: any) => void;\n className?: string;\n checked?: boolean;\n selected?: string;\n isSwitch?: boolean;\n onUpdateTheme?: (a: any) => void;\n};\n\nconst ToggleDarkMode: React.FC = ({\n className,\n onChange,\n id,\n checked,\n selected,\n isSwitch = false,\n onUpdateTheme,\n}) => {\n const [theme, allThemes, setTheme, setAllTheme] = useSystemStore((state) => [\n state.theme,\n state.allThemes,\n state.setTheme,\n state.setAllTheme,\n ]);\n\n console.log(\"🚀 theme\", theme);\n\n useEffect(() => {\n if (theme === \"dark\") {\n trackEventGTM({\n event: \"dark_mode_s\",\n property: {\n dark_mode: true,\n },\n });\n trackEventGA({\n event: \"dark_mode_s\",\n property: {\n dark_mode: true,\n },\n });\n }\n }, [theme]);\n\n if (isSwitch) {\n return (\n <>\n
\n
\n\n \n \n */}\n\n {theme == \"dark\" ? : }\n \n \n \n \n );\n } else {\n return (\n onChange(allThemes.find((a) => a.active)?.id)}\n >\n {\n {\n light: (\n \n ),\n dark: (\n \n ),\n system: (\n \n ),\n }[allThemes.find((a) => a.active)?.id]\n }\n \n );\n }\n};\n\nexport default ToggleDarkMode;\n\nexport const IconSun = ({ color }) => {\n return (\n \n \n \n );\n};\n\nexport const IconMoon = ({ color }) => {\n return (\n \n \n \n );\n};\n","type Props = {\n size?: number;\n className?: string;\n};\n\nexport const IconLock: React.FC = ({\n size = 24,\n className = \"fill-neutral-40\",\n}) => {\n return (\n \n \n \n );\n};\n","import React from \"react\";\n\ntype Props = {\n size?: number;\n className?: string;\n};\n\nconst IconSignOutAlt: React.FC = ({\n size = 24,\n className = \"fill-neutral-80\",\n}) => {\n return (\n \n \n \n );\n};\n\nexport default IconSignOutAlt;\n","import React from \"react\";\n\ntype Props = {\n size?: number;\n color?: string;\n className?: string;\n};\n\nexport const IconStatus: React.FC = ({\n size = 24,\n // color = \"#19093A\",\n className = \"fill-neutral-80\",\n}) => {\n return (\n \n \n \n );\n};\n","import React from \"react\";\n\ntype Props = {\n size?: number;\n className?: string;\n};\n\nconst IconUser: React.FC = ({\n size = 24,\n className = \"fill-neutral-80\",\n}) => {\n return (\n \n \n \n );\n};\n\nexport default IconUser;\n","import Modal from \"components/Modal\";\nimport InstantSearchBox from \"./InstantSearchBox\";\nimport { useRouter } from \"next/router\";\nimport useTranslation from \"next-translate/useTranslation\";\nimport { useIsTenant } from \"lib/host\";\n\nexport const ModalSearchBox: React.FC<{\n title?: string;\n isShow?: boolean;\n setModal?: (a: boolean) => void;\n onClose?(): void;\n indexName?: string;\n}> = ({ isShow, setModal, onClose, title, indexName, ...props }) => {\n const { t } = useTranslation(\"common\");\n const router = useRouter();\n\n return (\n \n
\n \n
\n \n );\n};\n","import React from \"react\";\n\ntype Props = {\n size?: number;\n className?: string;\n};\n\nconst IconApperance: React.FC = ({\n size = 24,\n className = \"fill-neutral-80\",\n}) => {\n return (\n \n \n \n );\n};\n\nexport default IconApperance;\n","import { useEffect, useState, ReactNode } from \"react\";\nimport DropdownJSON from \"data/locales/id/dropdown.json\";\n\n///ICON\nimport { IconLock } from \"components/Icon/IconLock\";\nimport { IconStatus } from \"components/Icon/IconStatus\";\nimport IconUser from \"components/Icon/IconUser\";\nimport IconSignOutAlt from \"components/Icon/IconSignOutAlt\";\nimport { useAuthLogoutApi } from \"modules/Auth/authApi\";\nimport { useRouter } from \"next/router\";\nimport { useAuthStore } from \"modules/Auth/authStore\";\nimport IconApperance from \"components/Icon/IconApperance\";\nimport ToggleDarkMode from \"components/Form/ToggleDarkMode\";\nimport Link from \"next/link\";\n///ICON\n\nexport const Dropdown: React.FC<{\n id?: string;\n theme?: string;\n children?: ReactNode;\n className?: string;\n included?: boolean;\n}> = ({ id = \"\", theme = \"\", children, className, included }) => {\n const [dataDropdown, setDataDropdown] = useState([]);\n\n useEffect(() => {\n if (id) {\n setDataDropdown(DropdownJSON[id]);\n }\n }, [id]);\n\n const renderIcon = (icon: string) => {\n switch (icon) {\n case \"user\":\n return ;\n case \"status\":\n return ;\n\n case \"lock\":\n return ;\n\n case \"sign-out\":\n return ;\n\n case \"apperance\":\n return ;\n default:\n return ;\n }\n };\n\n const authLogoutApi = useAuthLogoutApi();\n const router = useRouter();\n const authStore = useAuthStore();\n\n return (\n \n {/* {id && (\n
\n {dataDropdown &&\n dataDropdown.length > 0 &&\n dataDropdown.map((a, index) => (\n \n \n \n {a.icon &&
{renderIcon(a.icon)}
}\n {a.label}\n \n \n\n {a.id == 4 && }\n
\n ))}\n \n )} */}\n\n {children &&
{children}
}\n \n );\n};\n","import { useSystemStore } from \"components/PageHeader/systemStore\";\nimport Image from \"next/image\";\nimport React from \"react\";\n\ntype Props = {\n size?: number;\n color?: string;\n className?: string;\n};\n\nexport const IconBell: React.FC = ({\n size = 14,\n color = \"#FFFFFF\",\n className = \"fill-purple80_to_white\",\n}) => {\n const theme = useSystemStore((state) => state.theme);\n\n return (\n \"notif\"\n\n );\n};\n","import { Dropdown } from \"components/Dropdown/Dropdown\";\nimport { IconBell } from \"components/Icon/IconBell\";\nimport { trackEvent } from \"lib/amplitude\";\nimport { useIsSubdomain, useIsTenant } from \"lib/host\";\nimport { useAuthStore } from \"modules/Auth/authStore\";\nimport { useGetNotificationApi } from \"modules/Home/homeApi\";\nimport NotificationContent from \"modules/Notification/NotificationContent\";\nimport { useNotifStore } from \"modules/Notification/notifStore\";\nimport Link from \"next/link\";\nimport { useRouter } from \"next/router\";\nimport React, { useEffect, useRef, useState } from \"react\";\n\ntype Props = {\n isShowPopupNotif?: boolean;\n setIsShowPopupNotif?: (item: boolean) => void;\n className?: string;\n isIconTransparent?: boolean;\n};\n\nexport const NotificationComponent: React.FC = ({\n isShowPopupNotif,\n setIsShowPopupNotif,\n className = \"\",\n isIconTransparent = false,\n}) => {\n const isDesktop = typeof window !== \"undefined\" && window.innerWidth > 720;\n const isTenantURL = useIsTenant();\n const isSubdomainTenant = useIsSubdomain();\n const router = useRouter();\n const { loginState } = useAuthStore((state) => ({\n loginState: state.loginState,\n }));\n\n const notifications = useGetNotificationApi();\n // const isMounted = useRef(false);\n const { allNotification, setAllNotif } = useNotifStore((state) => ({\n allNotification: state.allNotification,\n setAllNotif: state.setAllNotif,\n }));\n\n useEffect(() => {\n if (loginState == \"LOGIN\") {\n notifications.doFetch(\n {},\n {\n onSuccess(res) {\n setAllNotif(res as any);\n },\n onError(err) {},\n }\n );\n }\n }, []);\n\n const trackEventClick = () => {\n const eventProperty = {\n page: router.pathname,\n is_opened: !isShowPopupNotif,\n total_unread_message: allNotification?.totalUnread,\n };\n\n trackEvent({\n event: \"notification_open_a\",\n property: eventProperty,\n });\n };\n\n const onClickNotification = () => {\n setIsShowPopupNotif(!isShowPopupNotif);\n trackEventClick();\n };\n\n const [timeoutNotif, setTimeoutNotif] = useState(null);\n\n const events = {\n event: \"notification_hover_a\",\n property: {\n page: router?.pathname,\n },\n };\n\n const mouseLeaveHandler = () => {\n if (!isDesktop) return;\n \n if (timeoutNotif) {\n clearTimeout(timeoutNotif);\n }\n \n const timeout = setTimeout(() => {\n setIsShowPopupNotif(false);\n }, 200);\n \n setTimeoutNotif(timeout);\n };\n \n const mouseEnterHandler = () => {\n if (!isDesktop) return;\n \n if (timeoutNotif) {\n clearTimeout(timeoutNotif);\n }\n \n setIsShowPopupNotif(true);\n \n const timeout = setTimeout(() => {\n trackEvent({ ...(events as any) });\n }, 1000);\n \n setTimeoutNotif(timeout);\n }; \n\n const colorIcon = isIconTransparent ? \"#551FC1\" : \"#FFFFFF\";\n return (\n \n
\n \n \n\n {allNotification?.totalUnread !== \"0\" && (\n
\n {allNotification?.totalUnread}\n
\n )}\n\n \n \n \n
\n \n \n );\n};\n","import React from \"react\";\n\ntype Props = {\n size?: number;\n};\n\nconst IconLogoTextWhite: React.FC = ({ size = 48 }) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default IconLogoTextWhite;\n","import { useEffect, useState } from \"react\";\nimport Button from \"components/Button\";\nimport { IconBell } from \"components/Icon/IconBell\";\nimport IconLogoTextWhite from \"components/Icon/IconLogoTextWhite\";\nimport { SkeletonCircle, SkeletonWrapper } from \"components/Skeleton/Skeleton\";\nimport { trackEvent } from \"lib/amplitude\";\nimport { useAuthStore } from \"modules/Auth/authStore\";\nimport { IconSearch } from \"components/Icon/IconSearch\";\nimport Link from \"next/link\";\nimport { useGetNotificationApi } from \"./homeApi\";\nimport { getCookie, isCustomDomain } from \"lib/helper\";\nimport {\n getSubDomain,\n isJambiURL,\n isMalukuURL,\n isMuaroJambiURL,\n isPesawaranURL,\n isTrenggalekURL,\n useIsBusiness,\n useIsSubdomain,\n useIsTenant,\n} from \"lib/host\";\nimport { GoKampusLogo } from \"components/PageHeader/PageHeaderDesktop\";\nimport { useRouter } from \"next/router\";\nimport { isBrowser } from \"lib/ssr\";\nimport InputSwitch from \"components/Form/InputSwitch\";\nimport { Dropdown } from \"components/Dropdown/Dropdown\";\nimport { ModalSearchBox } from \"components/InstantSearchBox/ModalSearchBox\";\nimport FieldSearch from \"components/Form/FieldSearch\";\nimport { IconLogo } from \"components/Icon/IconLogo\";\nimport { HomeLogo } from \"./HomeLogo\";\nimport useTranslation from \"next-translate/useTranslation\";\nimport { NotificationComponent } from \"modules/Notification\";\nimport Images from \"next/image\";\nimport { BackButton } from \"components/PageHeader/BackButton\";\nimport { useRedirectPreviousPath } from \"modules/Auth/authHooks\";\nimport { useSystemStore } from \"components/PageHeader/systemStore\";\nimport ToggleDarkMode from \"components/Form/ToggleDarkMode\";\n\nexport const HomeHeader = ({ isTransparent }) => {\n const { loginState, currentUser } = useAuthStore((state) => ({\n loginState: state.loginState,\n currentUser: state.currentUser,\n }));\n const [show, setShow] = useState(false);\n const [isShowPopupNotif, setIsShowPopupNotif] = useState(false);\n const isTenant = useIsTenant();\n const notifications = useGetNotificationApi();\n const isSubdomainTenant = useIsSubdomain();\n const isTenantURL = useIsTenant();\n const isBusinessURL = useIsBusiness();\n const router = useRouter();\n const isLMS = router.pathname.includes(\"/course/[courseSlug]\");\n const { t } = useTranslation(\"common\");\n\n const subDomain = isBrowser() ? getSubDomain(window.location.hostname) : null;\n // Condition for wavemaker\n const isShowLanguageToggle = subDomain == \"wavemaker\" ? true : false;\n\n useEffect(() => {\n // not fetch api notif exclude main website\n //\n // Arthur: Disabled this because double call\n // if (\n // loginState == \"LOGIN\" &&\n // !isSubdomainTenant &&\n // !isTenantURL &&\n // !isBusinessURL\n // ) {\n // notifications.doFetch({});\n // }\n }, [loginState]);\n\n const { locale, locales, asPath, push } = router;\n //@ts-ignore\n const otherLocale = locales?.find((cur) => cur !== locale);\n\n const changeLanguage = () => {\n trackEvent({\n event: \"language_a\",\n property: {\n changed_to: otherLocale,\n },\n });\n //@ts-ignore\n push(asPath, undefined, { locale: otherLocale });\n };\n // only query on preview LMS on moodle to bottom tabs contents\n const usePreview = router?.query?.usePreview == \"true\";\n\n const renderUser = () => {\n switch (loginState) {\n case \"IDLE\":\n case \"LOADING\":\n return (\n \n \n \n );\n\n case \"NOT_LOGIN\":\n return (\n {\n trackEvent({\n event: \"homepage_signup_a\",\n });\n }}\n >\n \n Daftar\n \n \n );\n case \"LOGIN\":\n const initialName = currentUser?.name\n ? currentUser?.name[0].toUpperCase() ?? \"U\"\n : currentUser?.email\n ? currentUser?.email[0].toUpperCase() ?? \"U\"\n : \"U\";\n const ButtonProfile = (\n
\n
\n {/* {((isTenantURL && !isSubdomainTenant) ||\n isShowLanguageToggle) && (\n \n )} */}\n {(!isTenantURL || isSubdomainTenant) && (\n
\n {initialName}\n
\n )}\n
\n\n {(!isTenantURL || isSubdomainTenant) && (\n
\n );\n\n return ButtonProfile;\n\n default:\n null;\n }\n };\n\n const totalUnreadMessage = notifications?.data?.totalUnread;\n\n const renderNotifications = () => {\n if (loginState == \"LOGIN\") {\n // Arthur: Disabled this because double call\n // return (\n // \n // );\n }\n };\n\n const isB2B = useIsTenant() || useIsSubdomain();\n const renderSearch = () => {\n return (\n {\n trackEvent({\n event: \"homepage_search_a\",\n });\n }}\n // @ts-ignore\n href={isB2B ? \"/search\" : \"/explore\"}\n >\n \n \n );\n };\n\n const trackNavbar = (type: string) => {\n trackEvent({\n event: \"nav_a\",\n property: {\n button_type: type,\n page: router.pathname,\n },\n });\n };\n\n const referralCode =\n getCookie(\"ref_code_gk\") && getCookie(\"ref_code_gk\") !== \"null\"\n ? getCookie(\"ref_code_gk\")\n : typeof window !== \"undefined\"\n ? new URLSearchParams(window.location.search).get(\"referral\")\n : \"\";\n\n // only for maluku tenant\n const isMalukuTenant =\n typeof window !== \"undefined\" && isMalukuURL(window.location.hostname);\n const isPesawaranTenant =\n typeof window !== \"undefined\" && isPesawaranURL(window.location.hostname);\n const isTrenggalekTenant =\n typeof window !== \"undefined\" && isTrenggalekURL(window.location.hostname);\n const isMuaroJambiTenant =\n typeof window !== \"undefined\" && isMuaroJambiURL(window.location.hostname);\n const isJambiKotaTenant =\n typeof window !== \"undefined\" && isJambiURL(window.location.hostname);\n\n const [theme] = useSystemStore((state) => [state.theme]);\n\n return (\n
\n {isLMS ? (\n
\n router.push(\"/\") : undefined}\n />\n {/* {isMalukuTenant ? (\n router.push(\"/\")} />\n ) : (\n trackNavbar(\"goKampus Logo\") : undefined\n }\n >\n \n \n )} */}\n\n
\n setShow(true)}\n placeholder={\n useIsTenant() ? t(\"searchCoursesTruncate\") : t(\"searchCourses\")\n }\n isShow={show}\n setModal={(a) => setShow(a)}\n classWidth=\"w-full\"\n />\n
\n\n setShow(false)} />\n
\n ) : (\n
\n trackNavbar(\"goKampus Logo\") : undefined\n }\n >\n {!isTransparent ? (\n // NOTE: Anies check again, this is only to fixed venteny issue\n <>\n {isMalukuTenant ? (\n <>\n {theme == \"light\" && (\n \n )}\n\n {theme == \"dark\" && (\n \n )}\n \n ) : isPesawaranTenant ? (\n \n ) : isTrenggalekTenant ? (\n // || referralCode == \"trenggalekkab\"\n \n ) : isMuaroJambiTenant ? (\n \n ) : isJambiKotaTenant ? (\n \n ) : (\n \n )}\n \n ) : (\n \n )}\n \n
\n {/* TEMPORARY HIDE */}\n {/* {isTenantURL || isSubdomainTenant ? (\n \n ) : null} */}\n \n {!usePreview && renderNotifications()}\n {renderSearch()}\n
\n
\n )}\n
\n );\n};\n","import createStore from \"zustand\";\n\nexport type ModalStore = {\n // state\n isShow: boolean | false;\n isShowModal: boolean;\n\n // actions\n showModalReferral: (item: boolean) => void;\n closeModalReferral: () => void;\n openModal: (value: boolean) => void;\n};\n\nexport const useModalStore = createStore((set) => ({\n // state\n isShow: false,\n isShowModal: false,\n\n // actions\n showModalReferral(item) {\n set({ isShow: item });\n },\n closeModalReferral() {\n set({ isShow: false });\n },\n openModal(value) {\n set({ isShowModal: value });\n },\n}));\n","import { useSystemStore } from \"components/PageHeader/systemStore\";\nimport { useTabsStore } from \"components/Tabs/tabsStore\";\nimport { useIsDesktop } from \"lib/device\";\nimport { useJPTrackers } from \"modules/Tenant/homeTenantApi\";\nimport { useLearningHourStore } from \"modules/Tenant/learningHourStore\";\nimport Image from \"next/image\";\nimport { useRouter } from \"next/router\";\nimport { useEffect, useState } from \"react\";\n\nexport default function JpChip() {\n const userLearningHour = useJPTrackers();\n const { learningHour, setLearningHour } = useLearningHourStore();\n const [jpInfo, setJpInfo] = useState(false);\n const { setSelectedTab } = useTabsStore();\n const [theme] = useSystemStore((state) => [state.theme]);\n const isDesktop = useIsDesktop();\n const router = useRouter();\n\n useEffect(() => {\n userLearningHour.doFetch(\n {},\n {\n onSuccess(data: any) {\n setLearningHour(data?.data?.learning_hours);\n },\n onError(err) {\n const error: any = err.getActualType();\n console.log(error);\n },\n }\n );\n }, []);\n\n return (\n
\n setJpInfo(true) : () => {}\n }\n onMouseLeave={\n isDesktop ? () => setJpInfo(false) : () => {}\n }\n className=\"cursor-pointer px-[14px] py-[8px] rounded-100 flex gap-8 items-center justify-center text-b1 text-purple60_to_dark10 bg-purple05_to_dark80\"\n onClick={() => {\n setSelectedTab({\n id: \"kursus-selesai\",\n label: \"Kursus Selesai\",\n title: \"Kursus yang Kamu Ambil\",\n value: \"finished\",\n });\n\n router.replace({\n pathname: \"/my-class\",\n query: {\n tabId: \"kursus-selesai\",\n },\n });\n }}\n >\n {theme === \"dark\" ? (\n \n ) : (\n \n )}\n \n {learningHour} JP\n \n
\n\n {jpInfo && (\n \n Progress Belajar : {learningHour} JP\n \n )}\n \n )\n}","import { ContainerDesktop } from \"components/Container\";\nimport Link from \"next/link\";\nimport React, { ReactNode, useState, useEffect, useRef } from \"react\";\nimport Button from \"components/Button\";\nimport { useAuthStore } from \"modules/Auth/authStore\";\nimport {\n SkeletonCircle,\n SkeletonRect,\n SkeletonWrapper,\n} from \"components/Skeleton/Skeleton\";\nimport { trackEvent, trackEventGA, trackEventGTM } from \"lib/amplitude\";\nimport { useRouter } from \"next/router\";\nimport { useIsDesktop } from \"lib/device\";\nimport {\n getSubDomain,\n isBlueBirdURL,\n isBankingURL,\n isGokAresURL,\n isJambiURL,\n isMalukuURL,\n isMenkesURL,\n isMenpanURL,\n isMuaroJambiURL,\n isPesawaranURL,\n isPpdsmAparaturURL,\n isTrenggalekURL,\n isWonderfulLearningURL,\n useIsSubdomain,\n useIsTenant,\n isSubdomainBluebird,\n} from \"lib/host\";\nimport InstantSearchBox from \"components/InstantSearchBox/InstantSearchBox\";\nimport useTranslation from \"next-translate/useTranslation\";\nimport Images from \"next/image\";\nimport { HomeLogo } from \"modules/Home/HomeLogo\";\nimport { NotificationComponent } from \"modules/Notification\";\nimport { isBrowser } from \"lib/ssr\";\nimport { generateIndexName } from \"lib/algolia\";\nimport { HomeHeader } from \"modules/Home/HomeHeader\";\nimport { IconSearch } from \"components/Icon/IconSearch\";\nimport { CONST } from \"lib/const\";\nimport ToggleDarkMode from \"components/Form/ToggleDarkMode\";\nimport { useSystemStore } from \"./systemStore\";\nimport { useModalStore } from \"components/Modal/modalStore\";\nimport { useSearchStore } from \"components/InstantSearchBox/searchStore\";\nimport { useJPTrackers } from \"modules/Tenant/homeTenantApi\";\nimport { useLearningHourStore } from \"modules/Tenant/learningHourStore\";\nimport { useTabsStore } from \"components/Tabs/tabsStore\";\nimport { getCookie } from \"lib/helper\";\n// import PoinChip from \"components/Chip/PoinChip\";\nimport Image from \"next/image\";\nimport IconUser from \"components/Icon/IconUser\";\nimport { IconStatus } from \"components/Icon/IconStatus\";\nimport { IconLock } from \"components/Icon/IconLock\";\nimport IconSignOutAlt from \"components/Icon/IconSignOutAlt\";\nimport IconApperance from \"components/Icon/IconApperance\";\nimport JpChip from \"components/Chip/JpChip\";\n\nconst menus = [\n // {\n // href: {\n // pathname: \"/\",\n // },\n // text: \"Home\",\n // },\n {\n href: {\n //@ts-ignore\n pathname: \"/explore\",\n },\n text: \"Eksplor\",\n },\n {\n href: {\n pathname: \"/my-class\",\n },\n text: \"Kelas Saya\",\n },\n // {\n // href: {\n // pathname: \"#courses\",\n // },\n // text: \"Kursus\",\n // },\n // {\n // href: {\n // pathname: \"/downloads\",\n // },\n // text: \"Downloads\",\n // },\n {\n //@ts-ignore\n href: \"https://business.gokampus.com?utm_source=gokampus&utm_medium=textlink-header\",\n text: \"goKampus Business\",\n },\n];\n\nconst newMenus = [\n // {\n // href: {\n // pathname: \"/\",\n // },\n // text: \"Home\",\n // },\n {\n href: {\n //@ts-ignore\n pathname: \"/explore\",\n },\n text: \"Eksplor\",\n },\n {\n href: {\n pathname: \"/my-class\",\n },\n text: \"Kelas Saya\",\n },\n // {\n // href: {\n // pathname: \"#courses\",\n // },\n // text: \"Kursus\",\n // },\n {\n href: {\n pathname: \"/dashboard\",\n },\n text: \"Dashboard\",\n },\n // {\n // href: {\n // pathname: \"/downloads\",\n // },\n // text: \"Downloads\",\n // },\n {\n //@ts-ignore\n href: \"https://business.gokampus.com?utm_source=gokampus&utm_medium=textlink-header\",\n text: \"goKampus Business\",\n },\n];\n\nconst useOutsideClick = (callback: () => void) => {\n const ref = React.useRef();\n\n React.useEffect(() => {\n const handleClick = (event: any) => {\n if (ref.current && !(ref.current as any)?.contains(event.target)) {\n callback();\n }\n };\n\n document.addEventListener(\"click\", handleClick, true);\n\n return () => {\n document.removeEventListener(\"click\", handleClick, true);\n };\n }, [ref]);\n\n return ref;\n};\n\nexport const PageHeaderDesktop: React.FC<{\n headerRef?: any;\n children?: ReactNode;\n isTransparent?: boolean;\n hideSearchbar?: boolean;\n onChangeSearch?: () => void;\n}> = ({\n headerRef,\n children,\n isTransparent,\n onChangeSearch,\n hideSearchbar = false,\n}) => {\n const { loginState, currentUser } = useAuthStore((state) => ({\n loginState: state.loginState,\n currentUser: state.currentUser,\n }));\n const [theme] = useSystemStore((state) => [state.theme]);\n const isSubdomainTenant = useIsSubdomain();\n const isB2B = useIsSubdomain() || useIsTenant();\n const isDesktop = useIsDesktop();\n const router = useRouter();\n const isLMS = router.pathname.includes(\"/course/[courseSlug]\");\n const [LINKS, setLinks] = useState([]);\n const { indexName, setIndexName } = useSearchStore();\n const [showLeaderboard, setShowLeaderboard] = useState(false);\n\n const isGokAresTenant =\n typeof window !== \"undefined\" && isGokAresURL(window.location.hostname);\n\n const tenantJpTracker =\n (currentUser?.tenant !== undefined &&\n [\n \"ppsdmaparatur\",\n // \"menpan\",\n // \"wonderfullearning\",\n \"kemkes\",\n // \"tapinkab\",\n // \"bssn\",\n // \"bkpsdm-bekasikota\",\n // \"maluku-gate\",\n // \"trenggalekkab\",\n // \"bpsdm-sumbar\",\n // \"bpsdm-sulsel\",\n // \"bpsdm-jambi\",\n // \"bpsdmdki\",\n // \"jambikota\",\n // \"muarojambikab\",\n // \"pesawarankab\",\n // \"batam\",\n // \"pusdiklat-komdigi\",\n // \"pusdiklat-kemenkeu\",\n \"kemenperin\",\n ].includes((currentUser?.tenant as any)?.slug)) ||\n [\n \"ppsdmaparatur\",\n // \"menpan\",\n // \"wonderfullearning\",\n \"kemkes\",\n // \"tapinkab\",\n // \"bssn\",\n // \"bkpsdm-bekasikota\",\n // \"maluku-gate\",\n // \"trenggalekkab\",\n // \"bpsdm-sumbar\",\n // \"bpsdm-sulsel\",\n // \"bpsdm-jambi\",\n // \"bpsdmdki\",\n // \"jambikota\",\n // \"muarojambikab\",\n // \"pesawarankab\",\n // \"batam\",\n // \"pusdiklat-komdigi\",\n // \"pusdiklat-kemenkeu\",\n \"kemenperin\",\n ].includes(currentUser?.referral);\n\n // Allowing list of client to show leaderboard\n const clientLeaderboards = [\n \"kemenperin\",\n \"demoplus\",\n \"umkm\",\n \"desa\",\n \"wonderfullearning\",\n \"kapalapi\",\n \"ppsdmaparatur\",\n \"kemkes\",\n // \"bluebird\",\n ];\n\n const subDomain = isBrowser() ? getSubDomain(window.location.hostname) : null;\n const isTenantURL = useIsTenant();\n const { isShowModal } = useModalStore();\n\n // Condition for wavemaker\n const isShowLanguageToggle = subDomain == \"wavemaker\" ? true : false;\n\n useEffect(() => {\n let isAdmin = currentUser && currentUser?.role === \"Tenant Admin\";\n\n if (currentUser && isB2B && isAdmin) {\n setLinks(newMenus);\n } else {\n setLinks(menus);\n }\n }, [isSubdomainTenant, currentUser, isTenantURL]);\n\n const referralCode =\n getCookie(\"ref_code_gk\") && getCookie(\"ref_code_gk\") !== \"null\"\n ? getCookie(\"ref_code_gk\")\n : typeof window !== \"undefined\"\n ? new URLSearchParams(window.location.search).get(\"referral\")\n : \"\";\n\n useEffect(() => {\n let nameOfIndex;\n\n if (loginState === \"LOGIN\" && currentUser) {\n if (\n currentUser?.referral.includes(\"gaji-c\") &&\n currentUser?.referral != \"gaji-c0000117\"\n ) {\n nameOfIndex = generateIndexName(\"gaji\");\n } else if (\n currentUser?.referral.includes(\"gaji-c\") &&\n currentUser?.referral == \"gaji-c0000117\"\n ) {\n nameOfIndex = generateIndexName(currentUser?.referral);\n } else {\n nameOfIndex = generateIndexName(\n window.location.hostname === \"e-learning.bluebirdgroup.com\"\n ? \"bluebird\"\n : currentUser?.referral == \"bssn\"\n ? \"tapinkab\"\n : currentUser?.referral\n );\n }\n setIndexName(nameOfIndex);\n /// Show Leaderboard for freetrial & clientLeaderboards & dev only\n if (\n currentUser?.tenant?.status === \"Trial\" ||\n clientLeaderboards.includes(currentUser?.referral) ||\n CONST.IS_DEV ||\n (isB2B && currentUser?.referral !== \"bluebird\")\n ) {\n setShowLeaderboard(true);\n }\n } else {\n const nameOfIndex = generateIndexName(\n window.location.hostname === \"e-learning.bluebirdgroup.com\"\n ? \"bluebird\"\n : subDomain == \"bssn\"\n ? \"tapinkab\"\n : subDomain\n );\n setIndexName(nameOfIndex);\n }\n }, [currentUser, loginState, referralCode]);\n\n const labels = (a: any) => {\n let labelColor = {\n default: isTransparent ? \"text-white\" : \"text-neutral80_to_dark10\",\n selected: isTransparent ? \"text-white\" : \"text-purple-50\",\n };\n\n return router.pathname == a ? labelColor.selected : labelColor.default;\n };\n\n const ref = useOutsideClick(() => {\n setIsShowPopupNotif(false);\n });\n\n const [dataDropdown, setDataDropdown] = useState([\n {\n id: 1,\n label: \"Profil\",\n icon: \"user\",\n href: \"/account?id=profile\",\n },\n {\n id: 2,\n label: \"Status\",\n icon: \"status\",\n href: \"/account?id=status\",\n },\n {\n id: 3,\n label: \"Ganti Kata Sandi\",\n icon: \"lock\",\n href: \"/account?id=change-password\",\n },\n {\n id: 54,\n label: \"Keluar\",\n icon: \"sign-out\",\n href: \"/logout\",\n },\n ]);\n\n const renderIcon = (icon: string) => {\n switch (icon) {\n case \"user\":\n return ;\n case \"status\":\n return ;\n\n case \"lock\":\n return ;\n\n case \"sign-out\":\n return ;\n\n case \"apperance\":\n return ;\n default:\n return ;\n }\n };\n\n const timeoutRef = useRef(null);\n const [isShowed, setIsShowed] = useState(false);\n\n const handleMouseEnter = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n setIsShowed(true);\n };\n\n const handleMouseLeave = () => {\n timeoutRef.current = setTimeout(() => {\n setIsShowed(false);\n }, 200);\n };\n\n const renderUser = () => {\n switch (loginState) {\n case \"IDLE\":\n case \"LOADING\":\n return (\n \n \n \n );\n\n case \"NOT_LOGIN\":\n return (\n {\n trackEvent({\n event: \"homepage_signup_a\",\n });\n\n trackEventGTM({\n event: \"homepage_signup_a\",\n });\n\n trackEventGA({\n event: \"homepage_signup_a\",\n });\n }}\n >\n \n {isB2B ? t(\"login\") : t(\"register\")}\n \n \n );\n case \"LOGIN\":\n const ButtonProfile = (\n
\n
\n {(!isTenantURL || isSubdomainTenant) && (\n \n \n
\n )}\n
\n\n {(!isTenantURL || isSubdomainTenant) && isShowed && (\n \n {dataDropdown &&\n dataDropdown.length > 0 &&\n dataDropdown.map((a, index) => (\n \n \n \n {a.icon &&
{renderIcon(a.icon)}
}\n {a.label}\n \n \n\n {a.id == 4 && }\n \n ))}\n \n )}\n \n );\n return ButtonProfile;\n\n default:\n return <>;\n }\n };\n\n useEffect(() => {\n if (isShowLanguageToggle) {\n const { asPath, push } = router;\n // Change to English\n setTimeout(() => {\n // @ts-ignore\n push(asPath, undefined, { locale: \"en\" });\n }, 200);\n }\n }, [isShowLanguageToggle]);\n\n const [isShowPopupNotif, setIsShowPopupNotif] = useState(false);\n\n // only query on preview LMS on moodle to bottom tabs contents\n const usePreview = router?.query?.usePreview == \"true\";\n\n const trackNavbar = (type: string) => {\n trackEvent({\n event: \"nav_a\",\n property: {\n button_type: type,\n page: router.pathname,\n },\n });\n\n trackEventGTM({\n event: \"nav_a\",\n property: {\n button_type: type,\n page: router.pathname,\n },\n });\n\n trackEventGA({\n event: \"nav_a\",\n property: {\n button_type: type,\n page: router.pathname,\n },\n });\n };\n const { t } = useTranslation(\"common\");\n\n let placeHolder = \"Ingin belajar apa hari ini?\";\n if (isLMS)\n placeHolder = useIsTenant()\n ? t(\"searchCoursesTruncate\")\n : t(\"searchCourses\");\n\n // Desa configuration\n const isMalukuTenant =\n typeof window !== \"undefined\" && isMalukuURL(window.location.hostname);\n const isPesawaranTenant =\n typeof window !== \"undefined\" && isPesawaranURL(window.location.hostname);\n const isTrenggalekTenant =\n typeof window !== \"undefined\" && isTrenggalekURL(window.location.hostname);\n const isMuaroJambiTenant =\n typeof window !== \"undefined\" && isMuaroJambiURL(window.location.hostname);\n const isJambiKotaTenant =\n typeof window !== \"undefined\" && isJambiURL(window.location.hostname);\n\n const isBlueBirdTenant =\n typeof window !== \"undefined\" &&\n (isBlueBirdURL(window.location.hostname) ||\n isSubdomainBluebird(window.location.hostname));\n\n const isBankingTenant =\n typeof window !== \"undefined\" && isBankingURL(window.location.hostname);\n\n const { setSelectedTab } = useTabsStore();\n\n const combineRefs = (element) => {\n if (headerRef) {\n headerRef.current = element;\n }\n ref.current = element;\n };\n\n return (\n <>\n {isDesktop ? (\n \n {/* Dekstop Layout */}\n \n \n trackNavbar(\"goKampus Logo\") : undefined\n }\n >\n
\n {isMalukuTenant ? (\n <>\n {theme == \"light\" && (\n \n )}\n {theme == \"dark\" && (\n \n )}\n \n ) : isPesawaranTenant ? (\n \n ) : isTrenggalekTenant ? (\n \n ) : isMuaroJambiTenant ? (\n \n ) : isJambiKotaTenant ? (\n \n ) : isBlueBirdTenant ? (\n \n ) : isBankingTenant ? (\n \n ) : (\n <>\n {theme == \"dark\" ? (\n \n ) : (\n \n )}\n \n )}\n
\n \n {!usePreview && (\n \n {LINKS && LINKS.length\n ? LINKS.filter((a) =>\n isTenantURL || isSubdomainTenant\n ? ![\"Eksplor\", \"goKampus Business\"].includes(a.text)\n : a\n ).map((l, i) => {\n if (l.text.includes(\"Business\")) {\n return (\n trackNavbar(l.text)}\n rel=\"noopener noreferrer\"\n >\n \n

{l.text}

\n
\n

NEW

\n
\n \n \n );\n } else if (l.text == \"Kelas Saya\") {\n return (\n {\n if (loginState !== \"LOGIN\" && !isTenantURL) {\n router.push(\"/login\");\n } else {\n setSelectedTab({\n id: \"di-pelajari\",\n label: \"Dipelajari\",\n title: \"Lanjutkan Kursusmu\",\n value: \"on_progress\",\n });\n\n router.replace({\n pathname: \"/my-class\",\n query: {\n tabId: \"di-pelajari\",\n },\n });\n }\n }}\n className={\n \"whitespace-nowrap p-12 cursor-pointer \" +\n labels(l.href.pathname)\n }\n >\n {t(l.text)}\n \n );\n } else if (l.text === \"Kursus\") {\n const scrollTo = (id: string) => {\n const element = document.getElementById(id);\n if (element) {\n const elementPosition =\n element.getBoundingClientRect().top +\n window.scrollY;\n const offset = 70;\n\n window.scrollTo({\n top: elementPosition - offset,\n behavior: \"smooth\",\n });\n }\n };\n\n const handleScroll = () => {\n const { pathname } = router;\n\n if (pathname !== \"/\") {\n router.push(\"/\").then(() => {\n scrollTo(\"courses\");\n setTimeout(() => {\n scrollTo(\"corses\");\n }, 300);\n });\n } else {\n scrollTo(\"courses\");\n setTimeout(() => {\n scrollTo(\"courses\");\n }, 300);\n }\n };\n\n return (\n
\n \n {t(l.text)}\n
\n \n );\n } else {\n return (\n trackNavbar(l.text)}\n >\n \n {t(l.text)}\n \n \n );\n }\n })\n : null}\n \n )}\n \n \n {children ? (\n children\n ) : isTenantURL || isSubdomainTenant ? (\n loginState == \"LOGIN\" ? (\n
\n {indexName && (\n \n )}\n\n {(tenantJpTracker || isGokAresTenant) && }\n\n {/* {currentUser?.referral !== \"bluebird\" && (\n \n )} */}\n\n {/* {showLeaderboard ? renderLeaderboard() : null} */}\n {/* */}\n\n {/* {currentUser?.referral !== \"bluebird\" && (\n \n )} */}\n\n
\n\n \n\n \n\n {renderUser()}\n
\n ) : (\n
\n {indexName && (\n \n )}\n {renderUser()}\n
\n )\n ) : (\n
\n \n\n {/* add load condition based on login state when rendering */}\n {\n {\n LOGIN: (\n <>\n \n {renderUser()}\n \n ),\n LOADING: (\n \n {[1, 2].map((el) => (\n \n ))}\n \n ),\n NOT_LOGIN: (\n <>\n \n \n {t(\"login\")}\n \n \n \n \n Daftar\n \n \n \n ),\n }[loginState]\n }\n
\n )}\n \n \n \n ) : (\n <>\n {!isLMS && (\n \n {/* Mobile Layout */}\n
\n
\n \n
\n
\n \n )}\n \n )}\n \n );\n};\n\nexport const GoKampusLogo: React.FC<{ useWhite?: boolean }> = ({\n useWhite = false,\n}) => {\n if (useWhite) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } else {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n};\n","import createStore from \"zustand\";\n\n// Custom data tabs by \"id\" props\nexport const tabsData = {\n MyClass: [\n {\n id: \"di-pelajari\",\n label: \"Dipelajari\",\n title: \"Lanjutkan Kursusmu\",\n value: \"on_progress\",\n },\n {\n id: \"kursus-selesai\",\n label: \"Kursus Selesai\",\n title: \"Kursus yang Kamu Ambil\",\n value: \"finished\",\n },\n // { id: \"riwayat-transaksi\", label: \"Riwayat Transaksi\", title: \"\", value: null },\n ],\n MyClassPlus: [\n {\n id: \"di-pelajari\",\n label: \"Dipelajari\",\n title: \"Lanjutkan Kursusmu\",\n value: \"on_progress\",\n },\n {\n id: \"kursus-selesai\",\n label: \"Kursus Selesai\",\n title: \"Kursus yang Kamu Ambil\",\n value: \"finished\",\n },\n ],\n};\n\nexport type TabItem = {\n id?: string;\n label?: string;\n title?: string;\n value?: string;\n};\n\nexport type TabsStore = {\n // state\n selectedTab: TabItem;\n currentData: TabItem[];\n\n // actions\n setSelectedTab: (tab: TabItem) => void;\n setCurrentData: (id: string) => void;\n};\n\nexport const useTabsStore = createStore((set) => ({\n // initial state\n currentData: [],\n selectedTab: {},\n\n // actions\n setSelectedTab(tab) {\n set({\n selectedTab: tab ? tab : tabsData[0],\n });\n },\n setCurrentData(id) {\n set({\n currentData: tabsData[id],\n });\n },\n}));\n","import { useApi } from \"lib/apiFetcher\";\n\nexport const useHomeFeaturedInstitution = () =>\n useApi(\"get\", \"/featured-institution\");\nexport const useHomeTopInstitutions = () => useApi(\"get\", \"/top-institutions\");\nexport const useHomeFeaturedCategories = () =>\n useApi(\"get\", \"/featured-categories\");\nexport const useHomeYourInfo = () => useApi(\"get\", \"/static-pages\");\nexport const useHomeRecommendation = () => useApi(\"get\", \"/recomended-courses\");\nexport const useMyClass = () => useApi(\"get\", \"/profile/my-class\");\n\n//@ts-ignore\nexport const useHomepageCourse = () => useApi(\"get\", \"/homepage-course\");\nexport const useHomepageDetailCourse = (additionalKey: string) =>\n useApi(\"get\", \"/homepage-course/{slug}\", additionalKey);\n\n// ======== Notification API ======== //\nexport const useGetNotificationApi = () => useApi(\"get\", \"/notification\");\n","import { useTrackScreen } from \"lib/amplitude\";\nimport Container, { ContainerDesktop } from \"components/Container\";\nimport { PageHeader } from \"components/PageHeader/PageHeader\";\nimport FieldWithBorder from \"components/Form/FieldWithBorder\";\nimport { CardNotFound } from \"components/Card/CardNotFound\";\nimport Link from \"next/link\";\nimport { trackEvent } from \"lib/amplitude\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { useGetNotificationApi } from \"modules/Home/homeApi\";\nimport Button from \"components/Button\";\nimport { useIsDesktop } from \"lib/device\";\nimport { PageHeaderDesktop } from \"components/PageHeader/PageHeaderDesktop\";\nimport { useRouter } from \"next/router\";\nimport { MoonLoader } from \"react-spinners\";\nimport { useNotifStore } from \"./notifStore\";\nimport { paths } from \"lib/__generatedApiSpec\";\nimport { OpReturnType } from \"openapi-typescript-fetch\";\nimport { generateParams } from \"lib/helper\";\nimport { useSystemStore } from \"components/PageHeader/systemStore\";\n\ntype NotifData = OpReturnType;\n\nexport const NOTIF_PER_PAGE = 7;\n\nconst NotificationContent: React.FC<{\n theme?: string;\n isDropdown?: boolean;\n}> = ({ theme = \"\", isDropdown = false }) => {\n const themeMode = useSystemStore((state) => state.theme);\n const notifApi = useGetNotificationApi();\n const [currData, setCurrData] = useState(null);\n const [allNotif, setAllNotif] = useState(null);\n const [page, setPage] = useState(1);\n const [isLoader, setIsLoader] = useState(true);\n\n const { allNotification, setAllNotifStore } = useNotifStore((state) => ({\n allNotification: state.allNotification,\n setAllNotifStore: state.setAllNotif,\n }));\n\n const isMounted = useRef(false);\n const notFoundProps = {\n title: \"Tidak Ada Notifikasi\",\n message: \"Setiap notifikasi baru akan muncul di halaman ini\",\n };\n\n //@ts-ignore\n const refactorNotifData = (arr: NotifData[\"data\"]) => {\n setCurrData(arr);\n const allRefactorNotif =\n arr && arr.length > 0\n ? arr.map((el) => {\n return {\n id: el.id,\n title: el.updated_at,\n description: el.notification.title,\n slug: el.notification?.slug || el.notification?.id || \"\",\n tag: {\n code: el.notification_type.code,\n type: el.notification_type.name,\n isActive: !el.is_read,\n },\n };\n })\n : [];\n\n setAllNotif(isDropdown ? allRefactorNotif.slice(0, 4) : allRefactorNotif);\n setIsLoader(false);\n };\n\n useEffect(() => {\n if (isMounted.current) {\n setTimeout(() => {\n if (allNotification) {\n // console.log(\"allNotification:\", allNotification);\n refactorNotifData(allNotification.data);\n }\n }, 2000);\n } else {\n isMounted.current = true;\n }\n }, [allNotification]);\n\n const isDesktop = useIsDesktop();\n const router = useRouter();\n\n const isUsingButtonViewAll =\n isDesktop && isDropdown && allNotif && allNotif.length > 0;\n\n const onClickLoadMore = () => {\n trackEvent({\n event: \"notification_more_a\",\n });\n\n notifApi.doFetch(\n {\n limit: NOTIF_PER_PAGE,\n page: page + 1,\n },\n {\n onSuccess(data) {\n setPage((p) => p + 1);\n const all = [...currData, ...data?.data];\n setCurrData(all);\n refactorNotifData(all);\n },\n }\n );\n };\n\n return (\n \n {isLoader ? (\n
\n \n
\n ) : (\n <>\n {isDropdown && isDesktop && (\n
\n Notifikasi\n
\n )}\n\n {allNotif && allNotif.length > 0 ? (\n allNotif.map((elm) => {\n let utmQueries = {\n utm_source: \"in-app\",\n utm_medium: \"notification-page\",\n utm_campaign: elm.description,\n };\n let queries = {};\n\n switch (elm.tag.code) {\n case \"transaction\":\n queries = {\n pathname: \"/transactions/[id]\",\n query: {\n ...utmQueries,\n id: elm.slug,\n notificationId: elm.id,\n url: \"notification\",\n },\n };\n break;\n\n case \"special-course\":\n queries = {\n pathname: \"/course/[courseSlug]\",\n query: {\n ...utmQueries,\n courseSlug: elm.slug,\n notificationId: elm.id,\n },\n };\n break;\n\n case \"course\":\n (utmQueries as any).courseSlug = elm.slug;\n (utmQueries as any).notificationId = elm.id;\n const param = generateParams(utmQueries);\n queries = {\n pathname: \"/r/[page]\",\n query: {\n ...utmQueries,\n page: `/course/${elm.slug}?${param}`,\n },\n };\n break;\n\n default:\n queries = {\n pathname: \"/notification/[notificationSlug]\",\n query: {\n ...utmQueries,\n notificationSlug: elm.slug,\n notificationId: elm.id,\n url: \"notification\",\n },\n };\n break;\n }\n return (\n {\n trackEvent({\n event: \"notification_message_a\",\n property: {\n type: elm.tag.type,\n slug: elm.slug,\n },\n });\n }}\n href={queries}\n >\n {/* @ts-ignore */}\n \n \n );\n })\n ) : (\n
\n \n
\n )}\n\n {(allNotification as any)?.meta?.last_page > page && !isDropdown ? (\n
\n \n Muat Lebih Banyak\n \n
\n ) : (\n <>\n )}\n\n {isUsingButtonViewAll && (\n {\n router.push({\n pathname: \"/notification\",\n });\n }}\n size={isDesktop ? \"large\" : \"small\"}\n >\n Lihat Semua Notifikasi\n \n )}\n \n )}\n \n );\n};\n\nexport default NotificationContent;\n","import createStore from \"zustand\";\nimport { paths } from \"lib/__generatedApiSpec\";\nimport { OpReturnType } from \"openapi-typescript-fetch\";\n\ntype NotifData = OpReturnType;\n\nexport type NotifStore = {\n // state\n allNotification: NotifData;\n\n // actions\n setAllNotif: (data: any) => void;\n};\n\nexport const useNotifStore = createStore((set) => ({\n // state\n allNotification: [],\n\n // actions\n setAllNotif(data) {\n set({ allNotification: data });\n },\n}));\n","import createStore from \"zustand\";\n\nexport type LearningHourStore = {\n // state\n learningHour: string;\n courseLearningHour: string;\n\n // actions\n setLearningHour: (item: string) => void;\n setCourseLearningHour: (item: string) => void;\n};\n\nexport const useLearningHourStore = createStore((set) => ({\n // state\n learningHour: \"\",\n courseLearningHour: \"\",\n\n // actions\n setLearningHour(item) {\n set({ learningHour: item });\n },\n setCourseLearningHour(item) {\n set({ courseLearningHour: item });\n },\n}));\n"],"names":["onChangeSearch","text","placeholder","position","theme","handleClick","submitSearch","indexName","isShow","setModal","classWidth","router","useRouter","div","className","IconSearch","size","color","default","white","form","onSubmit","e","preventDefault","input","onFocus","trackEventGTM","event","property","page","pathname","trackEventGA","themeBorder","type","ModalSearchBox","onClose","push","onChange","id","checked","selected","isSwitch","onUpdateTheme","allThemes","setTheme","setAllTheme","useSystemStore","state","console","log","useEffect","dark_mode","label","htmlFor","onClick","oppositeTheme","localStorage","setItem","IconSun","IconMoon","find","a","active","light","img","src","alt","width","height","dark","system","svg","viewBox","fill","xmlns","path","d","stroke","stroke-linecap","stroke-linejoin","IconLock","IconStatus","title","props","t","useTranslation","Modal","contentClassName","InstantSearchBox","useIsTenant","contentClass","focus","events","onBackHeader","fill-rule","clip-rule","Dropdown","children","included","dataDropdown","setDataDropdown","useState","DropdownJSON","useAuthLogoutApi","useAuthStore","role","aria-orientation","aria-labelledby","tabIndex","IconBell","Image","NotificationComponent","isShowPopupNotif","setIsShowPopupNotif","isIconTransparent","isDesktop","window","innerWidth","isTenantURL","isSubdomainTenant","useIsSubdomain","loginState","notifications","useGetNotificationApi","allNotification","setAllNotif","useNotifStore","doFetch","onSuccess","res","onError","err","trackEventClick","eventProperty","is_opened","total_unread_message","totalUnread","trackEvent","timeoutNotif","setTimeoutNotif","Link","href","onMouseEnter","clearTimeout","timeout","setTimeout","onMouseLeave","NotificationContent","isDropdown","HomeHeader","isTransparent","currentUser","show","setShow","useIsBusiness","isLMS","includes","isBrowser","getSubDomain","location","hostname","locale","locales","asPath","usePreview","cur","query","isB2B","data","isMalukuTenant","getCookie","URLSearchParams","search","get","isMalukuURL","isPesawaranTenant","isPesawaranURL","isTrenggalekTenant","isTrenggalekURL","isMuaroJambiTenant","isMuaroJambiURL","isJambiKotaTenant","isJambiURL","header","BackButton","backTo","undefined","FieldSearch","trackNavbar","button_type","IconLogoTextWhite","Images","HomeLogo","ToggleDarkMode","renderNotifications","useModalStore","createStore","set","isShowModal","showModalReferral","item","closeModalReferral","openModal","value","JpChip","userLearningHour","useJPTrackers","learningHour","setLearningHour","useLearningHourStore","jpInfo","setJpInfo","setSelectedTab","useTabsStore","useIsDesktop","learning_hours","error","getActualType","replace","tabId","span","menus","newMenus","PageHeaderDesktop","headerRef","hideSearchbar","LINKS","setLinks","setIndexName","useSearchStore","showLeaderboard","setShowLeaderboard","isGokAresTenant","isGokAresURL","tenantJpTracker","tenant","slug","referral","clientLeaderboards","subDomain","isShowLanguageToggle","isAdmin","referralCode","nameOfIndex","generateIndexName","status","CONST","labels","labelColor","ref","callback","React","current","contains","target","document","addEventListener","removeEventListener","useOutsideClick","icon","renderIcon","IconUser","IconSignOutAlt","IconApperance","timeoutRef","useRef","isShowed","setIsShowed","handleMouseEnter","handleMouseLeave","renderUser","SkeletonWrapper","SkeletonCircle","Button","variant","length","map","index","legacyBehavior","passHref","placeHolder","isBlueBirdTenant","isBlueBirdURL","isSubdomainBluebird","isBankingTenant","isBankingURL","combineRefs","element","style","zIndex","ContainerDesktop","GoKampusLogo","useWhite","filter","l","i","rel","p","scrollTo","getElementById","elementPosition","getBoundingClientRect","top","scrollY","offset","behavior","handleScroll","then","LOGIN","LOADING","el","SkeletonRect","NOT_LOGIN","isFull","tabsData","MyClass","MyClassPlus","currentData","selectedTab","tab","setCurrentData","useHomepageDetailCourse","additionalKey","useApi","NOTIF_PER_PAGE","themeMode","notifApi","currData","setCurrData","allNotif","setPage","isLoader","setIsLoader","setAllNotifStore","isMounted","refactorNotifData","arr","allRefactorNotif","updated_at","description","notification","tag","code","notification_type","name","isActive","is_read","slice","isUsingButtonViewAll","MoonLoader","loading","elm","utmQueries","utm_source","utm_medium","utm_campaign","queries","notificationId","url","courseSlug","param","generateParams","notificationSlug","FieldWithBorder","withTag","CardNotFound","message","meta","last_page","isLoading","limit","all","courseLearningHour","setCourseLearningHour"],"sourceRoot":""}